o
    \c                     @   s   d dl 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
mZ d dlmZ d dlZd d	lmZmZ ed
d edd d dlmZmZ G dd de	eZdS )    )gettext)Optional)launch)ManagerService)AppletPlugin)show_about_dialog)PluginDialogN)PowerManagerPowerStateListenerGtkz3.0Gdk)r   r   c                   @   s   e Zd ZddgZdZedZ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dfddZdddZdddZdddZdddZdddZdddZdS ) StandardItems
StatusIconMenuFz0Adds standard menu items to the status icon menuwalmisreturnNc                    sB  d  _  jjj d  jjj d  jjjj dtdd d jd _ jjj d  jjjj d	td
d d jd _	 jjjj dtdd d j
d _ jjjj dtdd d jd  jjj d  jjjj dtdd jd  jjjj dtdd jd  jjjd fdd d S )N      (   zSend _Files to Deviceu   …zblueman-send-symbolic)text	icon_namecallback3   <   _Deviceszbluetooth-symbolicF   	Adap_tersP   z_Local Serviceszdocument-properties-symbolicQ   Z   _Helpzhelp-about-symbolicU   _Pluginszapplication-x-addon-symbolicactivatec                          S N)
on_devices)_status_iconself F/usr/lib/python3/dist-packages/blueman/plugins/applet/StandardItems.py<lambda>9       z'StandardItems.on_load.<locals>.<lambda>)_plugin_windowparentPluginsr   add_on_sendsendr&   deviceson_adaptersadapterson_local_serviceson_about
on_pluginsr   connectr(   r*   r(   r+   on_load   s6   zStandardItems.on_load	sensitivec                 C   s`   d| j j v r| j jj }nd}|o| j jd uo|}| j| | j| | j	| d S )Nr	   T)
r/   r0   
get_loadedr	   get_bluetooth_statusManagerr4   set_sensitiver5   r7   )r)   r=   powerr*   r*   r+   change_sensitivity;   s   z StandardItems.change_sensitivitystatec                 C   s   |  | d S r%   rC   )r)   rD   r*   r*   r+   on_manager_state_changedF      z&StandardItems.on_manager_state_changedmanagerc                 C   s   |  | d S r%   rE   )r)   rH   rD   r*   r*   r+   on_power_state_changedI   rG   z$StandardItems.on_power_state_changedc                 C      t dtdd d S )Nzblueman-sendtozFile Sendernamer   r2   r(   r*   r*   r+   r3   L      zStandardItems.on_sendc                 C   s   t  }|  d S r%   )r   	startstop)r)   mr*   r*   r+   r&   O   s   zStandardItems.on_devicesc                 C   rJ   )Nzblueman-adapterszAdapter PreferencesrK   rM   r(   r*   r*   r+   r6   S   rN   zStandardItems.on_adaptersc                 C   rJ   )Nzblueman-serviceszService PreferencesrK   rM   r(   r*   r*   r+   r8   V   rN   zStandardItems.on_local_servicesc                    s~   t dtd dd}tjddd}tjtdd	|d
}|d fdd |j|d	d	d |j|d |	  |
  d S )NzBlueman appletF)runzblueman-plugin   )r   
pixel_sizer0   T)labelvisibleimageclickedc                    r$   r%   )r:   )_buttonr(   r*   r+   r,   _   r-   z(StandardItems.on_about.<locals>.<lambda>r   )r   r2   r   ImageButtonr;   action_area
pack_startreorder_childrR   destroy)r)   aboutimbuttonr*   r(   r+   r9   Y   s   zStandardItems.on_aboutc                    sZ   dt jdtjdtf fdd} jr j  d S t j _ j	d|  j
  d S )Nwin_eventr   c                    s   |    d  _dS )NF)r_   r.   )rc   rd   r(   r*   r+   on_closeh   s   z*StandardItems.on_plugins.<locals>.on_closezdelete-event)r   Windowr   Eventboolr.   presentr   r/   r;   show)r)   re   r*   r(   r+   r:   g   s   zStandardItems.on_plugins)r   N)__name__
__module____qualname____depends____unloadable__r2   __description__
__author__r<   rh   rC   rF   r	   rI   r3   r&   r6   r8   r9   r:   r*   r*   r*   r+   r      s    
"




r   )r   r2   typingr   blueman.Functionsr   blueman.main.DBusProxiesr   blueman.plugins.AppletPluginr   blueman.gui.CommonUir   blueman.gui.applet.PluginDialogr   gi#blueman.plugins.applet.PowerManagerr	   r
   require_versiongi.repositoryr   r   r   r*   r*   r*   r+   <module>   s    