o
    Oeb‘	  ã                   @   s2   d dl Z d dlmZ d dlmZ G dd„ dƒZdS )é    N)Úgettext)Úsetup_uic                   @   sL   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dS )ÚDialogUaAttachc                 C   s>   t | tj |dd¡dd || _| j| _| j |¡ d| _dS )zsetup up the gtk dialogZ
gtkbuilderzdialog-ua-attach.uizsoftware-properties)ÚdomainFN)	r   ÚosÚpathÚjoinÚ	ua_objectZdialog_ua_attachÚdialogZset_transient_forÚ	attaching)ÚselfÚparentZdatadirr	   © r   úG/usr/lib/python3/dist-packages/softwareproperties/gtk/DialogUaAttach.pyÚ__init__   s
   
zDialogUaAttach.__init__c                 C   s   | j  ¡  | j  ¡  d S ©N)r
   ÚrunZhide©r   r   r   r   r   %   s   
zDialogUaAttach.runc                 C   sT   | j  ¡ dk}| j |o| j ¡ | j  | j ¡ | jr#| j ¡  d S | j ¡  d S )NÚ )Úentry_tokenÚget_textZbutton_attachZset_sensitiver   ZspinnerÚstartÚstop)r   Z
have_tokenr   r   r   Úupdate_state)   s   zDialogUaAttach.update_statec                    sj   ˆ j rd S ˆ j ¡ }|dkrd S dˆ _ ˆ j d¡ ‡ fdd„}‡ fdd„}ˆ jj|||dd ˆ  ¡  d S )	Nr   Tc                      s   ˆ j  d¡ d S ©Nr   ©r
   Zresponser   r   r   r   Úon_reply<   ó   z'DialogUaAttach.attach.<locals>.on_replyc                    s*   t | ƒ ˆ j tdƒ¡ dˆ _ˆ  ¡  d S )Nz"Failed to attach. Please try againF)ÚprintÚlabel_attach_errorÚset_textÚ_r   r   )Úerrorr   r   r   Úon_error>   s   z'DialogUaAttach.attach.<locals>.on_errorz%com.canonical.UbuntuAdvantage.Manager)Zreply_handlerZerror_handlerZdbus_interface)r   r   r   r   r    r	   ZAttachr   )r   Útokenr   r#   r   r   r   Úattach2   s   
zDialogUaAttach.attachc                 C   ó   |   ¡  d S r   )r   ©r   Úentryr   r   r   Úon_token_entry_changedG   ó   z%DialogUaAttach.on_token_entry_changedc                 C   r&   r   ©r%   r'   r   r   r   Úon_token_entry_activateJ   r*   z&DialogUaAttach.on_token_entry_activatec                 C   r&   r   r+   ©r   Zbuttonr   r   r   Úon_attach_clickedM   r*   z DialogUaAttach.on_attach_clickedc                 C   s   | j  d¡ d S r   r   r-   r   r   r   Úon_cancel_clickedP   r   z DialogUaAttach.on_cancel_clickedN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r%   r)   r,   r.   r/   r   r   r   r   r      s    
	r   )r   r   r!   Zsoftwareproperties.gtk.utilsr   r   r   r   r   r   Ú<module>   s   