
    |~g                        d dl mZmZmZmZmZmZmZ d dlZd dl	m
Z
 d dlmZ  ej                  dd       d dlmZ d dlmZ erd d	lmZ d d
lmZmZ  G d de      Zedeeedf      dddej2                  fd       Zedeeedf      deegdf   dej2                  fd       Zdeeedf      ded   dej2                  fdZ G d de      Zy)    )CallableIterableTYPE_CHECKINGoverloadcastOptionalTupleN)BluemanTray)IndicatorInterfaceGtkz3.0)r   )create_menuitem)Protocol)MenuItemDictSubmenuItemDictc                       e Zd ZdeddfdZy)MenuItemActivatoridxreturnNc                      y N )selfr   s     G/usr/lib/python3/dist-packages/blueman/main/indicators/GtkStatusIcon.py__call__zMenuItemActivator.__call__   s        )__name__
__module____qualname__intr   r   r   r   r   r      s    	 	 	r   r   itemsr   activater   c                      y r   r   r    r!   s     r   
build_menur$          r   r   c                      y r   r   r#   s     r   r$   r$      r%   r   ).Nc                    t        j                         }| D ]_  \  }}d|v rd|v rt        |d   |d         }|j                         }t	        |t         j
                        sJ |d   r|j                  |d          n|j                  |d          |j                  dt        t        t         j                  gd f   |ffd	             d|v rD|j                  t        t        |d         t        t        t        gd f   |ffd	                   d|v r|d   |j                   _        |d	   |j                   _        nt        j&                         }|j)                          |j+                  |       b |S )
Ntext	icon_namemarkupr!   c                      |      S r   r   )_r   r!   s     r   <lambda>zbuild_menu.<locals>.<lambda>+   s    cklocp r   submenuc                      ||       S r   r   )subidr   r!   s     r   r-   zbuild_menu.<locals>.<lambda>/   s    T\]`bgTh r   tooltip	sensitive)r   Menur   	get_child
isinstanceLabelset_markup_with_mnemonicset_text_with_mnemonicconnectr   r   MenuItemset_submenur$   	enumerater   propstooltip_textr2   SeparatorMenuItemshowappend)r    r!   menuindexitemgtk_itemlabels    `     r   r$   r$       sT   88:D tT>kT1%4T&\4CT%UH&&(EeSYY///H~..tF|<,,T&\:Zh~t7K.L\aNp)qrD $$yi9#HcUD[$9U;hikl D .29o+'+K'8HNN$,,.HH)* Kr   c                       e Zd ZdededdfdZdej                  dededdfd	Z	deddfd
Z
deddfdZdeddfdZddZdeddfdZded   ddfdZy)GtkStatusIcontrayr)   r   Nc                 H   j                   | _        t        j                  |      | _        | j                  j                  d       | j                  j                  d| j                         | j                  j                  dfd       d| _        d| _	        d | _
        y )N)r)   bluemanz
popup-menur!   c                 $    j                         S r   )activate_status_icon)_status_iconrI   s    r   r-   z(GtkStatusIcon.__init__.<locals>.<lambda>@   s    @Y@Y@[ r    )activate_menu_item_on_activater   
StatusIcon	indicator	set_titler9   on_popup_menu_tooltip_title_tooltip_text_menu)r   rI   r)   s    ` r   __init__zGtkStatusIcon.__init__;   sy     33)<  +|T-?-?@z+[\ )-
r   rN   _button_activate_timec                 T    | j                   r| j                   j                  d        y y r   )rX   popup_at_pointer)r   rN   rZ   r[   s       r   rU   zGtkStatusIcon.on_popup_menuE   s     ::JJ''- r   c                 :    || j                   j                  _        y r   )rS   r=   r)   )r   r)   s     r   set_iconzGtkStatusIcon.set_iconI   s    )2&r   titlec                 2    || _         | j                          y r   )rV   _update_tooltip)r   r`   s     r   set_tooltip_titlezGtkStatusIcon.set_tooltip_titleL   s    #r   r(   c                 2    || _         | j                          y r   )rW   rb   r   r(   s     r   set_tooltip_textzGtkStatusIcon.set_tooltip_textP   s    !r   c                     | j                   }| j                  r|d| j                  z   z  }|| j                  j                  _        y )N
)rV   rW   rS   r=   tooltip_markupre   s     r   rb   zGtkStatusIcon._update_tooltipT   s=    ""D4----D.2+r   visiblec                 :    || j                   j                  _        y r   )rS   r=   rj   )r   rj   s     r   set_visibilityzGtkStatusIcon.set_visibilityZ   s    '.$r   rB   r   c                 H    t        d |D        | j                        | _        y )Nc              3   *   K   | ]  }|d    |f  yw)idNr   ).0rD   s     r   	<genexpr>z)GtkStatusIcon.set_menu.<locals>.<genexpr>^   s      E$t*d!3 Es   )r$   rQ   rX   )r   rB   s     r   set_menuzGtkStatusIcon.set_menu]   s     E EtGXGXY
r   )r   N)r   r   r   r
   strrY   r   rR   r   rU   r_   rc   rf   rb   boolrl   r   rr   r   r   r   rH   rH   :   s    .[ .S .T ..#.. .3 .X[ .`d .3# 3$ 3s t S T 3/d /t /ZXn5 Z$ Zr   rH   )typingr   r   r   r   r   r   r	   giblueman.main.Trayr
   *blueman.main.indicators.IndicatorInterfacer   require_versiongi.repositoryr   blueman.Functionsr   typing_extensionsr   blueman.plugins.applet.Menur   r   r   r   r3   r$   rH   r   r   r   <module>r~      s   U U U 	 ) I   5%    -*IH 
 
huS.%89: FY ^a^f^f  
 
huS*;%;<= SVRWY]R]I^ cfckck  
huS*;%;<= R[I\ adaiai 4$Z& $Zr   