o
    \c                     @   sh   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	 d	e
ZdS )
    )gettext)AnyOptional)Adapter)DBusNoSuchAdapterError)AppletPlugin)GLibNc                   @   s   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dZd(ddZdeddfddZdefddZd(ddZd(ddZdeddfddZdeddfd d!Zded"ed#eddfd$d%Zd(d&d'ZdS ))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              	   C   s@   | j jjj| dtddtd| jdd| _d | _d| _d | _	d S )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self r*   E/usr/lib/python3/dist-packages/blueman/plugins/applet/DiscvManager.pyon_load"   s   
zDiscvManager.on_loadc                 C   s.   | j jj|  | `| jrt| j d S d S N)r    r!   r
   
unregisterr%   r'   r   source_remover(   r*   r*   r+   	on_unload+   s
   zDiscvManager.on_unloadstatec                 C   s*   |r|    |   d S d | _|   d S r-   )init_adapterupdate_menuitemsr   )r)   r1   r*   r*   r+   on_manager_state_changed2   s
   z%DiscvManager.on_manager_state_changedc                 C   s4   |  j d8  _ | jtd| j   | jd dS )N   u   Discoverable… %ssFT)r&   r%   set_textr#   set_sensitiver(   r*   r*   r+   	on_update:   s   zDiscvManager.on_updatec                 C   s0   | j r| j dd | j d| d d S d S )NDiscoverableTDiscoverableTimeoutr   )r   set
get_optionr(   r*   r*   r+   r$   A   s   z DiscvManager.on_set_discoverablec                 C   s0   z
| j j | _W d S  ty   d | _Y d S w r-   )r    Managerget_adapterr   r   r(   r*   r*   r+   r2   F   s
   zDiscvManager.init_adapterr   c                 C   s"   | j d u r|   |   d S d S r-   )r   r2   r3   r)   r   r*   r*   r+   on_adapter_addedL   s   
zDiscvManager.on_adapter_addedc                 C   sH   t | | jd u rt d d S || j kr"|   |   d S d S )NzWarning: adapter is None)logginginfor   warningget_object_pathr2   r3   r?   r*   r*   r+   on_adapter_removedQ   s   

zDiscvManager.on_adapter_removedkeyvaluec                 C   s   | j rt|| j  krvtd| d|  |dkrL|dkr/| jd ur(t| j d| _d | _n?| jdkr?| jd ur?t| j || _td| j	| _d S |dkrR|rX|dkrn|snt
d	 | jd urht| j d| _d | _|   d S d S d S )
Nzprop  r:   r   r   i  r9   PoweredStop)r   rD   rA   debugr'   r   r/   r&   timeout_addr8   rB   r3   )r)   r   rF   rG   r*   r*   r+   on_adapter_property_changedZ   s,   




z(DiscvManager.on_adapter_property_changedc                 C   s   | j d u rtd | jd d S | j d r| j d dkr9| j d r9| jd | jtd | jd d S | jd d S )	Nzwarning: Adapter is NoneFr9   r:   r   rI   Tr   )r   rA   rC   r%   set_visibler6   r#   r7   r(   r*   r*   r+   r3   u   s   

"zDiscvManager.update_menuitems)r   N)__name__
__module____qualname____depends__
__author____icon__r#   __description____gsettings__int__options__r   r   __annotations__r,   r0   boolr4   r8   r$   r2   strr@   rE   r   rM   r3   r*   r*   r*   r+   r	      s:   
 


	

	r	   )r   r#   typingr   r   blueman.bluez.Adapterr   blueman.bluez.errorsr   blueman.plugins.AppletPluginr   gi.repositoryr   rA   r	   r*   r*   r*   r+   <module>   s    