
(Nc           @   st  d  d l  Td  d l Td  d l m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l Z d  d l Z d  d l Td  d l m Z m Z m Z m Z d  d l Z d  d l Z d  d l m Z d   Z d   Z d   Z d	 e f d
     YZ d e
 j j f d     YZ d e
 j j  j! f d     YZ" d e f d     YZ# d e f d     YZ$ d e% f d     YZ& d e f d     YZ' e( d k rpe'   Z) e) j* d d  e j+ d d k rde) j, j-   Z. e. d k r0e j/ d g  e j0   n  x. e1 r`e) j, j2   e3 j4   e j5 d  q3Wn  e j+ d d k rxH e6 e j+ d   j7   D]- Z8 e) j, j9 e8  e3 j4   e j5 d!  qWx e1 re3 j4   qWn  e
 j:   Z; xU e j+ d D]F Z< e; e< j= oe; e< j> r.e; e< j? d" e1  n e; e< j@   qWe; jA e) jB e) jC  x e1 rle3 j4   qYWn  d S(#   i(   t   *(   t   uicN(   t   DistUpgradeViewt   FuzzyTimeToStrt   InstallProgresst   FetchProgress(   t   gettextc         C   s   t  t |   d  S(   Ns   UTF-8(   t   unicodet   gett(   t   str(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   _0   s    c         C   s    t  |  t  r |  St |  d  S(   Ns   UTF-8(   t
   isinstanceR   (   R	   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   utf83   s    c         C   s2   t  j j |   r% t j |  |  n	 d |  GHd  S(   Ns   error, can't find file: (   t   ost   patht   existsR   t   loadUi(   t   filet   parent(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   8   s    t   DumbTerminalc           B   sD   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   s    A very dumb terminal c         C   sm   t  j |  d |  | |  _ |  j d  |  j d  |  j t j  |  j t	  |  j
 t  t	 |  _ d S(   s2    really dumb terminal with simple editing support t    t	   Monospacei   N(   t	   QTextEditt   __init__t   installProgresst   setFontFamilyt   setFontPointSizet   setWordWrapModet   QTextOptiont   NoWrapt   setUndoRedoEnabledt   Falset   setOverwriteModet   Truet   _block(   t   selfR   t   parent_frame(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   A   s    	c         C   sA   t  j   \ |  _ |  j _ |  j d k r: d t j d <n  |  j S(   s
   pty voodooi    t   dumbt   TERM(   t   ptyt   forkt	   child_pidR   t	   master_fdR   t   environ(   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR(   N   s    c         C   sx   t  j  |  j j g g  g  d  \ } } } t |  d k rj t j |  j j d  } |  j t |   n  t j	   d  S(   Ni    i   (
   t   selectR   R*   t   lenR   t   readt   insertWithTermCodesR   t   QApplicationt   processEvents(   R#   t   rlistt   wlistt   xlistt   line(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   update_interfaceU   s
    *c         C   s   d } xz | D]r } t  |  d k rK |  j |  |  j   j   d } q | t d  k r` q | t d  k ru q | | 7} q W|  j |  d S(   s    support basic terminal codes R   i   i   i   N(   t   ordt   insertPlainTextt
   textCursort   deletePreviousChart   chr(   R#   t   textt   display_textt   c(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR/   \   s    	c         C   s   t  |  j d  s d S| j   t j k rK t j |  j j t d   d S| j	   s[ d St j |  j j | j	   j
    d S(   s$    send (ascii) key events to the pty R*   Ni   (   t   hasattrR   t   keyt   Qtt   Key_BackspaceR   t   writeR*   R;   R<   t   toUtf8(   R#   t   ev(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   keyPressEvento   s    c         C   s3   |  j  r d St |  _  |  j t j  t |  _  d S(   s:    helper that ensures that the cursor is always at the end N(   R"   R!   t
   moveCursort   QTextCursort   EndR   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   onCursorPositionChanged   s
    		(	   t   __name__t
   __module__t   __doc__R   R(   R6   R/   RF   RJ   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   ?   s   					t   KDECdromProgressAdapterc           B   s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   s    Report the cdrom add progress c         C   s+   | j  j |  _ | j  j |  _ | |  _ d  S(   N(   t   window_maint   label_statust   statust   progressbar_cachet   progressbarR   (   R#   R   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR      s    c         C   sD   | r |  j  j |  n  |  j j | t |  j   t j   d S(   s;    update is called regularly so that the gui can be redrawn N(   RQ   t   setTextRS   t   setValuet   floatt
   totalStepsR0   R1   (   R#   R<   t   step(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   update   s    c         C   s
   t  d f S(   NR   (   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   askCdromName   s    c         C   s   t  S(   N(   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   changeCdrom   s    (   RK   RL   RM   R   RY   RZ   R[   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRN      s
   			t   KDEOpProgressc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s    methods on the progress bar c         C   s   | |  _  | |  _ d  S(   N(   RS   t   progressbar_label(   R#   RS   R]   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR      s    	c         C   s   |  j  j |  t j   d  S(   N(   RS   RU   R0   R1   (   R#   t   percent(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRY      s    c         C   s   |  j  j d  d  S(   NR   (   R]   RT   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   done   s    (   RK   RL   RM   R   RY   R_   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR\      s   			t   KDEFetchProgressAdapterc           B   s;   e  Z d  Z d   Z d   Z d   Z d   Z d   Z RS(   s?    methods for updating the progress bar while fetching packages c         C   s8   t  j |   | j j |  _ | j j |  _ | |  _ d  S(   N(   R   R   RO   RP   RQ   RR   t   progressR   (   R#   R   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR      s    c         C   sZ   t  d  | | f } t j |  j j t  d  | t j t j  } | t j k rV t St S(   Ns&   Please insert '%s' into the drive '%s's   Media Change(	   R
   t   QMessageBoxt   questionR   RO   t   Okt   CancelR!   R   (   R#   t   mediumt   drivet   msgt   change(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   media_change   s
    -c         C   s.   t  j |   |  j j d  |  j j   d  S(   Ni    (   R   t   startRa   RU   RQ   t   show(   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRk      s    c         C   s0   |  j  j j j d  |  j j t d   d  S(   Ns     s   Fetching is complete(   R   RO   t   progress_textRT   RQ   R
   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   stop   s    c         C   s  t  j |  |  |  j j |  j  |  j d } | |  j k rK |  j } n  |  j d k r |  j j	 t
 d  | |  j t j |  j  f  |  j j j j	 d t
 d  t t |  j  d  d  n9 |  j j	 t
 d  | |  j f  |  j j j j	 d	  t j   t S(
   s\    we don't have a mainloop in this application, we just call processEvents here and elsewherei   i    s!   Fetching file %li of %li at %sB/ss   <i>s   About %s remainings   utf-8s   </i>s   Fetching file %li of %lis     (   R   t   pulseRa   RU   R^   t   current_itemst   total_itemst   current_cpsRQ   RT   R
   t   apt_pkgt   size_to_strR   RO   Rm   R   R   t   etaR0   R1   R!   (   R#   t   ownert   current_item(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRo      s    2=#
(   RK   RL   RM   R   Rj   Rk   Rn   Ro   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR`      s   				t   KDEInstallProgressAdapterc           B   sn   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   s?   methods for updating the progress bar while installing packagesi   c         C   s   t  j |   d  |  _ | j j |  _ | j j |  _ | j j |  _ | |  _	 y t
 d d  |  _ Wn0 t k
 r } t j d |  t j |  _ n Xt j j d d  d  S(   Ns   /var/log/dist-upgrade/term.logt   ws   Can not open terminal log: '%s's   DPkg::StopOnErrorR   (   R   R   t   Nonet   _cacheRO   RP   RR   Ra   Rm   R   t   opent   _terminal_logt	   Exceptiont   loggingt   errort   syst   stdoutRs   t   configt   set(   R#   R   t   e(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR      s    		c         C   s   t  j |   t |  _ |  j j t d   |  j j d  |  j	 j d  d |  _
 d |  _ d |  _ |  j j j j t  d  S(   Ns   Applying changesi    t    g        (   R   t   start_updateR   t   finishedRP   RT   R
   Ra   RU   Rm   t
   start_timet   time_uit   last_activityR   RO   t   showTerminalButtont
   setEnabledR!   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR      s    				c         C   s*  t  j |  | |  t j d | | f  t j d d  | k rF t St d  | } t d  | } d | | f } t |  j j	  } t
 d |  |  j j |  | j j t |   | d  k r | j j t |   | j j   n | j j   | j | j t d  |  j j  | j   d  S(	   Ns*   got an error from dpkg for pkg: '%s': '%s't   dpkgs*   dependency problems - leaving unconfigureds   Could not install '%s's   The upgrade will continue but the '%s' package may not be in a working state. Please consider submitting a bug report about it.s   <big><b>%s</b></big><br />%ss   dialog_error.uis	   clicked()(   R   R   R   R   t   dgettextR   R
   t   QDialogR   RO   R   t   translate_widget_childrent   label_errorRT   R   Rz   t   textview_errorRl   t   hidet   connectt   button_bugreportt   SIGNALt	   reportBugt   exec_(   R#   t   pkgt   errormsgt   summaryRh   t   dialogue(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s$    	"c   
      C   s  t  j d |  t j   } t d  | } t d  } d | | f } t |  j j  |  _ t d |  j  |  j j	 j
 |  |  j j j   |  j j |  j j t d  |  j  t j j |  s | d } n  t j j d  r7d d	 | | g } t t j | d
 t j j   d  } |  j j j
 |  n |  j j j
 t d   |  j j   }	 |  j t j   | 7_ |	 t j k rt j |  j d  n t j |  j d  d S(   s6   ask question in case conffile has been changed by users.   got a conffile-prompt from dpkg for file: '%s's/   Replace the customized configuration file
'%s'?st   You will lose any changes you have made to this configuration file if you choose to replace it with a newer version.s1   <span weight="bold" size="larger">%s </span> 

%ss   dialog_conffile.uis	   clicked()s
   .dpkg-dists   /usr/bin/diffs   -uR   i    s    The 'diff' command was not founds   y
s   n
N(   R   t   debugt   timeR
   R   R   RO   t   confDialogueR   t   label_conffileRT   t   textview_conffileR   R   t   show_difference_buttonR   t   showConffileR   R   R   R   t
   subprocesst   Popent   PIPEt   communicateR   R   t   AcceptedRC   R*   (
   R#   t   currentt   newRk   t   primt   sect   markupt   cmdt   difft   result(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   conffile  s,    %(c         C   sk   |  j  j j   r> |  j  j j   |  j  j j t d   n) |  j  j j   |  j  j j t d   d  S(   Ns   Show Difference >>>s   <<< Hide Difference(   R   R   t	   isVisibleR   R   RT   R
   Rl   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   B  s
    c         C   s   t  j   \ |  _ |  _ |  j d k rz d t j d <t j j d  sZ t j d d k rj d t j d <n  d t j d <n  t j d	 |  j  |  j S(
   s
   pty voodooi    R%   R&   t   DEBIAN_FRONTENDt   kdet   noninteractivet   nonet   APT_LISTCHANGES_FRONTENDs    fork pid is: %s(	   R'   R(   R)   R*   R   R+   t   has_keyR   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR(   J  s    c         C   s  |  j  d k r! t j   |  _  n  |  j j |  j  |  j j t | j   d   | d k rt j   |  _	 t
 |  _ |  j	 |  j  } | |  j 8} t |  | } d |  j | } | d k r | d k  r |  j j t d	  t |   q|  j j d
  n  d S(   s   update progress bar and labelg        s   UTF-8g      ?g      Y@g     N@i<   i   i   s   About %s remainingR   Ni  iQ i  (   R   R   Ra   RU   R^   RP   RT   R   t   stripR   R   t   activity_timeout_reportedR   RV   Rm   R
   R   (   R#   R   R^   RQ   t   deltat   time_per_percentRu   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   status_changeV  s    	#c         C   s   |  j  j d  d  S(   NR   (   RP   RT   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   finish_updatem  s    c         C   s  x t  r y t j |  j g g  g  d  \ } } } t |  d k r t j |  j d  } |  j j |  |  j j	 j
 t |   n PWq t k
 r } | GHt j d |  Pq Xq Wy t j |   Wn6 t k
 r} t j d |  j | f  d |  _ n X|  j d k r|  j |  j t j   k  r|  j sy' t j d |  j |  j j   f  Wn% t k
 rt j d |  j  n Xt  |  _ n  |  j j j j   n  t j   t j  d  d	 S(
   s   
        no mainloop in this application, just call processEvents lots here
        it's also important to sleep for a minimum amount of time
        i    i   s&   error reading from self.master_fd '%s'sH   got ValueError from InstallProgress.update_interface. Line was '%s' (%s)R   s+   no activity on terminal for %s seconds (%s)s&   no activity on terminal for %s secondsg{Gz?N(!   R!   R,   R*   R-   R   R.   R}   RC   R   t   terminal_textR/   R   R~   R   R   R   R6   t
   ValueErrorR   R   t   TIMEOUT_TERMINAL_ACTIVITYR   R   t   warningRP   R<   t   UnicodeEncodeErrorRO   t   konsole_frameRl   R0   R1   t   sleep(   R#   R2   R3   R4   R5   R   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR6   p  s8    	'		'
c         C   sL   xE t  rG |  j   t j |  j t j  \ } } | |  j k r Pq q W| S(   N(   R!   R6   R   t   waitpidR)   t   WNOHANG(   R#   t   pidt   res(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt
   wait_child  s    	
(   RK   RL   RM   R   R   R   R   R   R   R(   R   R   R6   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRx      s   				$					)t   UpgraderMainWindowc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   t  j |   t d |   d  S(   Ns   window_main.ui(   t   QWidgetR   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s    c         C   s   | |  _  d  S(   N(   R   (   R#   t	   parentRef(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt	   setParent  s    c         C   s0   |  j  j   } | r" | j   n
 | j   d  S(   N(   R   t   on_window_main_delete_eventt   acceptt   ignore(   R#   t   eventt   close(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt
   closeEvent  s    (   RK   RL   R   R   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s   		t   DistUpgradeViewKDEc           B   s
  e  Z d  Z d d d  Z d   Z d d  Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d d  Z d d  Z d e d  Z d   Z d d  Z d   Z d   Z e d  Z d   Z RS(   s$   KDE frontend of the distUpgrade toolc         C   s<  t  j |   t j d  } | j t j  | sP t j j t j	   d  } n d } y! t
 j d |  t
 j d  Wn$ t k
 r } t j d |  n Xd t j k r t d  n  t d g  |  _ t j j d  r t d  } n t d	  } |  j j t |   t   |  _ |  j j |   |  j j   d
 |  _ t |  j j |  j j  |  _ t |   |  _  t! |   |  _" t# |   |  _$ |  j% t& _' |  j j( j) t*  |  j j+ |  j j( t, d  |  j-  t. j/ d d  } d t j k r*t j d | k r*t0 j1 t j d |  | t j d <n  t2 j3 d d g  t2 j3 d d g  t
 j d |  t
 j d  |  j4   |  j j5 j6 |  j j5 j7   j8 d d   |  j j9 j:   t; |  j j9  |  _< |  j j9 j= d d  t> |  j$ |  j j9  |  _? |  j< j@ |  j?  |  j? j   tA jB d |  jC  |  j jD   d  S(   Nt   PyQt4t   mos    /usr/share/locale/update-managers   update-managers   Error setting locales (%s)t   DISPLAYs   No DISPLAY in os.environ founds=   /usr/share/icons/oxygen/48x48/apps/system-software-update.pngs5   /usr/share/icons/hicolor/48x48/apps/adept_manager.pngi    s	   clicked()R   t   adeptt
   XAUTHORITYt   killallt   adept_managert   adept_updatert   Ubuntut   KubuntuiX  i  i
   (E   R   R   R   t	   getLoggert   setLevelt   INFOR   R   t   joint   getcwdR   t   bindtextdomaint
   textdomainR~   R   R+   R0   t   appR   t   QPixmapt   setWindowIcont   QIconR   RO   R   Rl   t	   prev_stepR\   RR   Rm   t   _opCacheProgressR`   t   _fetchProgressRN   t   _cdromProgressRx   t   _installProgresst   _handleExceptionR   t
   excepthookR   R   R   R   R   t   showTerminalt   tempfilet   mkstempt   shutilt   copyR   t   callR   t   label_titleRT   R<   t   replaceR   R   t   QHBoxLayoutt   konsole_frame_layoutt   setMinimumSizeR   R   t	   addWidgett   QTimert
   singleShott   exitMainLoopR   (   R#   t   datadirt   logdirt   loggert	   localedirR   t   messageIcont	   copyXauth(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s^    
	%"
+c         C   s   d GH|  j  j   d  S(   NR  (   R   t   exit(   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR    s    c         C   s   | d  k r |  j } n  t | t  s6 t | t  r t | j    d k rj | j t j	 d d   q | j t
 t | j      n  | j   d  k r x1 | j   D]  } |  j |  |  j |  q Wn  d  S(   Nt   Errort   kdelibs(   Rz   RO   R   R   R   R	   t   windowTitlet   setWindowTitleR   R   R
   t   childrent   translate_widgetR   (   R#   t   parentWidgett   widget(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s    "c         C   s   t  | t  s t  | t  r t | j    d k r[ | j t t j d d  d   q t | j    d k r | j t t j d d  d   q t | j    d k r | j t	 t | j     j
 d d   q n  d  S(   Ns   &CancelR
  s   UTF-8s   &CloseR   R
   t   &(   R   t   QLabelt   QPushButtonR	   R<   RT   R   R   R   R
   R   (   R#   R  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR  (  s    %%c         C   s   t  | t  s t  | t  r" d St j | | |  } t j d d j |   t | | |  t	   s d j t j | | |   } t
 |  j  } t d |  |  j |  j  | j j |  | j   n  t j d  d S(   s   Crash handler.Ns)   not handled exception in KDE frontend:
%ss   
R   s   dialog_error.uii   (   t
   issubclasst   KeyboardInterruptt
   SystemExitt	   tracebackt   format_exceptionR   R   R   t   apport_crasht
   run_apportR   RO   R   R   t   dialogt   crash_detailRT   R   R   R  (   R#   t   exctypet   excvaluet   exctbt   linest   tbtextR  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   1  s    	c         C   s   t  j t |   d S(   s   start konquerorN(   t   QDesktopServicest   openUrlt   QUrl(   R#   t   url(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   openURLL  s    c         C   s   t  j t d   d S(   s   start konquerors<   https://launchpad.net/ubuntu/+source/update-manager/+filebugN(   R"  R#  R$  (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   R  s    c         C   s   |  j  j j   r> |  j  j j   |  j  j j t d   n) |  j  j j   |  j  j j t d   |  j  j |  j  j	    d  S(   Ns   Show Terminal >>>s   <<< Hide Terminal(
   RO   R   R   R   R   RT   R
   Rl   t   resizet   sizeHint(   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   X  s    c         C   s   |  j  S(   N(   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getFetchProgressa  s    c         C   s   | |  j  _ |  j  S(   N(   R   R{   (   R#   t   cache(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getInstallProgressd  s    c         C   s   |  j  S(   N(   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getOpCacheProgressh  s    c         C   s   |  j  S(   N(   R   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getCdromProgressk  s    c         C   s   |  j  j j t |   d  S(   N(   RO   RP   RT   R   (   R#   Rh   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   update_statusn  s    c         C   sD   t  |  j d |  } t  |  j d |  } | j   | j   d  S(   Ns   image_step%is   label_step%i(   t   getattrRO   R   (   R#   RX   t   imaget   label(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   hideStepq  s    
c         C   s   |  j  } | d k r t |  j d |  } t j j d  rL t d  } n- t j j d  rm t d  } n t d  } | j |  | j   n  d  S(   Ni    s   image_step%is7   /usr/share/icons/oxygen/16x16/actions/dialog-cancel.pngs@   /usr/lib/kde4/share/icons/oxygen/16x16/actions/dialog-cancel.pngs4   /usr/share/icons/crystalsvg/16x16/actions/cancel.png(	   R   R/  RO   R   R   R   R   t	   setPixmapRl   (   R#   RX   R0  t
   cancelIcon(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   abortw  s    	c         C   s\  t  j j d  r! t d  } n- t  j j d  rB t d  } n t d  } t  j j d  ro t d  } n- t  j j d  r t d  } n t d  } |  j r t |  j d |  j  } t |  j d |  j  } | j |  | j   n  | |  _ t |  j d |  } t |  j d |  } | j |  | j   | j	 d	 | j
   d
  d  S(   Ns3   /usr/share/icons/oxygen/16x16/actions/dialog-ok.pngs<   /usr/lib/kde4/share/icons/oxygen/16x16/actions/dialog-ok.pngs0   /usr/share/icons/crystalsvg/16x16/actions/ok.pngs5   /usr/share/icons/oxygen/16x16/actions/arrow-right.pngs>   /usr/lib/kde4/share/icons/oxygen/16x16/actions/arrow-right.pngs9   /usr/share/icons/crystalsvg/16x16/actions/1rightarrow.pngs   image_step%is   label_step%is   <b>s   </b>(   R   R   R   R   R   R/  RO   R3  Rl   RT   R<   (   R#   RX   t   okIcont	   arrowIconR0  R1  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   setStep  s*    		
c         C   s  d | | f } t  |  j  } t d |  |  j |  | j j t |   | d  k r | j j t |   | j j	   n | j j
   | j j
   | j t d   t j j d  r t d  } n- t j j d  r t d  } n t d  } | j j |  | j   d  S(   Ns   <big><b>%s</b></big><br />%ss   dialog_error.uit   Informations;   /usr/share/icons/oxygen/48x48/status/dialog-information.pngsD   /usr/lib/kde4/share/icons/oxygen/48x48/status/dialog-information.pngs=   /usr/share/icons/crystalsvg/32x32/actions/messagebox_info.png(   R   RO   R   R   R   RT   R   Rz   R   Rl   R   R   R  R
   R   R   R   R   R0  R3  R   (   R#   R   Rh   t   extended_msgR   R  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   information  s$    c         C   s)  d | | f } t  |  j  } t d |  |  j |  | j j t |   | d  k r | j j t |   | j j	   n | j j
   | j j	   |  j j | j t d  |  j  t j j d  r t d  } n- t j j d  r t d  } n t d  } | j j |  | j   t S(   Ns   <big><b>%s</b></big><br />%ss   dialog_error.uis	   clicked()s5   /usr/share/icons/oxygen/48x48/status/dialog-error.pngs>   /usr/lib/kde4/share/icons/oxygen/48x48/status/dialog-error.pngsA   /usr/share/icons/crystalsvg/32x32/actions/messagebox_critical.png(   R   RO   R   R   R   RT   R   Rz   R   Rl   R   t   button_closeR   R   R   R   R   R   R   R   R   R0  R3  R   R   (   R#   R   Rh   R:  R   R  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s&    "
c         C   s  t  j |  | | | |  t |  j d  } t |  j  |  _ t d |  j  |  j j j	   |  j j
 |  j j t d  |  j  |  j |  j  |  j j j t d  d  |  j j |  j j    t j j d  r t d  } n- t j j d  r
t d  } n t d  } |  j j j |  | d k r| d	 j d
 d  }	 |  j j j |	  | d j d
 d  }
 |  j j j |
  n  t d | d  } |  j j j |  |  j j j |  |  j j j   |  j j j  d g  |  j j j!   j	   xF |  j" D]; } |  j j j# d	 t$ |  j j t d  | j% g   q	WxF |  j& D]; } |  j j j# d	 t$ |  j j t d  | j% g   qRWxF |  j' D]; } |  j j j# d	 t$ |  j j t d  | j% g   qWxF |  j( D]; } |  j j j# d	 t$ |  j j t d  | j% g   qWxF |  j) D]; } |  j j j# d	 t$ |  j j t d  | j% g   q-W|  j j*   } | t j+ k rt, St- S(   s   show the changes dialogues   UTF-8s   dialog_changes.uis	   clicked()t   Detailss    >>>s7   /usr/share/icons/oxygen/48x48/status/dialog-warning.pngs@   /usr/lib/kde4/share/icons/oxygen/48x48/status/dialog-warning.pngs@   /usr/share/icons/crystalsvg/32x32/actions/messagebox_warning.pngi    R
   R   i   s   <big><b>%s</b></big>t   Packagess   No longer supported %ss	   Remove %ss   Remove (was auto installed) %ss
   Install %ss
   Upgrade %sN(.   R   t   confirmChangesR   t   confirmChangesMessageR   RO   t   changesDialogueR   t   treeview_detailsR   R   t   show_details_buttonR   t   showChangesDialogueDetailsR   RT   R
   R'  R(  R   R   R   R   t   question_pixmapR3  Rz   R   t   button_cancel_changest   button_confirm_changest   label_summaryt   label_changest   cleart   setHeaderLabelst   headert	   demotionst   insertTopLevelItemt   QTreeWidgetItemt   namet   toRemovet   toRemoveAutot	   toInstallt	   toUpgradeR   R   R!   R   (   R#   R   t   changesRM  t   downloadSizet   actionst   removal_boldRh   t   warningIcont   cancelt   confirmt   summaryTextt   demotedt   rmt   instt   upR   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR?    sR    %99999c         C   s   |  j  j j   rB |  j  j j   |  j  j j t d  d  n- |  j  j j   |  j  j j d t d   |  j  j |  j  j	    d  S(   NR=  s    >>>s   <<< (
   RA  RB  R   R   RC  RT   R
   Rl   R'  R(  (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRD    s     t   Noc         C   s^   t  j |  j t | d  t d  t | d  t  j t  j Bt  j  } | t  j k rZ t St S(   Ns   UTF-8s   <font>(   Rb   Rc   RO   R   t   YesRa  R!   R   (   R#   R   Rh   t   defaultt   answer(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   askYesNoQuestion  s    Gc         C   s   t  t  j t d  t d  t  j |  j  } | j t  j  } | j t  j  } | j t d  j	 d d   | j t
 j d d   | j   } | t  j k r t St S(   Ns   Restart requireds<   <b><big>Restart the system to complete the upgrade</big></b>s   _Restart NowR
   R  R
  s   &Close(   Rb   t   QuestionR
   t   NoButtonRO   t	   addButtonRb  Ra  RT   R   R   R   R   R!   R   (   R#   t
   messageBoxt	   yesButtont   noButtonRd  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   confirmRestart  s    -c         C   s   t  j   d  S(   N(   R0   R1   (   R#   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR1   %  s    c         C   s   d  S(   N(    (   R#   R   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   pulseProgress(  s    c         C   s_   t  d  } | j d d  } t j |  j t  d  | t j t j  } | t j k r[ t St S(   Ns   <b><big>Cancel the running upgrade?</big></b>

The system could be in an unusable state if you cancel the upgrade. You are strongly advised to resume the upgrade.s   
s   <br />s   Cancel Upgrade?(	   R
   R   Rb   R   RO   Rb  Ra  R!   R   (   R#   R<   RZ  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   .  s    	*N(   RK   RL   RM   Rz   R   R  R   R  R   R&  R   R   R)  R+  R,  R-  R.  R2  R5  R8  R;  R   R!   R?  RD  Re  Rl  R1   R   Rm  R   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR     s4   _																7				t   __main__s   input box tests   bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar i   s   --test-termi    t   bashg{Gz?s   --show-in-terminali   g?t   purge(D   t   PyQt4.QtCoret   PyQt4.QtGuiR   R   R   R   R   R   R  R   t   aptRs   R   R   R'   t   DistUpgradeApportR   R   R   R   R,   R   t   DistUpgradeGettextR   R
   R   R   R   R   Ra   t   CdromProgressRN   t   baset
   OpProgressR\   R`   Rx   R   R   R   RK   t   viewRe  t   argvR   R(   R   R   R  R!   R6   R0   R1   R   R|   R.   R>   R/   t   CacheR*  R   t   is_installedt   isUpgradablet   mark_deletet   mark_installt   commitR   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   <module>   sp   


"			I1 		
 
		