a
    Dc``2  ã                   @   sP   d dl mZ d dlmZ d dlZe dd¡ d dlmZmZ G dd„ deƒZ	dS )	é    )Úfrontend)Ú_NÚGtkz3.0)r   ÚGLibc                       sV   e Zd Zdd„ Zdd„ Z‡ fdd„Zdd„ Zdd
d„Zdd„ Zdd„ Z	dd„ Z
‡  ZS )Úgtk_frdc                 C   s   t  ¡ rt  ¡  q d S ©N)r   Zevents_pendingZmain_iteration©Úself© r
   ú//usr/share/apt-listchanges/AptListChangesGtk.pyÚflush_interface   s    zgtk_frd.flush_interfacec                 C   s   t  ¡  d S r   )r   Z	main_quit)r	   Zwidgetr
   r
   r   Úcb_close   s    zgtk_frd.cb_closec                    sþ   t ƒ j|Ž  t ¡ | _| j d¡ z| j d¡ W n  tjyR   | j d¡ Y n0 | j 	d¡| _
| j| jdœ}| j 	d¡| _| j 	d¡| _| j 	d¡| _| j 	d	¡| _| j ¡  | j 	d
¡ ¡ | _|  tdƒ¡ | j dtdƒ ¡ | j |¡ |  ¡  d S )Nzapt-listchangesz"apt-listchanges/apt-listchanges.uiz-/usr/share/apt-listchanges/apt-listchanges.uiÚwindow_main)Zon_button_close_clickedZon_window_main_destroyÚprogressbar_mainÚbutton_closeÚlabel_headerÚlabel_header_descrZtextview_mainz#apt-listchanges: Reading changelogsz
  z Reading changelogs. Please wait.)ÚsuperÚ__init__r   ZBuilderZbuilderZset_translation_domainZadd_from_filer   ÚErrorZ
get_objectr   r   r   r   r   r   ÚhideZ
get_bufferÚtextview_bufÚ	set_titler   Úset_textZconnect_signalsr   )r	   ÚargsÚhandlers©Ú	__class__r
   r   r      s*    
þ
zgtk_frd.__init__c                 C   s4   | j  ¡  | j d¡ | j |  |¡¡ t ¡  d S )NT)	r   Úshowr   Zset_sensitiver   r   Z_renderr   Úmain©r	   Útextr
   r
   r   Údisplay_output-   s    
zgtk_frd.display_outputé   c                 C   sl   |sd S t | dƒs"d| _| j ¡  |  j|7  _| j | j| j ¡ | j d| jd | j  ¡ |  ¡  d S )NÚprogressg        z%i%%éd   )Úhasattrr$   r   r   Zset_fractionZpackages_countr   r   )r	   Zdiffr
   r
   r   Úupdate_progress3   s    

zgtk_frd.update_progressc                 C   s   | j  ¡  |  ¡  d S r   )r   r   r   r   r
   r
   r   Úprogress_done?   s    
zgtk_frd.progress_donec                 C   s^   t  | jt jjt jjt jj¡}| 	t j
j¡ | dtdƒtdƒf ¡ | ¡ t j
jkrZdS dS )Nz<big><b>%s</b></big>

%szContinue Installation?z`Select <i>yes</i> to continue with the installation.
Select <i>no</i> to abort the installation.FT)r   ZMessageDialogr   ZDialogFlagsZMODALZMessageTypeZQUESTIONZButtonsTypeZYES_NOZset_default_responseZResponseTypeZYESÚ
set_markupr   ÚrunZNO)r	   Úmr
   r
   r   ÚconfirmC   s    ýþzgtk_frd.confirmc                 C   s    | j  d| ¡ | j |¡ d S )Nz<big><b>%s</b></big>)r   r)   r   r   r    r
   r
   r   r   R   s    zgtk_frd.set_title)r#   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r"   r'   r(   r,   r   Ú__classcell__r
   r
   r   r   r      s   
r   )
Zapt_listchangesr   ZALChacksr   ZgiZrequire_versionZgi.repositoryr   r   r   r
   r
   r
   r   Ú<module>   s
   