o
    {fF                  
   @   s   d dl Z d dlmZ dZzd dlZedd edd d dlmZmZ d	ZW n e	e
fyC Z ze d
e  W Y dZ[ndZ[ww G dd deZG dd deZerZeZdS 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      d S N )selfparentr   r   </usr/lib/python3/dist-packages/UpdateManager/UnitySupport.py__init__(      zIUnitySupport.__init__c                 C   r   r   r   r	   urgentr   r   r   set_urgency+   r   zIUnitySupport.set_urgencyc                 C   r   r   r   r	   visibler   r   r   set_install_menuitem_visible.   r   z*IUnitySupport.set_install_menuitem_visiblec                 C   r   r   r   r	   progressr   r   r   set_progress1   r   zIUnitySupport.set_progressr   )__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 d S )Nzupdate-manager.desktop)r   LauncherEntryget_for_desktop_id_unity_add_quicklist)r	   r
   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   Menuitemnewinstall_dbusmenuitemproperty_setMENUITEM_PROP_LABEL_property_set_boolMENUITEM_PROP_VISIBLEconnectinstall_all_updateschild_appendr   set_property)r	   r
   r!   r   r   r   r   @   s   
zUnitySupportImpl._add_quicklistc                 C   sF   | j d|d  |dk s|dkr| j dd dS | j dd dS )	z set the progress [0,100] r   g      Y@r   d   progress_visibleFTNr   r-   r   r   r   r   r   O   s   zUnitySupportImpl.set_progressc                 C   s   | j d| d S )Nr   r0   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_visibler   )	r   r   r   r   r   r   r   r   r   r   r   r   r   r   5   s    
	r   )loggingr   r'   HAVE_UNITY_SUPPORTgirequire_versiongi.repositoryr   r   
ValueErrorImportErrorewarningobjectr   r   UnitySupportr   r   r   r   <module>   s$   ,