3
Z                 @   sp   d dl mZ d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZejej	ej
d G dd dejZdS )	    )GObject)GLib)Gdk)GtkN)Zdomain	localedirc               @   s   e Zd ZdejdddddejjfiZejj	de
ffejj	df fdZd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& ZdS )'ToolbarSearchEntrysearch_timeoutzsearch timeoutz"search signal rate limiter (in ms)r   i  i,  N)searchactivatec             C   sh  d | _ d| _d| _d| _d | _tjj|  | jt	j
 | jt	j
 tjj| j }|jd}|dkpj|dk| _tj }|jtd |jtjj | j|ddd tj | _ d	tjjkr| j jtjjtj | j jtjjtj | j jtjjd | j j tjjd | j j!d
| j" |j#| j  | j| j ddd | j j!d| j$ | j j!d| j% | j j!d| j& d S )Nr   Fi,  zgtk-theme-nameZHighContrastZLowContrastz_Filter:TPRIMARYz
icon-pressZchangedZfocus_out_eventr
   )'entrytimeoutis_a11y_themer   menur   HBox__init__Zset_spacingHIGZ
PAD_NORMALZset_border_widthZSettingsZget_for_screenZ
get_screenZget_propertyZLabelZset_text_with_mnemonic_Zset_justifyZJustificationZRIGHTZ
pack_startZEntryEntryIconPosition__dict__Zset_icon_from_stockr   Z
STOCK_FIND	SECONDARYZSTOCK_CLEARset_icon_sensitiveset_icon_activatableZconnecton_icon_pressZset_mnemonic_widget
on_changedon_focus_out_eventon_activate)selfZsettingsZthemeZlabel r   6/usr/share/system-config-printer/ToolbarSearchEntry.pyr   :   s:    

zToolbarSearchEntry.__init__c             C   s"   |j dkr| jS td|j  d S )Nr   zunknown property %s)namer   AttributeError)r   propertyr   r   r   do_get_propertyb   s    
z"ToolbarSearchEntry.do_get_propertyc             C   s$   |j dkr|| _ntd|j  d S )Nr   zunknown property %s)r    r   r!   )r   r"   valuer   r   r   do_set_propertyh   s    
z"ToolbarSearchEntry.do_set_propertyc             C   s,   | j dkrtj| j  d| _ | jjd d S )Nr    )r   r   source_remover   set_text)r   r   r   r   clearn   s    
zToolbarSearchEntry.clearc             C   s
   | j j S )N)r   get_text)r   r   r   r   r*   u   s    zToolbarSearchEntry.get_textc             C   s   | j j| d S )N)r   r(   )r   textr   r   r   r(   x   s    zToolbarSearchEntry.set_textc             C   s   | j r
d S tjd}tjd}| jj }t|dkrZ| jjtjj	| | jj
tjj	| n$| jjtjj	d  | jj
tjj	d  | j  d S )Nz#f7f7bez#000000r   )r   r   Zcolor_parser   r*   lenZmodify_textr   Z	StateTypeZNORMALZmodify_baseZ
queue_draw)r   Z	bg_colourZ	fg_colourr+   r   r   r   check_style{   s    


zToolbarSearchEntry.check_stylec             C   s   | j   | jdkr$tj| j d| _| jj dk}|rJtj| j| j| _n| j  dt	j
jkr| jjt	j
j| | jjt	j
j| d S )Nr   r   )r-   r   r   r'   r   Zget_text_lengthZtimeout_addr   on_search_timeoutr   r   r   r   r   r   )r   UNUSEDZhas_textr   r   r   r      s    
zToolbarSearchEntry.on_changedc             C   s   | j d| jj  d| _dS )Nr	   r   F)emitr   r*   r   )r   r   r   r   r.      s    z$ToolbarSearchEntry.on_search_timeoutc             C   s6   | j dkrdS tj| j  d| _ | jd| jj  dS )Nr   Fr	   )r   r   r'   r0   r   r*   )r   ZUNUSED_widgetZUNUSED_eventr   r   r   r      s    
z%ToolbarSearchEntry.on_focus_out_eventc             C   s   | j j dkS )Nr&   )r   r*   )r   r   r   r   	searching   s    zToolbarSearchEntry.searchingc             C   s   | j d| jj  d S )Nr	   )r0   r   r*   )r   ZUNUSED_entryr   r   r   r      s    zToolbarSearchEntry.on_activatec             C   s   | j j  d S )N)r   
grab_focus)r   r   r   r   r2      s    zToolbarSearchEntry.grab_focusc             C   sn   dt jjkrd S |r@| jjt jjd | jjt jjd || _n*| jjt jjd | jjt jjd d | _d S )Nr   TF)r   r   r   r   r   r   r   r   )r   r   r   r   r   set_drop_down_menu   s    z%ToolbarSearchEntry.set_drop_down_menuc             C   sN   |t jjkr| jd d S |t jjkrJ| js0d S | jjd d d d |j|j d S )Nr&   )	r   r   r   r(   r   r   ZpopupZbuttonZtime)r   r/   Zicon_positionZeventr   r   r   r      s    
z ToolbarSearchEntry.on_icon_press)__name__
__module____qualname__r   Z	TYPE_UINTZ
ParamFlagsZ	READWRITEZ__gproperties__ZSignalFlagsZRUN_LASTstrZ__gsignals__r   r#   r%   r)   r*   r(   r-   r   r.   r   r1   r   r2   r3   r   r   r   r   r   r   &   s8   
(r   )Zgi.repositoryr   r   r   r   r   configgettextinstallZPACKAGEr   r   r   r   r   r   r   <module>   s   