+
    j                     ^   ^RI HtHtHtHtHtHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI t ^RI!H"t"H#t# ^RI$H$t$H%t%H&t&H't' ^RI(H)t) ^RI*H+t, ^ RI-t-^ RI.t.^RI/H.t0 ^RI/H1t1 ^R	I2H2t2 RR
 lt3R t4R t5. 3R lt6R t7]Pn                  ]n8        ]7]n7         ! R R4      t9 ! R R]4      t: ! R R]Pv                  Px                  Pz                  4      t> ! R R]'4      t? ! R R]&4      t@ ! R R]4      tA ! R R]$4      tBR# )   )uicQtQLocaleQTranslatorQTimer
QEventLoop	QTextEditQApplicationQDialogQMessageBoxQDialogButtonBoxQTreeWidgetItemQPushButtonQWidgetQHBoxLayoutQLabelQTextOptionQPixmapQIconQTextCursorN)
run_apportapport_crash)DistUpgradeViewFuzzyTimeToStrInstallProgressAcquireProgress)DistUpgradeConfig)get)gettext)unicode_gettext)
QUrlOpenerc                 V    \        V \        4      '       d   V P                  R V4      # V # )UTF-8)
isinstancebytesdecode)serrorss   &&@/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeViewKDE.pyutf8r*   =   s%    !Uxx((    c                     \         P                  P                  V 4      '       d   \        P                  ! W4       R# \        R V ,           4       R# )zerror, can't find file: N)ospathexistsr   loadUiprint)fileparents   &&r)   r0   r0   D   s1    	ww~~d

4  	(4/0r+   c                 f    \         P                  P                  V 4      '       d   \        V 4      # R # N)r-   r.   r/   r   )r.   s   &r)   _find_pixmapr6   K   s"    	ww~~dt}r+   c                 .    \         P                  ! V 4      # r5   )r   	fromTheme)name	fallbackss   &&r)   _iconr;   P   s    ??4  r+   c                 X    V P                  4       '       g   V P                  V 4       R # R # r5   )isMaximizedorigAdjustSizeselfs   &r)   
adjustSizerA   Z   s$    D! r+   c                   J   a  ] tR t^`t o RtRtR	R ltR tR tR t	R t
RtV tR# )

_OSReleasez/etc/os-releasec                   / V n         R V n        \        P                  V n        \
        P                  P                  V P                  4      '       g   R# V P                  4        RV n        V'       d   V P                  4        R# R# )FNT)
resultvalidrC   OS_RELEASE_FILEr2   r-   r.   isfileparseinject_lsb_compat)r@   
lsb_compats   &&r)   __init___OSRelease.__init__d   s[    
..	ww~~dii((


""$ r+   c                   V P                   R ,          V P                   R&   V P                   R,          V P                   R&   V P                   P                  R4      V P                   R&   V P                   R,          '       g)   V P                   P                  R4      V P                   R&   V P                   P                  R4      V P                   R&   R	# )
IDzDistributor IDPRETTY_NAMEDescriptionVERSION_CODENAMECodenameUBUNTU_CODENAME
VERSION_IDReleaseN)rE   r   r?   s   &r)   rJ   _OSRelease.inject_lsb_compatr   s    (,D(9$%%)[[%?M""&++//2D"EJ{{:&&&*kkoo6G&HDKK
#!%!>Ir+   c                    \        V P                  R 4      pV F=  pVP                  4       pV'       g   K  V P                  ! VP	                  R^4      !   K?  	  VP                  4        R# )r=N)openr2   stripparse_entrysplitclose)r@   flines   &  r)   rI   _OSRelease.parse|   sQ    C D::<Ddjja01	 
 	
	r+   c                    V P                  V4      pVR 8X  d(   \        V\        4      '       d   VP                  R4      pW P                  V&   R# )ID_LIKE N)parse_valuer$   strr^   rE   )r@   keyvalues   &&&r)   r]   _OSRelease.parse_entry   sB      ')
5# 6 6 KK$E Cr+   c                d    \         P                  ! V4      p\        V4      ^8X  d
   V^ ,          # V# )r   )shlexr^   len)r@   ri   valuess   && r)   rf   _OSRelease.parse_value   s+    U#v;!!9r+   )r2   rE   rF   NT)__name__
__module____qualname____firstlineno__DEFAULT_OS_RELEASE_FILErG   rL   rJ   rI   r]   rf   __static_attributes____classdictcell____classdict__s   @r)   rC   rC   `   s.     /'O%?! r+   rC   c                   H   a  ] tR t^t o RtR tR tR tR tR t	R t
RtV tR	# )
DumbTerminalzA very dumb terminal c                *   \         P                  ! V RV4       Wn        V P                  R4       V P	                  ^4       V P                  \        P                  P                  4       V P                  R4       V P                  R4       RV n        R# )z1really dumb terminal with simple editing support  	MonospaceFTN)r	   rL   installProgresssetFontFamilysetFontPointSizesetWordWrapModer   WrapModeNoWrapsetUndoRedoEnabledsetOverwriteMode_block)r@   r   parent_frames   &&&r)   rL   DumbTerminal.__init__   ss    4\2.;'a [11889&d#r+   c                    \         P                  ! 4       w  V n        V P                  n        V P                  ^ 8X  d   R\
        P                  R&   V P                  # )
