
    G@d                         d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ  ed	          Zd
ZdZ G d de          Zd Zedk    r e             dS dS )zShortcut Summary dialog    )
itemgetter)groupby)Qt)QFontQKeySequence)	QDialogQLabelQGridLayout	QGroupBoxQVBoxLayoutQHBoxLayoutQDesktopWidgetQScrollAreaQWidget)_)CONFzSpyder Keyboard ShortCuts      c                        e Zd ZdZddZd ZdS )ShortcutsSummaryDialoga  
    Dialog window listing the spyder and plugins shortcuts.

    It contains all the shortcuts available through iter_shortcuts
    function

    The shortcuts are dysplayed in different columns, and grouped by
    context (global, editor, console...)
    Nc                 	   t          j        | |           t          | _        |                                 \  }}t          t          |dz                      }t          t          |t                    t                    }|d|z  z
  |dz   z  }d}|                     |           t                      }|                    |           |                    d           t                      }|                    |           t                      }	|	                    |dz              |	                    d           t          | j                  }
|
                    t"          j                   |
                    |	           t)                      }d}d }t+          t-          t/          j                              t3          d          	          }|D ]\  }}t5          |          D ]\  }\  }}}|dk    rt7                      }|dk    r|dk    r|                    |           |dk    s|dk    rf|d
k    rd}t;          |                                          }|                    |           t?                      }|                     |           |dz  }t          |                                !                    d
d                    }|                    |           tE          |          #                    tD          j$                  }t          |          }|                    |           |                    ||d           |                    ||d           |dz  }||k    r,|                    |           |%                    |           d}|                    |           |&                                 |%                    |           tO                      | _(        | j(                             |           tS                      | _*        | j*        +                    | j(                   | ,                    t"          j-                   | .                    d           t7                      | _/        | j/                            |
           | j/                            | j*                   |                      | j/                   | 0                    dd||           d S )N)parentP   r   r   z{
            QDialog {
              margin:0px;
              padding:0px;
              border-radius: 2px;
            }T   r   )keyr   Global    gffffff?)1r   __init__SHORTCUTS_SUMMARY_TITLE_shortcuts_summary_titleget_screen_resolutionintroundmaxminMAX_FONT_SIZEMIN_FONT_SIZEsetStyleSheetr   setPointSizesetBoldr	   setAlignmentr   AlignCentersetFontr   r   sortedr   iter_shortcutsr   	enumerater   	addWidgetr   
capitalizer
   	setLayoutreplacer   toString
NativeText	addLayout
addStretchr   scroll_widgetr   scroll_area	setWidgetsetWindowFlagsFramelessWindowHintsetWindowOpacity_layoutsetGeometry)selfr   widthheight	font_sizeshortcuts_columnstyle
font_namesfont_keystr
font_titletitle_labelcolumns_layoutadded_shortcutsgroup	shortcuts__group_shortcutsicontextnamekeystrcolumn_layoutgroup_layout
label_namelabel_keystrs                            Hlib/python3.11/site-packages/spyder/plugins/shortcuts/widgets/summary.pyr   zShortcutsSummaryDialog.__init__)   s   f----(?% 2244vfrk**++	I}55}EE	"Q]2y"}E 	5!!!WW
	***4   gg  +++WW
	!,,,4   T:;;  000J'''
 %F4#6#8#899z!}}MMM	#, '	( '	(B.7.H.H &( &(**GT6"a''$/MMM 66o11!++E222 #a''166#~~w%g&8&8&:&:;;EMM*---#.==LOOL111 $q(O $DOO$5$5$=$=c3$G$GHH
"":...%f--66|7NOO%f~~$$[111&&z1a888&&|Q:::1$"&666!++E222",,];;;&'OM&(P 	&&&  """  /// %YY$$^444&==""4#5666 	B2333d### #}}{+++t/000t|$$$Auf-----    c                     t                      }|                    |                                          }|                                |                                fS )z3Return the screen resolution of the primary screen.)r   availableGeometryprimaryScreenrC   rD   )rB   widgetgeometrys      rZ   r"   z,ShortcutsSummaryDialog.get_screen_resolution   sK    !!++F,@,@,B,BCC~~!2!222r[   )N)__name__
__module____qualname____doc__r   r"    r[   rZ   r   r      sF         j. j. j. j.X3 3 3 3 3r[   r   c                      ddl m}   |             }t          d           }|                                 |                                 d S )Nr   )qapplication)spyder.utils.qthelpersrg   r   showexec_)rg   appdlg_shortcutss      rZ   testrm      sO    333333
,..C*400MIIKKKKKr[   __main__N)rd   operatorr   	itertoolsr   qtpy.QtCorer   
qtpy.QtGuir   r   qtpy.QtWidgetsr   r	   r
   r   r   r   r   r   r   spyder.config.baser   spyder.config.managerr   r    r'   r(   r   rm   ra   re   r[   rZ   <module>rv      sv                        * * * * * * * *2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 !           & & & & & & !788 z3 z3 z3 z3 z3W z3 z3 z3z   zDFFFFF r[   