
    |~g                     n    d dl m Z d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlZ G d d	e
      Zy)
    )gettext)AnyOptional)Adapter)DBusNoSuchAdapterError)AppletPlugin)GLibNc                       e Zd ZU dgZdZdZ ed      ZdddZde	d	 ed
       ed      ddiZ
ee   ed<   ddZddZdeddfdZdefdZddZddZdeddfdZdeddfdZdedededdfdZddZy)DiscvManagerMenuWalmisedit-find-symboliczkProvides a menu item for making the default adapter temporarily visible when it is set to hidden by defaultz org.blueman.plugins.discvmanagerN)schemapathtime<   zDiscoverable timeoutz5Amount of time in seconds discoverable mode will last)r   iX  )typedefaultnamedescrangeadapterreturnc           	          | j                   j                  j                  j                  | dt	        d      dt	        d      | j
                  d      | _        d | _        d| _        d | _	        y )N   _Make Discoverabler   z,Make the default adapter temporarily visibleF)text	icon_nametooltipcallbackvisible)
parentPluginsr   add_on_set_discoverableitemr   	time_lefttimeoutselfs    E/usr/lib/python3/dist-packages/blueman/plugins/applet/DiscvManager.pyon_loadzDiscvManager.on_load"   se    KK'',,00rBV@Wcw9:;i9j:>:R:R\a 1 c	 &*    c                     | j                   j                  j                  j                  |        | `| j
                  r t        j                  | j
                         y y N)r#   r$   r   
unregisterr(   r*   r	   source_remover+   s    r-   	on_unloadzDiscvManager.on_unload+   sC      ++D1I<<t||, r/   statec                 x    |r!| j                          | j                          y d | _        | j                          y r1   )init_adapterupdate_menuitemsr   )r,   r5   s     r-   on_manager_state_changedz%DiscvManager.on_manager_state_changed2   s0    !!#DL!!#r/   c                 .   | j                   j                  d       | j                  dk\  r2| j                   j                  t	        d      | j                  z         n$| j                   j                  t	        d             | xj                  dz  c_        y)NF   u   Discoverable… %ssu   Discoverable…T)r(   set_sensitiver)   set_textr&   r+   s    r-   	on_updatezDiscvManager.on_update:   sj    		&>>QIIq!67$..HIIIq!234!r/   c                     | j                   rH| j                   j                  dd       | j                   j                  d| j                  d             y y )NDiscoverableTDiscoverableTimeoutr   )r   set
get_optionr+   s    r-   r'   z DiscvManager.on_set_discoverableD   s@    <<LL^T2LL2DOOF4KL r/   c                     	 | j                   j                  j                         | _        y # t        $ r
 d | _        Y y w xY wr1   )r#   Managerget_adapterr   r   r+   s    r-   r7   zDiscvManager.init_adapterI   s7    	 ;;..::<DL% 	 DL	 s   ), ??r   c                 ^    | j                   !| j                          | j                          y y r1   )r   r7   r8   r,   r   s     r-   on_adapter_addedzDiscvManager.on_adapter_addedO   s)    <<!!#  r/   c                     t        j                  |       | j                  t        j                  d       y || j                  j	                         k(  r!| j                          | j                          y y )NzWarning: adapter is None)logginginfor   warningget_object_pathr7   r8   rH   s     r-   on_adapter_removedzDiscvManager.on_adapter_removedT   sW    T<<OO67T\\1133!!# 4r/   keyvaluec                    | j                   rR|| j                   j                         k(  r3t        j                  d| d|        |dk(  r|dk(  r:| j                  t        j                  | j                         d| _        d | _        n| j                  dkD  r+| j                  t        j                  | j                         || _        t        j                  d| j                        | _        y |dk(  r|r|dk(  rP|sNt        j                  d	       | j                  t        j                  | j                         d| _        d | _        | j                          y y y )
Nzprop  rA   r   r"   i  r@   PoweredStop)r   rN   rK   debugr*   r	   r3   r)   timeout_addr>   rL   r8   )r,   r   rP   rQ   s       r-   on_adapter_property_changedz(DiscvManager.on_adapter_property_changed]   s   <<DDLL$@$@$BBMME#aw/0++A:||/**4<<8%'DN#'DL~~*<<3 ..t||<%*DN#'#3#3D$..#IDL'3);KTYV$<<+&&t||4!##!!#1 C<r/   c                    | j                   1t        j                  d       | j                  j	                  d       y | j                   d   r| j                   d   dkD  rj| j                   d   r[| j                  j	                  d       | j                  j                  t        d             | j                  j                  d       y | j                  j	                  d       y )	Nzwarning: Adapter is NoneFr@   rA   r   rT   Tr   )r   rK   rM   r(   set_visibler=   r&   r<   r+   s    r-   r8   zDiscvManager.update_menuitemsx   s    <<OO67II!!%(,,~.$,,?T2UXY2Y_c_k_klu_vII!!$'IIq!567II##D)II!!%(r/   )r   N)__name__
__module____qualname____depends__
__author____icon__r&   __description____gsettings__int__options__r   r   __annotations__r.   r4   boolr9   r>   r'   r7   strrI   rO   r   rX   r8    r/   r-   r   r      s    (KJ#HuwO 5M
 	,-MN
K g+-$d $t $4 M
 $S $T $
$s $t $$ $# $c $d $6	)r/   r   )r   r&   typingr   r   blueman.bluez.Adapterr   blueman.bluez.errorsr   blueman.plugins.AppletPluginr   gi.repositoryr	   rK   r   rh   r/   r-   <module>rn      s(        ) 7 5  v)< v)r/   