pty voodoodumbTERM)ptyfork	child_pidr   	master_fdr-   environr?   s   &r)   r   DumbTerminal.fork   sA    ;>88:8--7>>Q!'BJJv~~r+   c                <   \         P                   ! V P                  P                  .. . ^ 4      w  rp\        V4      ^ 8  dF   \        P
                  ! V P                  P                  ^4      pV P                  \        V4      4       \        P                  ! 4        R#     N)
selectr   r   rm   r-   readinsertWithTermCodesr*   r
   processEvents)r@   rlistwlistxlistra   s   &    r)   update_interfaceDumbTerminal.update_interface   sq     &t/C/C/M/M.NrRTVW Xuu:>774//993?D$$T$Z0""$r+   c                   V P                  \        P                  P                  4       RpV Fr  p\	        V4      ^8X  d4   V P                  V4       V P                  4       P                  4        RpKF  V\        ^4      8X  d   KX  V\        ^4      8X  d   Kj  W#,          pKt  	  V P                  V4       V P                  4        R# )zsupport basic terminal codes r}   N)

moveCursorr   MoveOperationEndordinsertPlainText
textCursordeletePreviousCharchrensureCursorVisible)r@   textdisplay_textcs   &&  r)   r    DumbTerminal.insertWithTermCodes   s     	11556A1v{$$\2!446c"gc!f!  	\*  "r+   c                   \        V P                  R4      '       g   R# VP                  4       \        P                  P
                  8X  d.   \        P                  ! V P                  P                  R4       R# VP                  4       '       g   R# \        P                  ! V P                  P                  VP                  4       P                  R4      4       R# )z#send (ascii) key events to the pty r   N   zutf-8)hasattrr   rh   r   KeyKey_Backspacer-   writer   r   encode)r@   evs   &&r)   keyPressEventDumbTerminal.keyPressEvent   s     t++[99668rvv+++HHT))33W=wwyy
%%//1A1A'1JKr+   c                    V P                   '       d   R# RV n         V P                  \        P                  P                  4       RV n         R# )z9helper that ensures that the cursor is always at the end NTF)r   r   r   r   r   r?   s   &r)   onCursorPositionChanged$DumbTerminal.onCursorPositionChanged   s4    ;;;11556r+   )r   r   r   N)rq   rr   rs   rt   __doc__rL   r   r   r   r   r   rv   rw   rx   s   @r)   r{   r{      s,      
%#.L  r+   r{   c                   F   a a ] tR t^t oRtR tRV 3R lltR tRtVt	V ;t
# )KDEOpProgresszmethods on the progress bar c                    Wn         W n        R # r5   progressbarprogressbar_label)r@   r   r   s   &&&r)   rL   KDEOpProgress.__init__   s    $0r+   c                   < \         \        V `  V4       V P                  P	                  \        V P                  4      4       \        P                  ! 4        R # r5   )	superr   updater   setValueintpercentr
   r   )r@   r   	__class__s   &&r)   r   KDEOpProgress.update   s=    M4'0 DLL 12  "r+   c                <    V P                   P                  R 4       R# r}   N)r   setTextr?   s   &r)   doneKDEOpProgress.done   s    
$$R(r+   r   r5   )rq   rr   rs   rt   r   rL   r   r   rv   rw   __classcell__r   ry   s   @@r)   r   r      s     %1#) )r+   r   c                   B   a  ] tR t^t o RtR tR tR tR tR t	Rt
V tR# )	KDEAcquireProgressAdapterz>methods for updating the progress bar while fetching packages c                    \         P                  ! V 4       VP                  P                  V n        VP                  P
                  V n        Wn        R # r5   )r   rL   window_mainlabel_statusstatusprogressbar_cacheprogressr3   )r@   r3   s   &&r)   rL   "KDEAcquireProgressAdapter.__init__   s;      &((55**<<r+   c                <   \        R 4      W3,          p\        P                  ! V P                  P                  \        R4      V\        P
                  P                  \        P
                  P                  4      pV\        P
                  P                  8X  d   R# R# )z&Please insert '%s' into the drive '%s'zMedia ChangeTF)_r   questionr3   r   StandardButtonOkCancel)r@   mediumdrivemsgchanges   &&&  r)   media_change&KDEAcquireProgressAdapter.media_change  s    676.Hc##DKK$;$;Q~=NPSU`UoUoUrUrt  uO  uO  uV  uV  Wf	;--00	0r+   c                    \         P                  ! V 4       V P                  P                  ^ 4       V P                  P                  4        R# r   )r   startr   r   r   showr?   s   &r)   r   KDEAcquireProgressAdapter.start  s2    d#q!r+   c                    V P                   P                  P                  P                  R 4       V P                  P                  \        R4      4       R# )  zFetching is completeN)r3   r   progress_textr   r   r   r?   s   &r)   stopKDEAcquireProgressAdapter.stop  s8    --55d;A456r+   c                   \         P                  ! W4       V P                  P                  \	        V P
                  4      4       V P                  ^,           pW P                  8  d   V P                  pV P                  ^ 8  d   \        P                  ! V P                  4      p\        V\        4      '       d%   VP                  \        P                  ! 4       4      pV P                   P#                  \%        R4      W P                  V3,          4       V P&                  P(                  P*                  P#                  R\%        R4      \-        V P.                  4      ,          ,           R,           4       MeV P                   P#                  \%        R4      W P                  3,          4       V P&                  P(                  P*                  P#                  R4       \0        P2                  ! 4        R# )z[we don't have a mainloop in this application, we just call processEvents here and elsewherez!Fetching file %li of %li at %sB/sz<i>About %s remainingz</i>zFetching file %li of %lir   T)r   pulser   r   r   r   current_itemstotal_itemscurrent_cpsapt_pkgsize_to_strr$   r%   r&   localegetpreferredencodingr   r   r   r3   r   r   r   etar
   r   )r@   ownercurrent_itemr   s   &&  r)   r   KDEAcquireProgressAdapter.pulse  s[    	d*s4<<01))A-***++La!--d.>.>?K+u--)001L1L1NOKK"E F,XhXhjuIv vwKK##1199%!DXBY\jkoksks\tBt:tw}:}~KK"< =O_O_@` `aKK##1199$?""$r+   )r3   r   r   N)rq   rr   rs   rt   r   rL   r   r   r   r   rv   rw   rx   s   @r)   r   r      s&     I7 r+   r   c                   d   a  ] tR tRt o Rt^tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )KDEInstallProgressAdapteri.  z?methods for updating the progress bar while installing packagesc                X   \         P                  ! V 4       R V n        VP                  P                  V n        VP                  P
                  V n        VP                  P                  V n        Wn         \        RR4      V n
        \$        P&                  P)                  RR4       R #   \         dv   p\        P                  ! RT,          4       \        P                  R8  d%   \        P                   P"                  T n
         R p?L\        P                   T n
         R p?LR p?ii ; i)Nz/var/log/dist-upgrade/term.logwbzCan not open terminal log: '%s'3zDPkg::StopOnErrorFalse)r   rL   _cacher   r   r   r   r   r3   r[   _terminal_log	Exceptionloggingerrorsysversionstdoutbufferr   configset)r@   r3   es   && r)   rL   "KDEInstallProgressAdapter.__init__4  s      &"..;;**<<#//==	0!%&Ft!LD 	.w7  	0MM;a?@{{c!%(ZZ%6%6""%(ZZ""	0s   6B) )D)4AD$
