
    JeA                         d Z ddlZddlmZ ddlmZmZmZmZm	Z	 ddl
mZ ddlmZ ddlmZmZ ddlmZ  G d	 d
e      Zy)zShortcut configuration page.    N)PYQT5)QHBoxLayoutQLabelQMessageBoxQPushButtonQVBoxLayout)PluginConfigPage)_)ShortcutFinderShortcutsTable)imac                   *    e Zd ZdZd Zd ZddZd Zy)ShortcutsConfigPageTc                 r    t         t        j                         _        t	         j                   j                  j
                         _        t        t        d             _	        t        t        d             _        t        t        d             _         j                   j                  _         j                  j                   j                  j                                 j                  j!                           j                  j                  j#                  t        d              j                  j%                  d       t'               }t)               }|j+                   j                         |j+                   j                         |j+                   j                         |j+                   j                         |j-                  |       |j+                   j                          j/                  |        j1                   j                   j                          j1                   j                   j                          j                  j2                  j4                  j7                  d fd	        j                  j8                  j7                   j:                         y )	N)
text_colorzSearch: zReset to default valueszHere you can browse the list of all available shortcuts in Spyder. You can also customize them by double-clicking on any entry in this table.z(Search for a shortcut in the table aboveTc                 (    j                  ||      S N)has_been_modified)i1i2rolesoptsectselfs        C/usr/lib/python3/dist-packages/spyder/plugins/shortcuts/confpage.py<lambda>z0ShortcutsConfigPage.setup_page.<locals>.<lambda>?   s    43I3Ic4     ) r   )r   r   MAIN_FG_COLORtabler   	set_regexfinderr   r
   label_finderr   	reset_btn	top_labelset_shortcut_datapluginget_shortcut_dataload_shortcutssetPlaceholderTextsetWordWrapr   r   	addWidget	addLayout	setLayoutsetTabOrderproxy_modeldataChangedconnectclickedreset_to_default)r   hlayoutvlayouts   `  r   
setup_pagezShortcutsConfigPage.setup_page   s   #DS5F5FG
$TZZ1E1EF"1Z=1$Q'@%AB % &' !KK



$$T[[%B%B%DE

!!#

,,89	;""4( --$..)$++,$++&$**%'"$..)wT[[1dnn5 	

**22	 	&&t'<'<=r   c                 8    | j                   j                          y r   )r    check_shortcuts)r   s    r   check_settingsz"ShortcutsConfigPage.check_settingsC   s    

""$r   c                    |s]t        j                  | t        d      t        d      t         j                  t         j                  z        }|t         j                  k(  ry| j
                  j                          | j
                  j                          | j                  j                          | j                          | j                  d       y)z?Reset to default values of the shortcuts making a confirmation.zShortcuts resetz'Do you want to reset to default values?NF)r   warningr
   YesNor'   reset_shortcutsapply_shortcutsr    r)   load_from_confset_modified)r   forceresets      r   r4   z$ShortcutsConfigPage.reset_to_defaultF   s    ''#$;<+..0	E &##%##%

!!#% r   c                     | j                   j                          | j                  j                          | j                  j	                  |       y r   )r    save_shortcutsr'   r@   
apply_conf)r   optionss     r   apply_settingsz"ShortcutsConfigPage.apply_settingsY   s4    

!!###%w'r   N)F)__name__
__module____qualname__APPLY_CONF_PAGE_SETTINGSr7   r:   r4   rI    r   r   r   r      s    #%>N%!&(r   r   )__doc__reqtpyr   qtpy.QtWidgetsr   r   r   r   r   spyder.api.preferencesr	   spyder.api.translationsr
   &spyder.plugins.shortcuts.widgets.tabler   r   spyder.utils.icon_managerr   r   rN   r   r   <module>rW      s>    # 
 ) ) 4 %D )C(* C(r   