
    Je                     J    d Z ddlmZmZmZ ddlmZ ddlmZ  G d de      Z	y)z,Spyder completion plugin configuration page.    )	QGroupBoxQVBoxLayoutQGridLayout)_)PluginConfigPagec                   .     e Zd Zg f fd	Zd Zd Z xZS )CompletionConfigPagec                 4    t         |   ||       || _        y N)super__init__	providers)selfpluginparentr   	__class__s       D/usr/lib/python3/dist-packages/spyder/plugins/completion/confpage.pyr   zCompletionConfigPage.__init__   s    ("    c                 r   | j                   }g | _        t               }t        t	        d            | _        t        | j                        D ][  \  }\  }} |t	        d      j                  |      d|fd      }|j                  ||d       | j                  j                  |       ] | j
                  j                  |       | j                  t	        d      d ddd	d
t	        d            } |t	        d      dd      } |t	        d      dd      }	| j                  t	        d      d dddt	        d      d       |t	        d      d      }
| j                  t	        d      d ddd	d
t	        d      d      }t        t	        d            | _        t               }|j                  |dd       |j                  |
dd       |j                  |	dd       |j                  j                  d d       |j                  j                  d d       |j                  |j                  d!d       |j                  |j                  d!d       |j                  |j                  d"d       |j                  |j                  d"d       |j!                  dd"       | j                  j                  |       fd#}|	j"                  j%                  |       t'               }|j                  | j                         |j                  | j
                         |j)                  d       | j                  |       y )$N	ProviderszEnable {0} providerenabled_providersT)defaultr   z.Time to wait for all providers to return (ms):completions_wait_for_msi'  
   zABeyond this timeout the first available provider will be returned)min_max_steptipzShow completion detailscompletions_hinteditor)sectionzShow completions on the flyautomatic_completionsz4Show automatic completions after characters entered:!automatic_completions_after_chars   zDefault is 1)r   r   r   r!   zEnable code snippetsenable_code_snippetsz1Show completion details after keyboard idle (ms):completions_hint_after_mszDefault is 500 milliseconds)r   r   r   r   r!   Completions            c                 r    j                   j                  |        j                  j                  |        y r   )plabel
setEnabledspinbox)statecompletions_after_characterss    r   #disable_completion_after_characterszLCompletionConfigPage.setup_page.<locals>.disable_completion_after_charactersM   s+    (//::5A(00;;EBr   )create_checkboxprovider_checkboxesr   r   r   providers_group	enumerater   format	addWidgetappend	setLayoutcreate_spinboxcompletions_groupr-   r/   setColumnStretchtoggledconnectr   
addStretch)r   newcbproviders_layoutiprovider_keyprovider_namecbr   completion_hint_boxautomatic_completion_boxcode_snippets_boxcompletions_hint_after_idlecompletions_layoutr2   layoutr1   s                  @r   
setup_pagezCompletionConfigPage.setup_page   s&   $$ $& &=(;809$..0I 	0,A,mq./66}E+\:DJB&&r1a0$$++B/		0 	&&'78"&"5"5>?%AE % & #6 #'
 $'( $)+,#$  (,':':DEt/aa.!8 (; (5$ "$%'=?&*&9&9ABD'ae"/0( ': 'D# "+1]+;!<(]$$%8!Q?$$%61=$$%=q!D$$%A%H%H!QO$$(00!Q	8$$%@%G%GAN$$%@%H%H!QO$$%<%C%CQJ$$%<%D%DaK++Aq1(();<	C 	!((00/	1 //0--.!vr   c                 <   | j                   j                  |       | j                  j                  |       | j                  Z| j                  j	                         }d}||k  r8| j                  j                  |      }|j                  |       |dz  }||k  r7y y y )Nr$   )r5   r.   r<   tabscountwidget)r   r0   num_tabsindex
tab_widgets        r   enable_disable_pluginz*CompletionConfigPage.enable_disable_pluginZ   s    ''.))%099 yy(HE("!YY--e4
%%e,
 (" !r   )__name__
__module____qualname__r   rM   rU   __classcell__)r   s   @r   r	   r	      s    13 #BH
r   r	   N)
__doc__qtpy.QtWidgetsr   r   r   spyder.config.baser   spyder.api.preferencesr   r	    r   r   <module>r_      s)    3 ? > ! 3S+ Sr   