D$$D)c                |   \         P                  ! V 4       R V n        V P                  P	                  \        R4      4       V P                  P                  ^ 4       V P                  P	                  R4       RV n	        RV n
        RV n        V P                  P                  P                  P                  R4       R# )FzApplying changesre           TN)r   start_updatefinishedr   r   r   r   r   r   
start_timetime_uilast_activityr3   r   showTerminalButton
setEnabledr?   s   &r)   r  &KDEInstallProgressAdapter.start_updateG  s    $$T* 	!!!$6"78q!""3' 22==dCr+   c                   \         P                  ! WV4       \        P                  ! R V: RV: R24       \        P                  ! RR4      V9   d   R# \        R4      V,          p\        R4      V,          pRV: R	V: 2p\        V P                  P                  4      p\        R
V4       V P                  P                  V4       VP                  P                  V4       VR8w  d7   VP                  P                  V4       VP                  P                  4        MVP                  P                  4        VP!                  4        VP#                  4        R# )z!got an error from dpkg for pkg: 'z': ''dpkgz*dependency problems - leaving unconfiguredFzCould not install '%s'zThe upgrade will continue but the '%s' package may not be in a working state. Please consider submitting a bug report about it.<big><b></b></big><br />dialog_error.uiN)r   r  r  r   dgettextr   r   r3   r   r0   translate_widget_childrenlabel_errorr   textview_errorr   hiderA   exec)r@   pkgerrormsgsummaryr   dialogues   &&&   r)   r  KDEInstallProgressAdapter.errorV  s
   d2c8TUF$PQU]],-3 ' (*-. 18=4;;223 (+--h7$$S)t##++H5##((*##((*r+   c                   \         P                  ! RV,          4       \        P                  ! 4       p\        R4      V,          p\        R4      pRV: RV: 2p\	        V P
                  P                  4      V n        \        RV P                  4       V P                  P                  P                  V4       V P                  P                  P                  4        V P                  P                  P                  P                  V P                   4       \"        P$                  P'                  V4      '       g
   VR,           p\"        P$                  P'                  R4      '       dy   RR	W.p\(        P*                  ! V\(        P,                  R
7      P/                  4       ^ ,          pVP1                  RR4      pV P                  P                  P                  V4       M.V P                  P                  P                  \        R4      4       V P                  P3                  4       p	V ;P4                  \        P                  ! 4       V,
          ,          un        V	\        P6                  P8                  8X  d$   \"        P:                  ! V P<                  R4       R# \"        P:                  ! V P<                  R4       R# )z6ask question in case conffile has been changed by userz.got a conffile-prompt from dpkg for file: '%s'z/Replace the customized configuration file
'%s'?ztYou will lose any changes you have made to this configuration file if you choose to replace it with a newer version.z"<span weight="bold" size="larger">z </span> 

zdialog_conffile.uiz
.dpkg-distz/usr/bin/diffz-u)r  r#   replacez The 'diff' command was not founds   y
s   n
N)r  debugtimer   r   r3   r   confDialoguer0   label_conffiler   textview_conffiler%  show_difference_buttonclickedconnectshowConffiler-   r.   r/   
subprocessPopenPIPEcommunicater&   r&  r  
DialogCodeAcceptedr   r   )
r@   currentnewr   primsecmarkupcmddiffrE   s
   &&&       r)   conffile"KDEInstallProgressAdapter.conffileo  s   FPQ		CDwN # $ OSTWX#DKK$;$;<#T%6%67((008++002 	0088@@ARARS ww~~g&&L(' 77>>/** $5#!!#joo>JJLQO$Wi0$



