
    c\Y                         d dl mZmZ d dl g dZd Zd Zeej                  _        eej                  _         G d dej                        Z	da
d	 Z G d
 de      Zd ZeD ]  Z ee       e       dez   <    y)    )GioGLib)*)
Switch
SpinButtonEntryTextView
FontButtonRangeComboBoxColorChooserFileChooserIconChooserc                    || vrt        d|      | j                  |      }|j                  d      j                         }|j                  d      }|dk(  rT|j                  d      j	                         j                  d      sJ |j                  d      j	                         dd  }n|dk(  r_|j                  d      j	                         j                  d      sJ |j                  d      j                  d      j	                         }n|dk(  rP|j                  d      j	                         j                  d      sJ |j                  d      j	                         }nW|dk(  rR|j                  d      j	                         j                  d	      sJ |j                  d      j	                         d   }| j                  |t        j                  |            st        d
|d|d      y )Nzunknown key: r      typeaenumflagsrange(zvalue 'z' for key 'z' is outside of valid range)
KeyError	get_rangeget_child_value
get_stringget_type_string
startswith	set_valuer   Variant
ValueError)selfkeyvaluer   type_vtype_strs          7/usr/lib/python3/dist-packages/xapp/GSettingsWidgets.py__setitem__r(   
   s   
$C122 NN3E!!!$//1Ea A  #335@@EEE$$Q'779!"=	&  #335@@EEE$$Q'77:JJL	'	  #335@@EEE$$Q'779	'	  #335@@EEE$$Q'779!<>>#t||He<=PUWZ[\\ >    c                     d _          fd} fd}|t        j                  j                  t        j                  j                  z  z  s8|t        j                  j                  t        j                  j                  z  z  }|t        j                  j                  z  r; |        |t        j                  j
                  z  s j                  dz   |       |t        j                  j                  z  rj                  dz   |       |t        j                  j                  z  s j                  dd       y y )NFc                 r    j                   ry d_        j                   |                d_        y NTF)_ignore_key_changed_ignore_prop_changedset_property)settingsr"   key_to_proppropr!   widgets     r'   key_changedz&bind_with_mapping.<locals>.key_changed*   s8    ##$(!D+d3i"89$)!r)   c                 p    j                   ry d_         | j                              <   d_        y r,   )r.   r-   get_property)r3   paramr"   r2   prop_to_keyr!   s     r'   prop_changedz'bind_with_mapping.<locals>.prop_changed1   s8    $$#'  3 3D 9:S	#( r)   	changed::znotify::	sensitive)	r-   r   SettingsBindFlagsSETGETGET_NO_CHANGESconnectNO_SENSITIVITYbind_writable)	r!   r"   r3   r2   r   r1   r8   r4   r9   s	   ```` ``  r'   bind_with_mappingrC   '   s    $D*) S**..1F1F1J1JJK&&**S-B-B-F-FFFs$$(((D#--<<<LLs*K8s$$(((zD(,7C))8883U; 9r)   c                   b     e Zd Zdej                  j
                  ddfiZ fdZd ZddZ	 xZ
S )BinFileMonitorchangedN c                    t         t        |           d| _        t	        j
                  d      }|d k(  rd}|j                  d      | _        g | _        | j                  D ]  }t        j                  j                  |      }|j                  t        j                  j                  d       }|j                  d| j                          | j                  j#                  |        y )Nr   PATHz/bin:/usr/bin:.:rF   )superrE   __init__
