
    Je                     v    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  G d d      Z G d	 d
e	      Zy)    )Signal)QAction)PYSIDE2)_)PluginMainContainer)ConfigDialogc                       e Zd ZdZdZy)PreferencesActionsshow_actionreset_actionN)__name__
__module____qualname__ShowReset     N/usr/lib/python3/dist-packages/spyder/plugins/preferences/widgets/container.pyr
   r
      s    DEr   r
   c                   h     e Zd Z e       Z	  e       Z	  fdZd Zd Zd Z	d Z
d Zd Zd Z xZS )	PreferencesContainerc                 @    t        |   |i | d | _        d | _        y N)super__init__dialogdialog_index)selfargskwargs	__class__s      r   r   zPreferencesContainer.__init__   s$    $)&) r   c                 b     fd} j                   t        |      }| _         ||j                  |       |D ]  }||   \  }}	}
|dk(  rS |	|
|      }|j                          |j	                  |g       D ]  }|j                  |        |j                  |       d|
j                  ||      }|j	                  |g       D ]  }|j                  |        |j                  |         j                  |j                   j                         |j                          |j                          |j                  j                  |       |j                  j                  j                   j                          |j"                  j                  |j$                         |j&                  j                   j&                         y  j                   j                           j                   j)                           j                   j+                           j                   j-                          y )Nc                     t         r%j                  j                  ddd       d_        yj                  j                          d_        y)z-Restore preferences dialog instance variable.N)r   r   
disconnect)result_coder   s    r   _dialog_finishedz<PreferencesContainer.create_dialog.<locals>._dialog_finished&   s>    &&tT48 DK &&(DKr   new)r   r   resize
initializegetadd_tabadd_page_create_configwidgetr   set_current_indexshowcheck_all_settingsfinishedconnectpages_widgetcurrentChanged._PreferencesContainer__preference_page_changedsize_changeset_prefs_sizesig_reset_preferences_requestedactivateWindowraise_setFocus)r   config_pagesconfig_tabsprefs_dialog_sizemain_windowr%   dlg	page_nameapi
ConfigPagepluginpageTabs   `            r   create_dialogz"PreferencesContainer.create_dialog#   s   	 ;;{+CDK ,

,-) '	,8,C)j&%<%fc2DOO%*y"= *S)*LL&!66sKHD*y"= *S)*LL&'   ,%%d&7&78HHJ""$LL  !12++33..0OO##K$>$>?//77446 KKKK&&(KK KK  "r   c                     || _         y)z"Preference page index has changed.N)r   )r   indexs     r   __preference_page_changedz.PreferencesContainer.__preference_page_changedV   s
    !r   c                 V    | j                   duxr | j                   j                         S )zCheck if preferences is open.N)r   	isVisibler   s    r   is_preferences_openz(PreferencesContainer.is_preferences_openZ   s#    {{$&B4;;+@+@+BBr   c                 R    | j                   | j                   j                          yy)zClose preferencesN)r   closerL   s    r   close_preferencesz&PreferencesContainer.close_preferences^   s!    ;;"KK #r   c                 8    | j                   j                          y)zShow preferences.N)sig_show_preferences_requestedemitrL   s    r   show_preferencesz%PreferencesContainer.show_preferencesc   s    ++002r   c                 J   | j                  t        j                  t        d      | j	                  d      | j
                  t        j                        | _        | j                  t        j                  t        d      | j                  | j	                  d            | _        y )NPreferences	configure)icon	triggeredmenurolez Reset Spyder to factory defaultsreset_factory_defaults)rY   rX   )create_actionr
   r   r   create_iconrT   r   PreferencesRoler   r   r7   r   rL   s    r   setupzPreferencesContainer.setuph   s    --##m!!+.++,, . 
 !..$$01::!!":;	 / 
r   c                      y r   r   rL   s    r   update_actionsz#PreferencesContainer.update_actionsx   s    r   )r   r   r   r   r7   rR   r   rF   r4   rM   rP   rT   r_   ra   __classcell__)r    s   @r   r   r      sC    &,h#)%+X"&!
1#f"C 
3

 r   r   N)qtpy.QtCorer   qtpy.QtWidgetsr   qtpyr   spyder.api.translationsr   !spyder.api.widgets.main_containerr   /spyder.plugins.preferences.widgets.configdialogr   r
   r   r   r   r   <module>ri      s4     "  & A H 
b. br   