-
-
5
5d
;



-
-
5
5a8Z6[
\""'')		e++W''000HHT^^V,HHT^^V,r+   c                   V P                   P                  P                  4       '       dU   V P                   P                  P                  4        V P                   P                  P                  \        R 4      4       R# V P                   P                  P                  4        V P                   P                  P                  \        R4      4       R# )zShow Difference >>>z<<< Hide DifferenceN)r0  r2  	isVisibler%  r3  r   r   r   r?   s   &r)   r6  &KDEInstallProgressAdapter.showConffile  s    ..88:://44644<<Q?T=UV//44644<<Q?T=UVr+   c                   \         P                  ! 4       w  V n        V n        V P                  ^ 8X  dk   R\        P
                  R&   R\        P
                  9  g   \        P
                  R,          R8X  d   R\        P
                  R&   R\        P
                  R&   \        P                  ! RV P                  ,          4       V P                  # )	r   r   r   DEBIAN_FRONTENDkdenoninteractivenoneAPT_LISTCHANGES_FRONTENDz fork pid is: %s)r   r   r   r   r-   r   r  r.  r?   s   &r)   r   KDEInstallProgressAdapter.fork  s    +.88:(>>Q!'BJJv!3

,-60@

,-5;BJJ12(4>>9:~~r+   c                   V P                   R8X  d   \        P                  ! 4       V n         V P                  P                  \	        V P
                  4      4       V P                  P                  \        VP                  4       4      4       VR8  d   \        P                  ! 4       V n
        RV n        V P                  V P                   ,
          pW@P                  ,          p\        V4      V,          pRV P
                  ,
          V,          pVR8  d>   VR	8  d7   V P                  P                  \        R4      \!        V4      ,          4       R# V P                  P                  R4       R# R# )
zupdate progress bar and labelr  g      ?Fg      Y@g     N@r   re   Ni  )r  r/  r   r   r   r   r   r   r*   r\   r  activity_timeout_reportedr  floatr   r   r   )r@   r'  r   r   deltatime_per_percentr   s   &&&&   r)   status_change'KDEInstallProgressAdapter.status_change  s    ??c! IIK$/s4<<01!!$v||~"67S=#yy{$
+0$
($$t6%
<<
%#El72
%)99#4ZC:.&&q)='>PSAT'TU&&s+ r+   c                <    V P                   P                  R 4       R# r   )r   r   r?   s   &r)   finish_update'KDEInstallProgressAdapter.finish_update  s    !!"%r+   c                      \         P                   ! V P                  .. . ^ 4      w  rp\        V4      ^ 8  do   \        P                  ! V P                  ^4      pV P
                  P                  V4       V P                  P                  P                  \        VRR7      4       K    \        P                   ! T 4       T P&                  ^ 8  d   T P&                  T P(                  ,           \*        P*                  ! 4       8  d   T P,                  '       gJ    \        P.                  ! R
T P(                  : RT P0                  P3                  4       : R24       RT n        T P                  P6                  P8                  P;                  4        \<        P>                  ! 4        \*        P@                  ! R4       R#   \         d5   p\        T4       \        P                  ! RT,          4        Rp?EKM  Rp?ii ; i  \"         d<   p\        P$                  ! RT P                  : RT: R24       R	T n         Rp?ELRp?ii ; i  \4         d,    \        P.                  ! RT P(                  ,          4        EL"i ; i)z~
no mainloop in this application, just call processEvents lots here
it's also important to sleep for a minimum amount of time
Tr-  )r(   z&error reading from self.master_fd '%s'Nz@got ValueError from InstallProgress.update_interface. Line was 'z' ()r}   zno activity on terminal for z
 seconds (z&no activity on terminal for %s secondsg{Gz?)!r   r   rm   r-   r   r  r   r3   terminal_textr   r*   r  r1   r  r.  r   r   
ValueErrorr  r  TIMEOUT_TERMINAL_ACTIVITYr/  rQ  warningr   r   UnicodeEncodeErrorr   konsole_framer   r
   r   sleep)r@   r   r   r   ra   r  s   &     r)   r   *KDEInstallProgressAdapter.update_interface  s    (.t~~6Fr"a(P%uu:>774>>37D&&,,T2KK--AAT)46 	

*
*4
0 !!?!??499;N///mQUQoQoqu  rC  rC  rH  rH  rJ  !K  L .2D*
++
!
!
/
/
4
4
6""$

41  aFJK  	
--fjfofoqrs
t$))	 & m HDLjLj klmsC   B#F< *G> AI <G;(G66G;>I	0H??I2I=<I=c                     V P                  4        \        P                  ! V P                  \        P                  4      w  rWP                  8X  g   KT   V# rp   )r   r-   waitpidr   WNOHANG)r@   pidress   &  r)   
wait_child$KDEInstallProgressAdapter.wait_child  s=    !!#DNN2::>JSnn$
r+   )r  r  rQ  r   r0  r  r   r  r   r3   r   r   r   r  r  N)rq   rr   rs   rt   r   r^  rL   r  r  rD  r6  r   rU  rX  r   ri  rv   rw   rx   s   @r)   r   r   .  sK     I !$8&D2#-JW
,.&(T r+   r   c                   >   a a ] tR tRt oV 3R ltR tR tRtVtV ;t	# )UpgraderMainWindowi  c                <   < \         SV `  4        \        R V 4       R# )zwindow_main.uiN)r   rL   r0   )r@   r   s   &r)   rL   UpgraderMainWindow.__init__  s    &r+   c                    Wn         R # r5   r3   )r@   	parentRefs   &&r)   	setParentUpgraderMainWindow.setParent  s    r+   c                    V P                   P                  4       pV'       d   VP                  4        R # VP                  4        R # r5   )r3   on_window_main_delete_eventacceptignore)r@   eventr_   s   && r)   
closeEventUpgraderMainWindow.closeEvent  s)    779LLNLLNr+   rp  )
rq   rr   rs   rt   rL   rr  ry  rv   rw   r   r   s   @@r)   rl  rl    s     '  r+   rl  c                      a a ] tR tRt oRtRR ltRR ltR tR tR t	R t
R	 tR
 tR tR tR tV 3R ltRR ltRR ltRR ltR tRR ltRR ltR tR tRR ltR tRtVtV ;t# ) DistUpgradeViewKDEi	  z$KDE frontend of the distUpgrade toolc                   \         P                  ! V 4       \        4       P                  R 4       \        P
                  ! R4      pVP                  \        P                  4       V'       d   VR8X  dX   \        P                  P                  \        P                  ! 4       R4      p\        \        P                  ! 4       4      V n        MRp\        V4      V n         \        P                  ! RV4       \        P                   ! R4       R\        P&                  9   g   \#        R	4      hR