changed_idr   getenvsplitpathsmonitorsr   Filenew_for_pathmonitor_directoryFileMonitorFlags
SEND_MOVEDr@   queue_emit_changedappend)r!   envpathfilemon	__class__s        r'   rL   zBinFileMonitor.__init__J   s    nd,.kk&!$;#CYYs^
JJ 	&D88((.D(()=)=)H)H$OCKK	4#:#:;MM  %		&r)   c                 4    | j                  d       d| _        y)NrF   r   F)emitrM   r!   s    r'   _emit_changedzBinFileMonitor._emit_changed^   s    		)r)   c                     | j                   dkD  r&t        j                  | j                          d| _         t        j                  | j                        | _         y )Nr   )rM   r   source_removeidle_addra   )r!   r[   other
event_typedatas        r'   rW   z!BinFileMonitor.queue_emit_changedc   s=    ??Qt/DO--(:(:;r)   N)__name__
__module____qualname__GObjectSignalFlagsRUN_LAST__gsignals__rL   ra   rW   __classcell__)r]   s   @r'   rE   rE   F   s1    G''00$;L&(
<r)   rE   Nc                  4    t         d k(  r
t               a t         S rh   )file_monitorrE   rG   r)   r'   get_file_monitorrs   l   s     t%'r)   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)PXGSettingsBackendc                 Z   t        | d      rH| j                  j                  | j                        j	                         }|dv r| j                  d       t        | d      r| j                  }n| j                  }t        | d      st        | d      rS| j                  j                  | j                  || j                  | j                  | j                  | j                         y | j                  d k7  r=| j                  j                  | j                  || j                  | j                         y | j                  j                  d| j                  z   | j                         | j                  j!                  | j                  |dd	       | j                          | j#                          y )
Nset_rounding)iur   bind_objectmap_getmap_setr:   r;   F)hasattrr0   	get_valuer"   r   rw   rz   content_widgetrC   	bind_propbind_dirr{   r|   bindr@   on_setting_changedrB   connect_widget_handlers)r!   vtyperz   s      r'   bind_settingsz PXGSettingsBackend.bind_settings   s6   4(MM++DHH5EEGE
"!!!$4'**K--K4#wtY'?MM++DHHk4>>SWS`S`bfbnbnptp|p|}]]d"MMtxxdnndmmTMM!!+dhh"68O8OPMM''+{ER##%((*r)   c                 6    || j                   | j                  <   y rh   r0   r"   )r!   r#   s     r'   r   zPXGSettingsBackend.set_value   s    "'dhhr)   c                 4    | j                   | j                     S rh   r   r`   s    r'   r~   zPXGSettingsBackend.get_value   s    }}TXX&&r)   c                 ~    | j                   j                  | j                        }|d   dk(  r|d   d   |d   d   gS y )Nr   r   r   )r0   r   r"   )r!   r   s     r'   r   zPXGSettingsBackend.get_range   sD    ''18w!HQKq!--r)   c                     t        d      )Nz9SettingsWidget class must implement on_setting_changed().)NotImplementedErrorr!   argss     r'   r   z%PXGSettingsBackend.on_setting_changed   s    !"]^^r)   c                 8    | j                   d k(  rt        d      y )NzRSettingsWidget classes with no .bind_dir must implement connect_widget_handlers().)r   r   r   s     r'   r   z*PXGSettingsBackend.connect_widget_handlers   s    ==D %&z{{ !r)   N)	ri   rj   rk   r   r   r~   r   r   r   rG   r)   r'   ru   ru      s"    +&('_|r)   ru   c                 B     G fddt               |    t              S )Nc                   "     e Zd Z fdZ xZS )$g_settings_factory.<locals>.NewClassc                    || _         |t        vr&t        j                  j	                  |      t        |<   t        |   | _        d|v r|d   | _        |d= d|v r|d   | _        |d= t        | &  |g|i | | j                          y )Nr{   r|   )r"   settings_objectsr   Settingsnewr0   r{   r|   rK   rL   r   )r!   labelschemar"   r   kwargsNewClassr]   s         r'   rL   z-g_settings_factory.<locals>.NewClass.__init__   s    DH--+.<<+;+;F+C (,V4DMF"%i09%F"%i09%(D*5B4B6B r)   )ri   rj   rk   rL   rp   )r]   r   s   @r'   r   r      s    	! 	!r)   r   )globalsru   )subclassr   s    @r'   g_settings_factoryr      s     !79X&(: !  Or)   	GSettings)gi.repositoryr   r   xapp.SettingsWidgetsCAN_BACKENDr(   rC   r   rl   rE   rr   rs   objectru   r   r3   r   rG   r)   r'   <module>r      s    $ "=]:<8 "3 & "<W__ "<H >&| &|P&  ?F$6v$>GIk& !?r)   