
    ?g#                         d dl Z  e j                  dd        e j                  dd       d dlmZmZmZmZ d dlmZ d dl	  G d d	      Z
 G d
 de      Zy)    NGtkz3.0CDesktopEnums)r   GdkGLibr   )SidePage)*c                   <    e Zd Z ed      ZdZdZd Zd Zd Z	d Z
y)	Modulez#Control mouse and touchpad settingsmousehardwarec                 Z    t        d      }t        t        d      d|||       }|| _        y )Nz'mouse, touchpad, synaptic, double-clickzMouse and Touchpadzcs-mouse)module)_r   sidePage)selfcontent_boxkeywordsr   s       9/usr/share/cinnamon/cinnamon-settings/modules/cs_mouse.py__init__zModule.__init__   s-    >?A23Z;_cd     c           
         | j                   s1t        d       t               | j                  _        | j                  j                  | j                  j                         t               }|j                  t        d            }t        t        d      dd      }|j                  |       t        t        d      dd      }|j                  |       t        t        d      dd	      }|j                  |       t        t        d
      dd      }|j                  |       t        t        d      dd      }|j                  |       t        t        d      ddt        d      dd      }|j                  |       |j                  t        d            }t        t        d      ddt        d      t        d      ddd      }|j                  dt        j                  j                   d        |j                  |       t        t        d      ddt        d       t        d!      d"d#d      }|j"                  j                  d$t        j                  j                   d        |j                  |       t$        j&                  j(                  j*                  t        d%      gt$        j&                  j,                  j*                  t        d&      gt$        j&                  j.                  j*                  t        d'      gg}t1        t        d(      dd)|t2        *      }|j                  |       |j                  t        d+            }t        t        d,      dd-t        d.      t        d/      d0d1d      }|j                  |       t5               }	t        j6                  j9                  t        d2            }|j;                  d3| j<                         |	j?                  |d4d4d5       |j                  |	       | j                  j                  jA                  |d6t        d7             t               }d8t        d9      gd:t        d;      gd<t        d=      gg}
t1        t        d>      d?d@|
t2        *      }|jC                          |j?                  |dd4d5       tE        d?d@dAB      }|j?                  |dd4d5       tG        t        d            }|jI                  |       t        t        dC      d?dD      }|j                  |       t        t        dE      d?dF      }|j                  |       t$        jJ                  j(                  j*                  t        dG      gt$        jJ                  jL                  j*                  t        d;      gt$        jJ                  jN                  j*                  t        dH      gt$        jJ                  jP                  j*                  t        dI      gg}t1        t        dJ      d?dK|t2        *      }|j                  |       tG        t        dL            }|jI                  |       t        t        d      d?d      }|j                  |       tS               }|j                  |       tG        d       }|jI                  |       t        t        d      d?dt        d       t        d!      d"d#d      }|j"                  j                  d$t        j                  j                   d        |j                  |       | j                  j                  jA                  |dMt        dN             y y )ONzLoading Mouse moduleGeneralz$Left handed (mouse buttons inverted)z&org.cinnamon.desktop.peripherals.mousezleft-handedzReverse scrolling directionznatural-scrollz8Show position of pointer when the Control key is pressedzlocate-pointerz<Emulate middle click by clicking both left and right buttonszmiddle-click-emulationz8Paste the current selection when middle-click is pressedzorg.cinnamon.desktop.interfacezgtk-enable-primary-pastezDrag-and-drop thresholdzdrag-thresholdpixels   i  zPointer size and speedSizezcursor-sizeSmallerLarger   2   F)
show_valueg      8@SpeedspeedSlowerFasterg      g      ?g        zDevice defaultConstantAdaptiveAccelerationzaccel-profile)valtypezDouble-Click timeoutTimeoutzdouble-clickShortLongd     Double-click testzbutton-press-eventTr   r   MouseenabledEnableddisabledDisableddisabled-on-external-mousez!Disabled when a mouse is attachedzTouchpad is)org.cinnamon.desktop.peripherals.touchpadzsend-events)r0   r4   )valueszTap to clickztap-to-clickzDisable touchpad while typingzdisable-while-typingzDefault device behaviorz-Virtual button areas along bottom of touchpadz/Use multiple fingers for right and middle clickzClick actionszclick-method	ScrollingtouchpadTouchpad)*loadedprintSettingsStackr   stack
add_widgetSettingsPageadd_sectionr   GSettingsSwitchadd_rowGSettingsSpinButtonGSettingsRangeadd_markr   PositionTypeTOPcontent_widgetr   PointerAccelProfileDEFAULT
value_nickFLATADAPTIVEGSettingsComboBoxstrSettingsWidgetButtonnew_with_labelconnecttest_button_clicked
pack_start
add_titledfill_rowSettingsRevealerSettingsSectionaddTouchpadClickMethodNONEAREASFINGERSScrollMethodCombo)r   pagesettingsswitchspinwidgetslideraccel_profilescomboboxsend_events_modesrevealerclickpad_lists                r   on_module_selectedzModule.on_module_selected   s   {{()"//DMMMM$$T]]%8%89  >D'')5H$Q'M%NPx  {H  IFV$$Q'D%EGo  rB  CFV$$Q'a%b  eM  O_  `FV$$Q'e%f  iQ  Sk  lFV$$Q'a%b  eE  Ga  bFV$&q)B'CEmo  BC  DL  BM  OP  RU  VDT"''*B(CDH#AfI/OQ^`abk`lnopxny{|  A  NS  TFOOD#"2"2"6"6=V$#AgJ0XZacdemcnpqrzp{  ~B  DG  TY  ZF!!**30@0@0D0DdKV$ 22::EEqIYGZ[2277BBAjMR22;;FF*VN &a&79acr  uC  MP  QEU#''*@(ABH#AiL2Z\jlmnulvxy  {A  yB  DG  IM  Z_  `FV$ "CZZ..q1D/EFFNN/1I1IJNN64q1S!MM**4!G*E  >D AiL)Qz]+-q1T/UV! &a&68cer  uF  PS  TENNOOE5$2'(SUb  lU  VHOOHeT15&q|4HLL"$Q~%68cestFV$$Q'F%GIt  wM  NFV$ 22::EEqIbGcd2277BBAjMR2288CCQGvEwx22::EEqIzG{|	M &a&8:egu  xE  OR  SEU#&q~6HLL"$Q'D%EGr  uE  FFV$%'EU#&t,HLL"#AgJ0[]dfghpfqstu}s~  AE  GJ  W\  ]F!!**30@0@0D0DdKV$MM**4Qz]Kg r   c                     |j                   t        j                  j                  k(  r;|j	                  t        d             t        j                  d| j                  |       y)NzSuccess!r-   T)	typer   	EventType_2BUTTON_PRESS	set_labelr   r   timeout_addreset_test_button)r   rd   events      r   rT   zModule.test_button_clicked   sE    ::555Qz]+T4#9#96Br   c                 8    |j                  t        d             y)Nr.   F)rq   r   )r   rd   s     r   rs   zModule.reset_test_button   s    ./0r   N)__name__
__module____qualname__r   commentnamecategoryr   rl   rT   rs    r   r   r
   r
      s.    56GDH!
tLlr   r
   c                   0     e Zd Z fdZd Zd Zd Z xZS )r_   c                    dt        d      gdt        d      gdt        d      gg| _        t        t        |   t        d      | j                  t
               t        j                  d	
      | _        | j                  j                  d| j                         | j                  j                  d| j                         | j                  d d        | j                          y )Nr   r3   r   zTwo-finger scrolling   zEdge scrollingzScrolling method)optionsr(   r5   )	schema_idz%changed::two-finger-scrolling-enabledzchanged::edge-scrolling-enabled)r   scrolling_listsuperr_   r   intGioSettingstouchpad_settingsrS   on_setting_changedconnect_widget_handlers)r   	__class__s    r   r   zScrollMethodCombo.__init__   s    *()*"#$
 	/2D0EtObOblo/p!$8c!d&&'NPTPgPgh&&'H$JaJabd+$$&r   c                     |j                         }|3| j                  |   d   | _        | j                  | j                         y y )Nr   )get_active_itermodelvalue	set_value)r   rg   	tree_iters      r   on_my_value_changedz%ScrollMethodCombo.on_my_value_changed   s@    ))+	 I.q1DJNN4::& !r   c                 x   |dk(  r9| j                   j                  dd       | j                   j                  dd       y |dk(  r9| j                   j                  dd       | j                   j                  dd       y |dk(  r9| j                   j                  dd       | j                   j                  dd       y y )Nr   two-finger-scrolling-enabledFedge-scrolling-enabledr   Tr   )r   set_boolean)r   r   s     r   r   zScrollMethodCombo.set_value   s    A:""../MuU""../GOaZ""../MtT""../GOaZ""../MuU""../GN r   c                    | j                   j                  d      }| j                   j                  d      }|r-|r+t        j                  | j                   j                  d       y |rd| _        n|rd| _        nd| _        	 | j                  j                  | j                  | j
                            y #  | j                  j                  d        Y y xY w)Nr   r   )r   Fr   r   r   )	r   get_booleanr   idle_addr   r   rH   set_active_iter
option_map)r   schemakeyfingeredges        r   r   z$ScrollMethodCombo.on_setting_changed   s    ++778VWF))556NOD$d44@@Bcd


:##33DOODJJ4OP:##33D9s   2B5 5C)rv   rw   rx   r   r   r   r   __classcell__)r   s   @r   r_   r_      s    ' '	O:r   r_   )girequire_versiongi.repositoryr   r   r   r   SettingsWidgetsr   xapp.GSettingsWidgetsr
   ComboBoxr_   r|   r   r   <module>r      sS    
   5%     ?E * 7 7 $ #H HT4: 4:r   