\        P&                  R&   R\        P&                  R&   R\        P&                  R&   R
\        P&                  R&   \)        R.4      V n        \-        V P*                  4      pVP/                  \0        P2                  ! 4       RRR4       V P*                  P5                  V4       \7        4       P9                  4        V P*                  P:                  P=                  \7        4       P>                  4       \A        RRR.R7      pV P*                  PC                  V4       \E        4       V n#        V PF                  PI                  4        RV n%        \M        V PF                  PN                  V PF                  PP                  4      V n)        \U        V 4      V n+        \Y        V 4      V n-        V P\                  \^        n0        V PF                  Pb                  Pe                  R4       V PF                  Pb                  Pf                  P=                  V Ph                  4       \        P                  ! RV4       \        P                   ! R4       V Pk                  4        \m        4       Pn                  R,          pV'       d   VR8X  d   RpV P                  Pq                  RR4      p	\r        Pt                  ! 4       Pw                  V	4      ;'       g    Rp
V PF                  Px                  P{                  4       pVP}                  RV4      pVP}                  RV
4      pV PF                  Px                  P                  V4       V PF                  P                  P                  4        \        V PF                  P                  4      V nC        V PF                  P                  P                  R R!4       \        V PZ                  V PF                  P                  4      V nF        V P                  P                  V P                  4       V P                  PI                  4        \        4       p\        P                  ! ^dVP                  4       VP                  4        R#   \"         d)   p\        P$                  ! RT,          4        Rp?ELRp?ii ; i)"KDEPyQt6.moz)/usr/share/locale/ubuntu-release-upgraderzubuntu-release-upgraderzError setting locales (%s)NDISPLAYzNo DISPLAY in os.environ foundrK  QT_PLATFORM_PLUGINTRUEKDE_FULL_SESSION6KDE_SESSION_VERSIONQT_QPA_PLATFORMTHEMEqtr   z/usr/share/qt6/translationszsystem-software-updatez=/usr/share/icons/oxygen/48x48/apps/system-software-update.pngz5/usr/share/icons/hicolor/48x48/apps/adept_manager.pngr:   FrP   UbuntuKubuntuSourcesTodevelz%siX  i  )Mr   rL   get_telemetryset_updater_typer  	getLoggersetLevelINFOr-   r.   joingetcwdr   r  r   bindtextdomain
textdomainr  r_  r   r
   appr   loadr   systeminstallTranslatorr!   setupUrlHandlesaboutToQuitr5  teardownUrlHandlesr;   setWindowIconrl  r   r   	prev_stepr   r   r   _opCacheProgressr   _acquireProgressr   _installProgress_handleExceptionr	  
