
    ehh                         d dl Z d dlZ ej                  dd        ej                  dd        ej                  dd       d dlmZmZmZ d dlmZ d d	l	m	Z
 d d
lmZ  G d dej                        Z G d d      Zy)    NGdkz3.0GtkPackageKitGlibz1.0)GObjectr   r   )r   )gettext)setup_uic                       e Zd ZdZd Zy)ProgressDialogz)A small helper window to display progressc                 n   t         j                  j                  | t        d             | j	                  |       | j                  t         j                  j                         | j                  d       | j                  d       | j                  d       | j                  dd       t        j                         }d|_        d	|_        d
|_        d|_        | j%                  d |t        j&                  j(                         | j%                  d |t        j&                  j*                         t        j,                  dt         j.                  j0                        | _        | j5                  | j2                         t        j6                  d      | _        | j8                  j;                  dj=                  t        d                   | j2                  j?                  | j8                  ddd       t        j@                         | _!        | j2                  j?                  | jB                  ddd       y )NzCache Refresh)title   TFi,  K      <   i   i     )spacingorientationr   )xalignz<b><big>{}</big></b>zRefreshing software cache)"r   Window__init___set_transient_forset_positionWindowPositionCENTERset_border_width	set_modalset_deletableset_default_sizer   Geometry	min_width
min_height	max_width
max_heightset_geometry_hintsWindowHintsMIN_SIZEMAX_SIZEBoxOrientationVERTICALboxaddLabellabel
set_markupformat
pack_startProgressBarprogressbar)selfparentgeometrys      L/usr/lib/python3/dist-packages/softwareproperties/gtk/DialogCacheOutdated.pyr   zProgressDialog.__init__(   s   

D/(:;v&#,,334b!t5!c2&<<>   !h0H0HIh0H0HI771#//2J2JKYYa(


4;;A>Y<Z[\DJJua8 ??,D,,dD!<    N)__name__
__module____qualname____doc__r    r9   r8   r
   r
   %   s
    3=r9   r
   c                   (    e Zd Zd ZddZddZd Zy)DialogCacheOutdatedc                     || _         t        | t        j                  j	                  |dd      d       | j
                  | _        | j                  j                  |       y)zsetup up the gtk dialog
gtkbuilderzdialog-cache-outofdate.uizsoftware-properties)domainN)r6   r   ospathjoindialog_cache_outofdatedialogr   )r5   r6   datadirs      r8   r   zDialogCacheOutdated.__init__F   sG    rww||G\;VW`uv11%%f-r9   c                     |t         j                  j                  k(  r:|j                  d      }| j                  j
                  j                  |dz         y y )N
percentageg      Y@)
packagekitProgressType
PERCENTAGEget_property_pdiar4   set_fraction)r5   progressptypeudatapercs        r8   on_pktask_progressz&DialogCacheOutdated.on_pktask_progressN   sG    J++666((6DJJ""//u= 7r9   c           
         	 | j                   j                  |       | j                  j                          y # t        $ r}t        j                  | j
                  dt        j                  j                  t        j                  j                  t        d            }|j                  t        |             |j                          Y d }~d }~ww xY w)Nr   zError while refreshing cache)_pktaskgeneric_finish	Exceptionr   MessageDialogr6   MessageTypeERRORButtonsTypeCANCELr   format_secondary_textstrrun_loopquit)r5   sourceresultrT   erH   s         r8   on_pktask_finishz$DialogCacheOutdated.on_pktask_finishS   s    	LL''/ 	

  	&&t{{As7L7L&&*H(IKF((Q0JJLL		s   8 	CBCCc                    | j                   j                         }| j                   j                          |t        j                  j
                  k(  rt        j                         | _        t        | j                        | _        t        j                         | _        | j                  j                          | j                  j!                  d       	 | j                  j#                  dd| j$                  d| j&                  d       | j                  j                          | j                  j                          | j                  j!                  d       |S # t(        $ r$}t+        dj-                  |             Y d}~yd}~ww xY w)z:run the dialog, and if reload was pressed run cache updateFNNz(Error while requesting cache refresh: {}T)rH   rb   hider   ResponseTypeAPPLYrL   TaskrX   r
   r6   rP   r   MainLooprc   show_allset_sensitiverefresh_cache_asyncrV   rh   rZ   printr1   )r5   resrg   s      r8   rb   zDialogCacheOutdated.run]   s   kkoo#""(((%??,DL'4DJ ))+DJJJ!KK%%e,L00%26262I2I29262G2G29; JJNNJJOOKK%%d+
  L@GGJKKLs   4E 	F#FFN)rj   )r:   r;   r<   r   rV   rh   rb   r>   r9   r8   r@   r@   E   s    .>
r9   r@   )rD   girequire_versiongi.repositoryr   r   r   r   rL   r   r   softwareproperties.gtk.utilsr   r   r
   r@   r>   r9   r8   <module>ry      sp   . 
 	   5%     5%     #U + + + 6  
=SZZ =@1 1r9   