
    Je                     j    d 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 ddlmZ  G d de
      Zy	)
z#Plugin registry configuration page.    )	QGroupBoxQVBoxLayout	QCheckBoxQGridLayoutQLabel)SpyderPlugin)PluginConfigPage)_)CONFc                       e Zd Zd Zd Zy)PluginsConfigPagec                    | j                   }i | _        t        t        d            }|j	                  d       t               }t        t        d            | _        d}| j                  j                  D ]  }| j                  j                  |   \  }}t        |dd      s-d }t        |d      r|j                         }nt        |d      r|j                         }t        j                  |dd      }	 ||dd|d	      }
|j!                  |
|d
z  |d
z         |
|	f| j                  |<   |dz  } | j                  j#                  |       t               }t        t        d            | _        d}d}t'        | j                  j(                        D ]  \  }}| j                  j(                  |   \  }}t        |dd      s0d }t        |d      r|j                         }nt        |d      r|j                         } ||dd|d	      }
|j!                  |
|d
z  |d
z         t        j                  |dd      }	|
|	f| j                  |<   |dz  } | j$                  j#                  |       t+               }|j!                  |       |j!                  | j                         |r|j!                  | j$                         |j-                  d       | j#                  |       y )NzHere you can turn on/off any internal or external Spyder plugin to disable functionality that is not desired or to have a lighter experience. Unchecked plugins in this page will be unloaded immediately and will not be loaded the next time Spyder starts.TzInternal pluginsr   CAN_BE_DISABLEDget_nameget_plugin_titleenable)defaultsectionrestart      zExternal pluginsF)create_checkboxplugins_checkboxesr   r
   setWordWrapr   r   internal_plugins_grouppluginall_internal_pluginsgetattrhasattrr   r   r   get	addWidget	setLayoutexternal_plugins_group	enumerateall_external_pluginsr   
addStretch)selfnewcbheader_labelinternal_layoutiplugin_nameconf_section_namePluginClassplugin_loc_nameplugin_statecbexternal_layoutshow_external_plugins_grouplayouts                 J/usr/lib/python3/dist-packages/spyder/api/plugin_registration/_confpage.py
setup_pagezPluginsConfigPage.setup_page   s   $$"$ P QR
 	  & &-&/2D0E&F#;;;; 	K KK<<[I;(94@"O{J/"-"6"6"8&89"-">">"@88$5xFL$0$@B%%b!q&!a%8463ED##K0FA'	* 	##--o> &-&/2D0E&F# ',#'(H(HI 	NA{ KK<<[I;(94@"O{J/"-"6"6"8&89"-">">"@$0$@B%%b!q&!a%888$5xFL463ED##K0FA'	* 	##--o>&445&T889!v    c                    | j                   D ]  }| j                   |   \  }}|j                         r|s| j                  j                  |       d }d}|| j                  j                  v r| j                  j                  |   \  }}{|| j                  j
                  v s| j                  j
                  |   \  }}d}|j                         r|sǌ t        i       S )NFT)r   	isCheckedr   set_plugin_enabledr   r%   set)r'   r,   r1   previous_stater.   external__s          r5   apply_settingsz PluginsConfigPage.apply_settingsc   s    22 	K!%!8!8!EB||~n..{;" $++"B"BB$(KK$D$D[$Q"R  DKK$D$DD$(KK$D$D[$Q"R #H \\^
 1	2 2wr7   N)__name__
__module____qualname__r6   r?    r7   r5   r   r      s    L\r7   r   N)__doc__qtpy.QtWidgetsr   r   r   r   r   spyder.api.pluginsr   spyder.api.preferencesr	   spyder.config.baser
   spyder.config.managerr   r   rC   r7   r5   <module>rJ      s1    *1 1 , 3   &i( ir7   