excepthookr  r  r4  showTerminalr"  rC   rE   r   distro_infoUbuntuDistroInfor
  label_titler   r-  r   ra  r%  r   konsole_frame_layoutsetMinimumSizer{   r\  	addWidgetr   r   
singleShotquitr&  )r@   datadirlogdirlogger	localedirr  
translatormessageIconr9   to_dist
to_versiontitle_stringloops   &&&          r)   rL   DistUpgradeViewKDE.__init__  s*     &((/""7+%'S.GGLLT2))"))+6$+?))'2$+	<

 
 !:I
F


6
7 BJJ&<== ,1

'( *0

%& -0

()-2

)*!: ;< !*
($5RS"":.$$&$$Z\%D%DE4'f'^'`a 	{+-/ -d.>.>.P.PRVRbRbRpRp q 9$ ? 9$ ? ..++66u=++33;;D<M<MN 	8C45&&(|""=1tx'D++//)T2 113;;GDOO
''3388:#++Hd;#++D*=$$,,\: 	&&++-$/0@0@0N0N$O!&&55c3?)$*?*?AQAQA_A_`!!++D,>,>?! |#tyy)		c  	<
//6:
;
;	<s   -V W V;;W c                   VR 8X  d   V P                   p\        V\        4      '       g   \        V\        4      '       dw   \	        VP                  4       4      R8X  d(   VP                  \        P                  ! RR4      4       M1VP                  \        \	        VP                  4       4      4      4       VP                  4       R 8w  d<   VP                  4        F%  pV P                  V4       V P                  V4       K'  	  R # R # )NErrorkdelibs)r   r$   r   r   rg   windowTitlesetWindowTitler   r!  r   childrentranslate_widgetr"  )r@   parentWidgetwidgets   && r)   r"  ,DistUpgradeViewKDE.translate_widget_childrenp  s    4++LlG,,
<0Q0Q<++-.'9++W-=-=i-QR++As<3K3K3M/N,PQ  "d*&//1%%f-..v6 2 +r+   c                   \        V\        4      '       g   \        V\        4      '       Ed4   \        VP	                  4       4      R 8X  dK   \
        P                  ! R\
        P                  ! R4      RR7      pVP                  \        VR 4      4       R# \        VP	                  4       4      R8X  dK   \
        P                  ! R\
        P                  ! R4      RR7      pVP                  \        VR4      4       R# \        VP	                  4       4      R8w  dD   VP                  \        \        VP	                  4       4      4      P                  RR4      4       R# R# R# )	z&Cancelr  T)fallback&Closer}   r   &N)r$   r   r   rg   r   r   translationr  r   r    r   r-  )r@   r  r  s   && r)   r  #DistUpgradeViewKDE.translate_widget~  s    ff%%FK)H)H6;;=!Y.!--w11)<tMw	BCV[[]#x/!--w11)<tMwABV[[]#r)#fkkm"4 5 = =c3 GI * *Ir+   c                   \        V\        4      '       g   \        V\        4      '       d   R# \        P                  ! WV4      p\
        P                  ! RRP                  V4      ,          4       \        WV4       \        4       '       g   RP                  \        P                  ! WV4      4      p\        V P                  4      p\        RV4       V P                  V P                  4       VP                  P!                  V4       VP#                  4        VP%                  4        \&        P(                  ! ^4       R# )zCrash handler.Nz)not handled exception in KDE frontend:
%s
r}   r   )
issubclassKeyboardInterrupt
SystemExit	tracebackformat_exceptionr  r  r  r   r   r   r   r0   r"  dialogcrash_detailr   rA   r&  r	  exit)r@   exctypeexcvalueexctblinestbtextr  s   &&&&   r)   r  #DistUpgradeViewKDE._handleException  s     w 122w
++ **7eDBTYYuEUUV 	W.||WWY775QRFT--.F$f-**4;;7''/KKMr+   c                   V P                   P                  P                  4       '       dT   V P                   P                  P                  4        V P                   P                  P                  \        R 4      4       MRV P                   P                  P                  4        V P                   P                  P                  \        R4      4       V P                   P                  4        R# )zShow Terminal >>>z<<< Hide TerminalN)	r   ra  rG  r%  r  r   r   r   rA   r?   s   &r)   r  DistUpgradeViewKDE.showTerminal  s    ))3355**//1//77:M8NO**//1//77:M8NO##%r+   c                    V P                   # r5   )r  r?   s   &r)   getAcquireProgress%DistUpgradeViewKDE.getAcquireProgress      $$$r+   c                :    WP                   n        V P                   # r5   )r  r  )r@   caches   &&r)   getInstallProgress%DistUpgradeViewKDE.getInstallProgress  s    ',$$$$r+   c                    V P                   # r5   )r  r?   s   &r)   getOpCacheProgress%DistUpgradeViewKDE.getOpCacheProgress  r  r+   c                P    V P                   P                  P                  V4       R # r5   )r   r   r   )r@   r   s   &&r)   update_status DistUpgradeViewKDE.update_status  s    %%--c2r+   c                    \        V P                  R VP                  ,          4      p\        V P                  RVP                  ,          4      pVP                  4        VP                  4        R# )image_step%ilabel_step%iN)getattrr   ri   r%  )r@   stepimagelabels   &&  r)   hideStepDistUpgradeViewKDE.hideStep  sJ    (($**)DE(($**)DE



r+   c                    V P                   pV'       dj   \        V P                  R VP                  ,          4      p\	        RRR.R7      pVP                  VP                  ^^4      4       VP                  4        R# R# )r  zdialog-cancelz</usr/share/icons/oxygen/base/16x16/actions/dialog-cancel.pngz4/usr/share/icons/crystalsvg/16x16/actions/cancel.pngr  N)r  r  r   ri   r;   	setPixmappixmapr   )r@   r  r  
cancelIcons   &   r)   abortDistUpgradeViewKDE.abort  sk    ~~D,,^djj-HIE*h*`*bcJ OOJ--b"56JJL r+   c                  < \         \        V `  V4       \        R RR.R7      p\        RRR.R7      pV P                  '       d   \        V P                  RV P                  P                  ,          4      p\        V P                  RV P                  P                  ,          4      pVP                  VP                  ^^4      4       VP                  4        Wn        \        V P                  RVP                  ,          4      p\        V P                  RVP                  ,          4      pVP                  VP                  ^^4      4       VP                  4        VP                  R	VP                  4       ,           R
,           4       R# )z	dialog-okz8/usr/share/icons/oxygen/base/16x16/actions/dialog-ok.pngz0/usr/share/icons/crystalsvg/16x16/actions/ok.pngr  zarrow-rightz:/usr/share/icons/oxygen/base/16x16/actions/arrow-right.pngz9/usr/share/icons/crystalsvg/16x16/actions/1rightarrow.pngr  r  z<b>z</b>N)r   r|  setStepr;   r  r  r   ri   r  r  r   r   r   )r@   r  okIcon	arrowIconr  r  r   s   &&    r)   r  DistUpgradeViewKDE.setStep  s-    406{"\"T"VW -%a%`%bc	 >>>D,,^dnn>R>R-RSED,,^dnn>R>R-RSEOOFMM"b12JJL(($**)DE(($**)DE	((R01

