U
    fTeF                  
   @   s   d dl Z d dlmZ dZz8d dlZedd edd d dlmZmZ d	ZW n4 e	e
fk
r Z ze d
e  W 5 dZ[X Y nX G dd deZG dd deZereZneZdS )    N)gettextFDbusmenuz0.4Unityz7.0)r   r   Tzcan not import unity GI %sc                   @   s2   e Zd ZdZdddZdd Zdd Zd	d
 ZdS )IUnitySupportz interface for unity support Nc                 C   s   d S N )selfparentr   r   </usr/lib/python3/dist-packages/UpdateManager/UnitySupport.py__init__(   s    zIUnitySupport.__init__c                 C   s   d S r   r   r   urgentr   r   r
   set_urgency+   s    zIUnitySupport.set_urgencyc                 C   s   d S r   r   r   Zvisibler   r   r
   set_install_menuitem_visible.   s    z*IUnitySupport.set_install_menuitem_visiblec                 C   s   d S r   r   r   progressr   r   r
   set_progress1   s    zIUnitySupport.set_progress)N)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r
   r   &   s
   
r   c                   @   s:   e Zd ZdZdddZdd Zdd Zd	d
 Zdd ZdS )UnitySupportImplz9 implementation of unity support (if unity is available) Nc                 C   s$   t jd}|| _|r | | d S )Nzupdate-manager.desktop)r   ZLauncherEntryZget_for_desktop_id_unity_add_quicklist)r   r	   Zum_launcher_entryr   r   r
   r   8   s    zUnitySupportImpl.__init__c                 C   sj   t j }t j | _| jt jtd | jt jd | j	d|j
d  || j | jd| d S )NzInstall All Available UpdatesTzitem-activated	quicklist)r   ZMenuitemnewinstall_dbusmenuitemZproperty_setZMENUITEM_PROP_LABEL_property_set_boolMENUITEM_PROP_VISIBLEZconnectZinstall_all_updatesZchild_appendr   set_property)r   r	   r   r   r   r
   r   @   s"    
   zUnitySupportImpl._add_quicklistc                 C   sD   | j d|d  |dk s"|dkr2| j dd n| j dd dS )	z set the progress [0,100] r   g      Y@r   d   Zprogress_visibleFTNr   r!   r   r   r   r
   r   O   s    zUnitySupportImpl.set_progressc                 C   s   | j d| d S )Nr   r#   r   r   r   r
   r   X   s    zUnitySupportImpl.set_urgencyc                 C   s   | j tj| d S r   )r   r   r   r    r   r   r   r
   r   [   s     z-UnitySupportImpl.set_install_menuitem_visible)N)	r   r   r   r   r   r   r   r   r   r   r   r   r
   r   5   s   
	r   )Zloggingr   r   ZHAVE_UNITY_SUPPORTZgiZrequire_versionZgi.repositoryr   r   
ValueErrorImportErroreZwarningobjectr   r   ZUnitySupportr   r   r   r
   <module>   s    ,