U
    ©²F_i  ã                   @   sB   d dl mZ G dd„ dejƒZdd„ Zdd„ Zdd	„ Zd
d„ ZdS )é    )ÚGtkc                       s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )ÚSliderzSWrapper around Gtk.Scale to handle signals from user and
    Rhythmbox itself.
    c                    sÀ   t ƒ  ¡  |  tjj¡ t dddddd¡| _|  | j¡ |  	d¡ |  
d¡ |  d¡ || _d | _| _|  dt¡ |  dt¡ |  dt¡ |  d	t¡ |  d
t¡| _|  dd¡ |  ¡  d S )Nr   é
   é   TFzbutton-press-eventzmotion-notify-eventzbutton-release-eventzfocus-out-eventzvalue-changedé–   éÿÿÿÿ)ÚsuperÚ__init__Zset_orientationr   ZOrientationZ
HORIZONTALZ
AdjustmentÚ
adjustmentZset_adjustmentZset_hexpandZset_draw_valueZset_sensitiveÚshell_playerÚdraggingÚ
drag_movedZconnectÚslider_press_callbackÚslider_moved_callbackÚslider_release_callbackÚslider_changed_callbackZchanged_callback_idZset_size_requestZshow_all)Úselfr   ©Ú	__class__© úC/usr/lib/rhythmbox/plugins/alternative-toolbar/alttoolbar_widget.pyr	      s$    



ÿzSlider.__init__c                 C   s   | j  | j ¡ ¡ dS )z(Sync slider elapsed time with Rhythmbox.N)r   Zset_playing_timer
   Z	get_value)r   r   r   r   Úapply_position3   s    zSlider.apply_position)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   Ú__classcell__r   r   r   r   r      s   r   c                 C   s   d| _ d| _dS )z$Handle 'button-press-event' signals.TF)r   r   ©ÚsliderZeventr   r   r   r   8   s    r   c                 C   s   | j s
dS d| _|  ¡  dS )z%Handle 'motion-notify-event' signals.FT©r   r   r   r   r   r   r   r   ?   s
    r   c                 C   s(   | j s
dS | jr|  ¡  d | _ | _dS )z<Handle 'button-release-event' and 'focus-out-event' signals.Fr   r   r   r   r   r   H   s    r   c                 C   s   |   ¡  dS )z%Handle 'value-changed-event' signals.N)r   )r   r   r   r   r   R   s    r   N)Zgi.repositoryr   ZScaler   r   r   r   r   r   r   r   r   Ú<module>   s
    	