eejjl*V34r+   c                J   R V: RV: 2p\        V P                  4      p\        RV4       V P                  V4       VP                  P                  V4       VR8w  d7   VP                  P                  V4       VP                  P                  4        MVP                  P                  4        VP                  \        R4      4       \        RRR.R7      pVP                  P                  VP                  ^0^04      4       VP                  4        VP!                  4        R# )	r  r  r   NInformationzdialog-informationz@/usr/share/icons/oxygen/base/48x48/status/dialog-information.pngz=/usr/share/icons/crystalsvg/32x32/actions/messagebox_info.pngr  )r   r   r0   r"  r#  r   r$  r   r%  r  r   r;   r  r  r  rA   r&  r@   r)  r   extended_msgr*  r  s   &&&&  r)   informationDistUpgradeViewKDE.information  s    07<4++, (+&&x0$$S)4##++L9##((*##((*- 010'i'f'hi 	  !3!3B!;<r+   c                   R V: RV: 2p\        V P                  4      p\        RV4       V P                  V4       VP                  P                  V4       VR8w  d7   VP                  P                  V4       VP                  P                  4        MVP                  P                  4        \        RRR.R7      pVP                  P                  VP                  ^0^04      4       VP                  4        VP                  4        R# )	r  r  r   Nzdialog-errorz:/usr/share/icons/oxygen/base/48x48/status/dialog-error.pngzA/usr/share/icons/crystalsvg/32x32/actions/messagebox_critical.pngr  F)r   r   r0   r"  r#  r   r$  r   r%  r;   r  r  r  rA   r&  r  s   &&&&  r)   r  DistUpgradeViewKDE.error  s    .5s;4++, (+&&x0$$S)4##++L9##((*##((*N'c'j'lm 	  !3!3B!;<r+   c           
        \         P                  ! WVV4       \        V P                  4      V n        \        RV P                  4       V P                  P                  P                  4        V P                  P                  P                  P                  V P                  4       V P                  V P                  4       V P                  P                  P                  \        P                  P                   4      P#                  \%        R4      4       V P                  P                  P                  \        P                  P&                  4      P)                  \+        4       4       V P                  P                  P                  \        P                  P&                  4      P#                  \%        R4      R,           4       \-        RRR.R7      pV P                  P.                  P1                  VP3                  ^0^04      4       VR	8w  d   V^ ,          P5                  R
