
Oc           @   s  d  d l  m Z m Z m Z m Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z d  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! m" Z" m# Z# d  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 j0 j1 f d     YZ2 d e j0 j3 j4 f d     YZ5 d e' f d     YZ6 d e& f d     YZ7 d e f d     YZ8 d e$ f d     YZ9 e: d k re9   Z; e; j< d d  e j= d d k re; j> j?   Z@ e@ d k re jA d g  e jB   n  x. eC re; j> jD   e jE   e jF d   qWn  e j= d d! k rTxH eG e j= d"  jH   D]- ZI e; j> jJ eI  e jE   e jF d#  q	Wx eC rPe jE   q=Wn  e jK   ZL xU e j= d D]F ZM eL eM jN oeL eM jO reL eM jP d$ eC  n eL eM jQ   qnWeL jR e; jS e; jT  x eC re jE   qWn  d S(%   i(   t   QUrlt   Qtt   SIGNALt   QTimer(   t   QDesktopServicest   QDialogt   QPixmapt   QTreeWidgetItemt   QMessageBoxt   QApplicationt	   QTextEditt   QTextOptiont   QTextCursort   QPushButtont   QWidgett   QIcont   QHBoxLayoutt   QLabel(   t   uicN(   t
   run_apportt   apport_crash(   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   _4   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   utf87   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#   <   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(   R
   t   __init__t   installProgresst   setFontFamilyt   setFontPointSizet   setWordWrapModeR   t   NoWrapt   setUndoRedoEnabledt   Falset   setOverwriteModet   Truet   _block(   t   selfR*   t   parent_frame(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR)   E   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(   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR9   R   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   R	   t   processEvents(   R4   t   rlistt   wlistt   xlistt   line(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   update_interfaceY   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(   R4   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   keyR   t   Key_BackspaceR    t   writeR;   RK   RL   t   toUtf8(   R4   t   ev(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   keyPressEvents   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(   R3   R2   t
   moveCursorR   t   EndR0   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   onCursorPositionChanged   s
    		(	   t   __name__t
   __module__t   __doc__R)   R9   RF   R@   RU   RX   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR&   C   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%   (   R4   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(   R_   t   setTextRa   t   setValuet   floatt
   totalStepsR	   RA   (   R4   RL   t   step(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   update   s    c         C   s
   t  d f S(   NR'   (   R0   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   askCdromName   s    c         C   s   t  S(   N(   R0   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   changeCdrom   s    (   RY   RZ   R[   R)   Rg   Rh   Ri   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR\      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(   Ra   t   progressbar_label(   R4   Ra   Rk   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR)      s    	c         C   s   |  j  j |  t j   d  S(   N(   Ra   Rc   R	   RA   (   R4   t   percent(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRg      s    c         C   s   |  j  j d  d  S(   NR'   (   Rk   Rb   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   done   s    (   RY   RZ   R[   R)   Rg   Rm   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRj      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)   R]   R^   R_   R`   t   progressR%   (   R4   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   R   t   questionR%   R]   t   Okt   CancelR2   R0   (   R4   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   startRo   Rc   R_   t   show(   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRx      s    c         C   s0   |  j  j j j d  |  j j t d   d  S(   Ns     s   Fetching is complete(   R%   R]   t   progress_textRb   R_   R   (   R4   (    (    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   pulseRo   Rc   Rl   t   current_itemst   total_itemst   current_cpsR_   Rb   R   t   apt_pkgt   size_to_strR%   R]   Rz   R   R   t   etaR	   RA   R2   (   R4   t   ownert   current_item(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR|      s    2=#
(   RY   RZ   R[   R)   Rw   Rx   R{   R|   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRn      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::StopOnErrorR0   (   R   R)   t   Nonet   _cacheR]   R^   R`   Ro   Rz   R%   t   opent   _terminal_logt	   Exceptiont   loggingt   errort   syst   stdoutR   t   configt   set(   R4   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_updateR0   t   finishedR^   Rb   R   Ro   Rc   Rz   t
   start_timet   time_uit   last_activityR%   R]   t   showTerminalButtont
   setEnabledR2   (   R4   (    (    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   dgettextR0   R   R   R%   R]   R#   t   translate_widget_childrent   label_errorRb   R   R   t   textview_errorRy   t   hidet   connectt   button_bugreportR   t	   reportBugt   exec_(   R4   t   pkgt   errormsgt   summaryRu   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%   R]   t   confDialogueR#   t   label_conffileRb   t   textview_conffileR   R   t   show_difference_buttonR   t   showConffileR    R!   R"   R   t
   subprocesst   Popent   PIPEt   communicateR   R   t   AcceptedRR   R;   (
   R4   t   currentt   newRx   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   Rb   R   Ry   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   F  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    R6   R7   t   DEBIAN_FRONTENDt   kdet   noninteractivet   nonet   APT_LISTCHANGES_FRONTENDs    fork pid is: %s(	   R8   R9   R:   R;   R    R<   t   has_keyR   R   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR9   N  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   Ro   Rc   Rl   R^   Rb   R   t   stripR   R0   t   activity_timeout_reportedR   Rd   Rz   R   R   (   R4   R   Rl   R_   t   deltat   time_per_percentR   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   status_changeZ  s    	#c         C   s   |  j  j d  d  S(   NR'   (   R^   Rb   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   finish_updateq  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(!   R2   R=   R;   R>   R    R?   R   RR   R%   t   terminal_textR@   R   R   R   R   R   RF   t
   ValueErrorR   R   t   TIMEOUT_TERMINAL_ACTIVITYR   R   t   warningR^   RL   t   UnicodeEncodeErrorR]   t   konsole_frameRy   R	   RA   t   sleep(   R4   RB   RC   RD   RE   R   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRF   t  s8    	'		'
c         C   sL   xE t  rG |  j   t j |  j t j  \ } } | |  j k r Pq q W| S(   N(   R2   RF   R    t   waitpidR:   t   WNOHANG(   R4   t   pidt   res(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt
   wait_child  s    	
(   RY   RZ   R[   R   R)   R   R   R   R   R9   R   R   RF   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR      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(   R   R)   R#   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR)     s    c         C   s   | |  _  d  S(   N(   R%   (   R4   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(   R4   t   eventt   close(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt
   closeEvent  s    (   RY   RZ   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   sB  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 r0t j d | k r0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<   R	   t   appR"   R   t   setWindowIconR   R   R]   R   Ry   t	   prev_stepRj   R`   Rz   t   _opCacheProgressRn   t   _fetchProgressR\   t   _cdromProgressR   t   _installProgresst   _handleExceptionR   t
   excepthookR   R   R0   R   R   t   showTerminalt   tempfilet   mkstempt   shutilt   copyR   t   callR   t   label_titleRb   RL   t   replaceR   R   R   t   konsole_frame_layoutt   setMinimumSizeR&   R   t	   addWidgetR   t
   singleShott   exitMainLoopR   (	   R4   t   datadirt   logdirt   loggert	   localedirR   t   messageIcont   fdt	   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(   R4   (    (    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(   R   R]   R   R   R   R   t   windowTitlet   setWindowTitleR   R   R   t   childrent   translate_widgetR   (   R4   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   R   R   R   RL   Rb   R   R   R   R   R  (   R4   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   R   R   R   R]   R#   R   t   dialogt   crash_detailRb   R   R   R  (   R4   t   exctypet   excvaluet   exctbt   linest   tbtextR  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   5  s    	c         C   s   t  j t |   d S(   s   start konquerorN(   R   t   openUrlR    (   R4   t   url(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   openURLP  s    c         C   s   t  j t d   d S(   s   start konquerors<   https://launchpad.net/ubuntu/+source/update-manager/+filebugN(   R   R%  R    (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   V  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(
   R]   R   R   R   R   Rb   R   Ry   t   resizet   sizeHint(   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   \  s    c         C   s   |  j  S(   N(   R   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getFetchProgresse  s    c         C   s   | |  j  _ |  j  S(   N(   R   R   (   R4   t   cache(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getInstallProgressh  s    c         C   s   |  j  S(   N(   R   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getOpCacheProgressl  s    c         C   s   |  j  S(   N(   R   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   getCdromProgresso  s    c         C   s   |  j  j j t |   d  S(   N(   R]   R^   Rb   R   (   R4   Ru   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   update_statusr  s    c         C   sD   t  |  j d |  } t  |  j d |  } | j   | j   d  S(   Ns   image_step%is   label_step%i(   t   getattrR]   R   (   R4   Rf   t   imaget   label(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   hideStepu  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   R0  R]   R    R!   R"   R   t	   setPixmapRy   (   R4   Rf   R1  t
   cancelIcon(    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   abort{  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   R0  R]   R4  Ry   Rb   RL   (   R4   Rf   t   okIcont	   arrowIconR1  R2  (    (    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   R]   R#   R   R   Rb   R   R   R   Ry   R   R   R  R   R    R!   R"   R   R1  R4  R   (   R4   R   Ru   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   R]   R#   R   R   Rb   R   R   R   Ry   R   t   button_closeR   R   R   R   R   R    R!   R"   R   R1  R4  R   R0   (   R4   R   Ru   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   R]   t   changesDialogueR#   t   treeview_detailsR   R   t   show_details_buttonR   t   showChangesDialogueDetailsR   Rb   R   R(  R)  R    R!   R"   R   t   question_pixmapR4  R   R  t   button_cancel_changest   button_confirm_changest   label_summaryt   label_changest   cleart   setHeaderLabelst   headert	   demotionst   insertTopLevelItemR   t   namet   toRemovet   toRemoveAutot	   toInstallt	   toUpgradeR   R   R2   R0   (   R4   R   t   changesRN  t   downloadSizet   actionst   removal_boldRu   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   <<< (
   RB  RC  R   R   RD  Rb   R   Ry   R(  R)  (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRE    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>(   R   Rp   R]   R   t   YesRa  R2   R0   (   R4   R   Ru   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(   R   t   QuestionR   t   NoButtonR]   t	   addButtonRb  Ra  Rb   R  R   R   R   R2   R0   (   R4   t
   messageBoxt	   yesButtont   noButtonRd  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyt   confirmRestart  s    -c         C   s   t  j   d  S(   N(   R	   RA   (   R4   (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyRA   )  s    c         C   s   d  S(   N(    (   R4   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  R   R   R]   Rb  Ra  R2   R0   (   R4   RL   RZ  (    (    sB   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyR   2  s    	*N(   RY   RZ   R[   R   R)   R  R   R  R   R'  R   R   R*  R,  R-  R.  R/  R3  R6  R9  R<  R   R2   R@  RE  Re  Rl  RA   R0   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(U   t   PyQt4.QtCoreR    R   R   R   t   PyQt4.QtGuiR   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R   t   aptR   R    R   R8   t   DistUpgradeApportR   R   R   R   R   R   R=   R   t   DistUpgradeGettextR   R   R   R#   R&   Ro   t   CdromProgressR\   t   baset
   OpProgressRj   Rn   R   R   R   RY   t   viewRe  t   argvR   R9   R   R   R  R2   RF   RA   R   R   R?   RN   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 		
 
		