R4      pV P                  P                  P                  \        P                  P6                  4      P#                  V4       V^,          P5                  R
R4      pV P                  P                  P                  \        P                  P                   4      P#                  V4       RV,          p	V P                  P8                  P#                  V	4       V P                  P:                  P#                  V P<                  4       V P                  P                  P?                  4        V P                  P                  PA                  R.4       V P                  P                  PC                  4       P                  4        V PD                   Fb  p
V P                  P                  PG                  ^ \I        V P                  P                  \%        R4      V
PJ                  ,          .4      4       Kd  	  V PL                   Fb  p
V P                  P                  PG                  ^ \I        V P                  P                  \%        R4      V
PJ                  ,          .4      4       Kd  	  V PN                   Fb  pV P                  P                  PG                  ^ \I        V P                  P                  \%        R4      VPJ                  ,          .4      4       Kd  	  V PP                   Fb  pV P                  P                  PG                  ^ \I        V P                  P                  \%        R4      VPJ                  ,          .4      4       Kd  	  V P                  PS                  4        V P                  PU                  4       pV\        PV                  PX                  8X  d   R# R# )zshow the changes dialoguezdialog_changes.uiz&Start UpgradeDetails >>>zdialog-warningz</usr/share/icons/oxygen/base/48x48/status/dialog-warning.pngz@/usr/share/icons/crystalsvg/32x32/actions/messagebox_warning.pngr  Nr   r}   z<big><b>%s</b></big>Packagesz	Remove %szRemove (was auto installed) %sz
Install %sz
Upgrade %sTF)-r   confirmChangesr   r   changesDialoguer0   treeview_detailsr%  	buttonBoxhelpRequestedr5  showChangesDialogueDetailsr"  buttonr   r   r   r   r   HelpsetIconr   r;   question_pixmapr  r  r-  r   label_summarylabel_changesconfirmChangesMessageclearsetHeaderLabelsheadertoRemoveinsertTopLevelItemr   r9   toRemoveAuto	toInstall	toUpgraderA   r&  r;  r<  )r@   r)  changesdownloadSizeactionsremoval_boldr  cancelconfirmsummaryTextrminstuprh  s   &&&&&&        r)   r  !DistUpgradeViewKDE.confirmChanges  s   
 	&&tg'3	5&t'7'78"D$8$89--224&&44<<T=\=\]&&t';';<&&--.>.M.M.P.PQYYZ[\lZmn&&--.>.M.M.R.RS[[\a\cd&&--.>.M.M.R.RS[[\]^g\hkq\qr,'e'i'kl 	,,66{7I7I"b7QRd?QZ''R0F  **112B2Q2Q2X2XYaabhiaj((b1G  **112B2Q2Q2T2TU]]^ef,w6**22;?**2243M3MN--335--==zlK--446;;=--B  11DDQX\XlXlX}X}  AB  CN  AO  RT  RY  RY  AY  @Z  I[  ]  ##B  11DDQX\XlXlX}X}  AB  Cc  Ad  gi  gn  gn  An  @o  Ip  r $NND  11DDQX\XlXlX}X}  AB  CO  AP  SW  S\  S\  A\  @]  I^  ` #..B  11DDQX\XlXlX}X}  AB  CO  AP  SU  SZ  SZ  AZ  @[  I\  ^ ! 	'') ""'')'$$---r+   c                   V P                   P                  P                  4       '       d   V P                   P                  P                  4        V P                   P                  P                  \        P                  P                  4      P                  \        R 4      R,           4       MV P                   P                  P                  4        V P                   P                  P                  \        P                  P                  4      P                  R\        R 4      ,           4       V P                   P                  4        R# )r  r	  z<<< N)r  r  rG  r%  r  r  r   r   r  r   r   r   rA   r?   s   &r)   r  -DistUpgradeViewKDE.showChangesDialogueDetailsE  s    00::<<  11668  **112B2Q2Q2V2VW__`abk`lou`uv  11668  **112B2Q2Q2V2VW__`fijktiu`uv'')r+   c                <   \         P                  ! V P                  VR V,           \         P                  P                  \         P                  P
                  ,          \         P                  P
                  4      pV\         P                  P                  8X  d   R# R# )z<font>TF)r   r   r   r   YesNo)r@   r)  r   defaultanswers   &&&& r)   askYesNoQuestion#DistUpgradeViewKDE.askYesNoQuestionN  s    %%d&6&6CQ\QkQkQoQop{  qK  qK  qN  qN  RN  P[  Pj  Pj  Pm  Pm  n[//333r+   c                   \        \         P                  P                  W\         P                  P                  V P
                  4      pVP                  \         P                  P                  4      pVP                  \         P                  P                  4      pVP                  \        R 4      4       VR8X  d   VP                  V4       MVP                  V4       VfA   VP                  4       pVP                  V\        P                  P                   ,          4       VP#                  4       pV\         P                  P                  8X  d   R# R# )Continuer   TF)r   IconWarningr   NoButtonr   	addButtonApplyr   r   r   setDefaultButtonwindowFlagssetWindowFlagsr   
WindowTypeFramelessWindowHintr&  )	r@   r)  r   r0  
messageBoxcontinueButtoncancelButtonflagsr1  s	   &&&&     r)   askCancelContinueQuestion,DistUpgradeViewKDE.askCancelContinueQuestionT  s     !1!1!9!97IcIcIlIlnrn~n~
#--k.H.H.N.NO!++K,F,F,M,MNq}-h''5''7?**,E%%ebmm.O.O&OP"[//555r+   c                b   \        \         P                  P                  \        R 4      \        R4      \         P                  P
                  V P                  4      pVP                  \         P                  P                  4      pVP                  \         P                  P                  4      pVP                  \        R4      P                  RR4      4       VP                  \        P                  ! RR4      4       VP                  4       pV\         P                  P                  8X  d   R# R# )	zRestart requiredz<<b><big>Restart the system to complete the upgrade</big></b>z_Restart Nowr   r  r  r  TF)r   r6  Questionr   r   r8  r   r9  r.  r/  r   r-  r   r!  r&  )r@   r@  	yesButtonnoButtonr1  s   &    r)   confirmRestart!DistUpgradeViewKDE.confirmRestarth  s    !1!1!:!:A>P<QST  VT  TU  Wb  Wq  Wq  Wz  Wz  |@  |L  |L  M
(()C)C)G)GH	''(B(B(E(EF!N+33C=>)))X>?"[//333r+   c                0    \         P                  ! 4        R # r5   )r
   r   r?   s   &r)   r    DistUpgradeViewKDE.processEventss  s    ""$r+   c                    R # r5    )r@   r  s   &&r)   pulseProgress DistUpgradeViewKDE.pulseProgressv  s     	r+   c                <   \        R 4      pVP                  RR4      p\        P                  ! V P                  \        R4      V\        P
                  P                  \        P
                  P                  4      pV\        P
                  P                  8X  d   R# R# )z<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.r  z<br />zCancel Upgrade?TF)r   r-  r   r_  r   r   r.  r/  )r@   r   r$  s   &  r)   ru  .DistUpgradeViewKDE.on_window_main_delete_event|  s     w x ||D(+$$T%5%5q9J7KTS^SmSmSqSqs~  tN  tN  tQ  tQ  R[//333r+   )
r  r  r  r  r  r  r  r  r\  r   )NNr5   )NT)r/  )r   )F)rq   rr   rs   rt   r   rL   r"  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r2  rD  rJ  r   rP  ru  rv   rw   r   r   s   @@r)   r|  r|  	  s     .cJ7J6&%%%35.,.3j*(	%	 	r+   r|  )strict)C
PyQtCompatr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r	  r   r  r/  r7  r  aptr   r  rl   r-   r   DistUpgradeApportr   r   r   r   r   r   DistUpgradeConfigParserr   	telemetryr   r  r   r   DistUpgradeGettextr   r    r!   r*   r0   r6   r;   rA   r>   rC   r{   r   base
OpProgressr   r   r   rl  r|  rO  r+   r)   <module>r]     s	  2            
    	 
 7 ^ ^ 6 +   , / "1
  !" !++  1 1hL9 L^)CLL%%00 ),2 2jE ET "| |r+   