
ȔMc        "   @   s1  d  d l  m Z m Z m Z m Z m Z m Z d  d l  m Z m Z m	 Z	 d  d l  m
 Z
 m Z m Z d  d l m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z d  d l m Z d  d	 l m Z d  d
 l m Z d  d l m Z m Z d  d l  m! Z! m" Z" d  d l# m$ Z$ m% Z% d  d l& m' Z' d  d l( m) Z) d  d l* Td  d l+ Z+ d  d l, Z, d  d l- Z- d  d l. Z. d d d d d d d d d g f d d d d d d d d d d d  d d! d d" d# d$ d% g f d& d' d( d) d* d+ d, d- d d. d/ d d0 d1 d2 d3 d4 g f d d5 d6 g f d7 d8 d9 g f g Z0 d d d d d d d d d d d! g Z1 i d: d 6d; d 6d< d 6d= d 6d> d 6d? d 6d@ d! 6Z2 d d e3 dA  f d dB e3 dC  d e3 dD  dE f d dB e3 dF  d e3 dG  dH f d d e3 dI  d e3 dJ  dK f d dL e3 dM  dN e3 dO  dP f d dQ e3 dR  dS e3 dT  dU f d d e3 dV  f d dW e3 dX  dY e3 dZ  d[ f d d\ e3 d]  d^ e3 d_  d` f d da e3 db  d e3 dc  dd f d d e3 de  d e3 df  dg f d d e3 dh  d e3 di  dj f d  d e3 dk  d e3 dl  dm f d dn e3 do  d e3 dp  dq f d d e3 dr  d e3 ds  dt f d! du e3 dv  dw e3 dx  dy f d" d e3 dz  d e3 d{  d| f d# d e3 d}  d e3 d~  d f d$ d e3 d  d e3 d  d f d% d e3 d  d e3 d  d f d& d e3 d  f d0 d e3 d  f d. d e3 d  d e3 d  d f d/ d e3 d  d e3 d  d f d5 d e3 d  d e3 d  d f d6 d e3 d  d e3 d  d f d7 d e3 d  f d8 d e3 d  d e3 d  d f d9 d e3 d  d e3 d  d f g Z4 d   Z5 d e f d     YZ6 d S(   i(   t   INSTALLt   REMOVEt   UPGRADEt	   REINSTALLt   KEEPt   FIX(   t   Transactiont	   ChangeSett   checkPackagesSimple(   t   PolicyInstallt   PolicyRemovet   PolicyUpgrade(   t
   QtChannelst   QtChannelSelector(   t	   QtMirrors(   t   QtFlags(   t   QtPrioritiest   QtSinglePriority(   t   QtPackageView(   t   QtPackageInfo(   t   QtLegend(   t   QtInterfacet   app(   t	   getPixmapt   centerWindow(   t   NEVERt   VERSION(   t   Searcher(   t   Package(   t   *Nt   files   update-selected-channelss   update-channelss   rebuild-caches   exec-changest   quitt   editt   undot   redos   clear-changess   upgrade-alls   fix-all-problemss   check-installed-packagess   check-uninstalled-packagess   check-all-packagest   finds   edit-channelss   edit-mirrorss
   edit-flagss   edit-prioritiest   views   hide-non-upgradess   hide-installeds   hide-uninstalleds   hide-unmarkeds   hide-unlockeds   hide-requesteds   hide-olds
   expand-alls   collapse-alls
   tree-styles   tree-style-groupss   tree-style-channelss   tree-style-channels-groupss   tree-style-nones   summary-windows
   log-windowt   helps   legend-windowt   abouts   crystal-reloads   crystal-upgrades   crystal-applys   crystal-trashs   crystal-undos   crystal-redos   crystal-searcht   _Files   gtk-refreshs   Update _Selected Channels...s   Update given channelss   self.updateChannels(True)s   _Update Channelss   Update channelss   self.updateChannels()s   _Rebuild Caches   Reload package informations   self.rebuildCache()s   gtk-executes   _Execute Changes...s
   <control>cs   Apply marked changess   self.applyChanges()s   gtk-quitt   _Quits
   <control>qs   Quit applications   gtk.main_quit()t   _Edits   gtk-undot   _Undos
   <control>zs   Undo last changes   self.undo()s   gtk-redot   _Redos   <control><shift>zs   Redo last undone changes   self.redo()s	   gtk-clears   Clear Marked Changess   Clear all changess   self.clearChanges()s   Check Installed Packages...s   Check installed packagess   self.checkPackages()s   Check Uninstalled Packages...s   Check uninstalled packagess$   self.checkPackages(uninstalled=True)s   Check All Packages...s   Check all packagess   self.checkPackages(all=True)s	   gtk-go-ups   Upgrade _All...s   Upgrade all packagess   self.upgradeAll()s   Fix All _Problems...s   Fix all problemss   self.fixAllProblems()s   gtk-finds   _Find...s
   <control>fs   Find packagess   self.toggleSearch()t	   _Channelss   Edit channelss   self.editChannels()t   _Mirrorss   Edit mirrorss   self.editMirrors()t   _Flagss   Edit package flagss   self.editFlags()t   _Prioritiess   Edit package prioritiess   self.editPriorities()t   _Views   _Tree Styles   gtk-opens   _Expand Alls   Expand all items in the trees#   self._pv.getTreeView().expand_all()s	   gtk-closes   _Collapse Alls   Collapse all items in the trees%   self._pv.getTreeView().collapse_all()s   _Summary Windows
   <control>ss   Show summary windows   self.showChanges()s   _Log Windows   Show log windows   self._log.show()t   _Helps   _Icon Legends   Show icon legends   self._legend.show()t   _Abouts   Show about windows   self.showAbout()c         C   s  i  } x| D]} t  j |  | d  } | j | d  | j | d j d d   t |  d k r} | j | d  n  t |  d k r t | d  t k	 r t  j	 j
 | t  j d  | d  n  | d d k r
| d	 } t  j	 j
 | t  j d  | j  n  | d d
 k rI| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k rE| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k rA| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r=| d	 } t  j	 j
 | t  j d  | j  n  | d d k r|| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r9| d	 } t  j	 j
 | t  j d  | j  n  | d d k rx| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j  n  | d d k r| d	 } t  j	 j
 | t  j d  | j   n  | d d k r5| d	 } t  j	 j
 | t  j d  | j!  n  | d d k rt| d	 } t  j	 j
 | t  j d  | j"  n  | d d  k r| d	 } t  j	 j
 | t  j d  t# t  j$ d!   n  |  j% |  | | | d <q W| S("   Ni    i   t   _t   &i   i   s   activated()R#   t   selfs   update-selected-channelss   update-channelss   rebuild-caches   check-installed-packagess   check-uninstalled-packagess   check-all-packagess   upgrade-alls   fix-all-problemss   exec-changesR!   R"   s   clear-changess
   expand-alls   collapse-alls   edit-channelss   edit-mirrorss
   edit-flagss   edit-prioritiess   summary-windows
   log-windows   legend-windowR&   R   s   quit()(&   t   qtt   QActiont   setTextt   setMenuTextt   replacet   lent
   setToolTipt   typet   strt   QObjectt   connectt   SIGNALt   toggleSearcht   updateSelectedt   updateChannelst   rebuildCachet   checkInstalledPackagest   checkUninstalledPackagest   checkAllPackagest
   upgradeAllt   fixAllProblemst   applyChangesR!   R"   t   clearChangest   expandPackagest   collapsePackagest   editChannelst   editMirrorst	   editFlagst   editPrioritiest   showChangest   showLogt
   showLegendt	   showAboutR   t   SLOTt   add(   t   groupt   actionst   globalst
   newactionst   actiont   actR5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   compileActions   s    (&
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
.t   QtInteractiveInterfacec           B   s  e  Z d* d   Z d   Z d   Z d* d* d  Z d   Z d   Z d   Z	 d   Z
 e d* d  Z d	   Z e d
  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d* d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e e d  Z  d   Z! d   Z" d   Z# d   Z$ d    Z% d!   Z& d"   Z' d#   Z( d$   Z) d%   Z* g  d&  Z+ d'   Z, d(   Z- d)   Z. RS(+   c      	      s  t  j   | |  d    _ t j     _   j j d t  t	   j    j j
 d d  t j t t j d  t t j d   g    _ g    _ i   d 6t d 6} t j   j d  } t | t |    _ d	 t j f d
     Y} i    _ x d t d  f d t d  f d t d  f d t d  f d t d  f d t d  f d t d  f g D]A \ } } | d  | |  } | j d   j |  |   j | <qiWt j d  }	 x d t d  f d t d  f d t d   f d! t d"  f g D]e \ } } | | d# | |  } | |	 k r>| j t  n  | j d   j |  |   j d# | <q W  j j     _ x0 t  D]( }
    f d$       j |
  qWt j!   j    _" x- t# D]% }   f d%   } |   j" |  qW  j d& j$ t j% d'     j d( j$ t j% d)     j d* j$ t j% d+     j d, j$ t j% d-     j d. j$ t j% d/     j d& j& t'    j d0 j& t'    j d1 j& t'    j d2 j& t'  t j!   j    _(   j( j)   t j* t d3    j(  } | j+   t j,   j(    _- t j. j   j- t j d4    j/    j- j+   t j0   j(  } t j. j | t j d5    j/  t1 d6  } | j2 t j3 |   | j+   t j4   j(  } | j)   t j5 t d7    j(    _6   j6 j7 t  t j. j   j6 t j d5    j/  | j8   j6    j6 j+   t j5 t d8    j(    _9   j9 j7 t'  t j. j   j9 t j d5    j/    j9 j+   | j8   j9  t j: t j; j<   j    _=   j j>   j=  t?   j=    _@   j@ j+   tA   j=    _B   jB j+   t j. j   j@ t jC d9    jB jD  t j. j   j@ t jC d:    jE  t j. j   j@ t jC d;    jF    j jG     _H   jH j+   tI   j    _J d  S(<   Ns   Smart Package Manager %si  i  s   lastWindowClosed()s   quit()R5   R6   t   Actionst   ToggleActionc           B   s#   e  Z d    Z d   Z d   Z RS(   c         S   sI   t  j j |  | |  |  j t  |  j | j d d   | |  _ d  S(   NR4   s   &&(   R6   R7   t   __init__t   setToggleActiont   TrueR9   R:   t   _name(   R5   RY   t   namet   label(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRc   )  s    c         S   s8   | |  _  | |  _ t j j |  t j |  |  j  d  S(   N(   t	   _callbackt	   _userdataR6   R?   R@   RA   t   slot(   R5   t   signalt   callbackt   userdata(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR@   /  s    		c         S   s   |  j  |  j  d  S(   N(   Ri   Rj   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRk   4  s    (   t   __name__t
   __module__Rc   R@   Rk   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRb   '  s   		s   hide-non-upgradess   Hide Non-upgradess   hide-installeds   Hide Installeds   hide-uninstalleds   Hide Uninstalleds   hide-unmarkeds   Hide Unmarkeds   hide-unlockeds   Hide Unlockeds   hide-requesteds   Hide Requesteds   hide-olds   Hide Olds   activated()s   package-treet   groupst   Groupst   channelst   Channelss   channels-groupss   Channels & Groupst   nonet   Nones   tree-style-c            s   | d }  j  | } t j |   } | j   } |  j | |  x^ | d D]R } t | t  rr   | |  qM | r  j  | } | j |  qM | j   qM Wd  S(   Ni    i   (	   t   _actionsR6   t
   QPopupMenut   menuTextt
   insertItemt
   isinstancet   tuplet   addTot   insertSeparator(   t   menubart   menut   itemR]   t   mt   text(   t
   insertmenuR5   (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   P  s    
c            sW   | rI   j  | } t t |  } | j t j |   | j |   n
 |  j   d  S(   N(   Rw   R   t   TOOLBARICONSt
   setIconSetR6   t   QIconSetR}   t   addSeparator(   t   toolbart   toolR]   t   pixmap(   R5   (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt
   inserttoole  s    s   exec-changess   Ctrl+CR#   s   Ctrl+Fs
   expand-alls   Ctrl+Os   collapse-alls   Ctrl+Ws   summary-windows   Ctrl+Ss   clear-changesR!   R"   s   Search:s   returnPressed()s	   clicked()s   crystal-searcht	   Automatict   Descriptiont   packageSelectedt   packageActivatedt   packagePopup(K   R   Rc   Rv   t
   _changesetR6   t   QMainWindowt   _windowt
   setCaptionR   R   t   setMinimumSizeR   R@   RA   RW   t   _undot   _redot   QActionGroupR_   t   ACTIONSRw   R7   t   _filtersR3   t   toggleFiltert   sysconft   gett   setOnRe   t   setTreeStylet   menuBart   _menubart   MENUBARt   QToolBart   _toolbart   TOOLBARt   setAccelt   QKeySequencet
   setEnabledt   Falset
   _searchbart   hidet   QLabelt   showt	   QLineEditt   _searchentryR?   t   refreshPackagest   QPushButtonR   R   R   t   QButtonGroupt   QRadioButtont   _searchnamet
   setCheckedt   insertt   _searchdesct	   QSplittert   Qtt   Verticalt	   _splittert   setCentralWidgetR   t   _pvR   t   _pit   PYSIGNALt
   setPackaget   actOnPackagesR   t	   statusBart   _statusR   t   _legend(   R5   t   ctrlt   argvR[   RY   Rb   Rg   Rh   R^   t	   treestylet   MENUt   TOOLR   t   buttonR   t   buttongroup(    (   R5   R   sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRc     s    	(			
%"

%%(%%c         C   s   |  j  j |  d  S(   N(   R   t   message(   R5   t   msg(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt
   showStatus  s    c         C   s   |  j  j   d  S(   N(   R   t   clear(   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt
   hideStatus  s    c         C   s   |  j  t  |  j   |  j j t d   |  j j   |  j j   t	 |  j j
    |  _ |  j j |  j  |  j j   |  j   t j   |  j   |  j  t  d  S(   Nt   smart(   t   setCatchExceptionsRe   t	   loadStateR   t   setIconR   R   t   _ctrlt   reloadChannelsR   t   getCacheR   R   t   setChangeSett	   _progressR   R   R   t	   exec_loopt	   saveStateR   (   R5   t   commandR   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   run  s    



c         C   sm   t  j d |  j j   |  j j   f  t  j d |  j j   |  j j   f  t  j d |  j j    d  S(   Ns   qt-sizes   qt-positions   qt-splitter-sizes(	   R   t   setR   t   widtht   heightt   xt   yR   t   sizes(   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR     s    ((c         C   s   t  j d  } | d  k	 r. |  j j |   n  t  j d  } | d  k	 r\ |  j j |   n  t  j d  } | d  k	 r |  j j |  n  d  S(   Ns   qt-sizes   qt-positions   qt-splitter-sizes(   R   R   Rv   R   t   resizet   moveR   t   setSizes(   R5   t   var(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR     s    c         C   s   |  j  S(   N(   R   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   getChangeSet  s    c         C   s   |  j  d t  d  S(   Nt   selected(   RD   Re   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRC     s    c         C   s   | rV t    j   } g  |  j j   D] } | j   | k r% | ^ q% } | sV d  Sn  |  j j   } |  j j | d t |  j j	 |  |  j
   d  S(   Nt   caching(   R   R   R   t   getChannelst   getAliasR   t   getPersistentStateR   R   t   setPersistentStateR   (   R5   R   Rs   t   aliasest   channelt   state(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRD     s    c         C   s:   |  j  j   } |  j j   |  j  j |  |  j   d  S(   N(   R   R   R   R   R   R   (   R5   R   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRE     s    c         C   s   t  |  j j   d |  j } |  j j | d | r |  j 2|  j 2|  j d j t	  |  j d j t	  |  j j
   } |  j j   |  j j   |  j   |  j |  n  |  j j   d  S(   Nt	   changesett   confirmR"   R!   (   R   R   R   R   t   commitTransactionR   R   Rw   R   R   t   copyR   R   R   t   changedMarksR   R   (   R5   R   t   transactiont   pkgs(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRK     s    
c         C   s7   |  j    |  j j   } |  j j   |  j |  d  S(   N(   t   saveUndoR   R   R   R   (   R5   R   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRL      s    
c         C   s   |  j  j |  j  S(   N(   t   _changest   showChangeSetR   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRS     s    c         C   s   |  j  j   S(   N(   t   _logR   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRT   	  s    c         C   s   |  j  j   S(   N(   R   R   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRU     s    c         C   s   |  j  j   d  S(   N(   R   t	   expandAll(   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRM     s    c         C   s   |  j  j   d  S(   N(   R   t   collapseAll(   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRN     s    c         C   s7   | |  j  k r |  j  | =n t |  j  | <|  j   d  S(   N(   R   Re   R   (   R5   t   filter(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR     s    c         C   s  t  |  j j    } | j |  j  x9 |  j j   j   D]" } | j r; | j | t  q; q; W| j	 t
  | j   | j   } | |  j k r|  j |  j |  r|  j   |  j } |  j j |  |  j   |  j t d  t  r|  j d |  qqn |  j t d   d  S(   Ns   Apply marked changes now?R   s"   No interesting upgrades available!(   R   R   R   t   setStateR   t   getPackagest	   installedt   enqueueR   t	   setPolicyR   R   R   t   confirmChangeR   R   t   askYesNoR3   Re   RK   R   (   R5   R   t   pkgR   t   emptychangeset(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRI     s"    	



c   
      C   s  |  j  j   } t | d t } | j |  j  | j   } | d  k r g  | D] } | | k rP | ^ qP sw t } q x* | D] } | j	 s~ t
 } Pq~ q~ Wt } n  | t k r | j t  n  | j   } x | D] } | t k r | j | |  q | t t t f k rt| j	 r| j | |  | t k rqx9 | j | j  D]" } | j	 sE| j | t  qEqEWqqqq | t
 k r | j	 s| j | |  qq q W| j   | t k rd }	 n d }	 |  j |  j | |	  r|  j   |  j j |  | j |  |  j |  n  d  S(   Nt   policyi    i   (   R   R   R   R	   R  R   R   Rv   R   R  R    R   R  R
   t	   getPolicyR  R   R   R  Rg   t	   setLockedRe   R   R  R   t   extendR   (
   R5   R   t   opt   cacheR   R   R  R
  t   _pkgt   expected(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   0  sJ    %					 	
	
c         C   s   | sg x* | D]" } t  j d | j d | j  q W|  j j |  |  j j   |  j j | d  n^ x* | D]" } t  j	 d | j d | j  qn W|  j j |  |  j j   |  j j | d  d  S(   Nt   lockt   =i    (
   t   pkgconft	   clearFlagRg   t   versionR   t   updatePackagest   updateR   R   t   setFlag(   R5   R   R  R  (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   lockPackagesZ  s      c         C   s   | s^ x! | D] } t  j d | j  q W|  j j |  |  j j   |  j j | d  nU x! | D] } t  j d | j  qe W|  j j |  |  j j   |  j j | d  d  S(   NR  i    (	   R  R  Rg   R   R  R  R   R   R  (   R5   R   R  R  (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   lockAllPackagesh  s    c         C   s2   t  |  j  j | d  |  j j | d  d  S(   Ni    (   R   R   R   R   R   (   R5   R   Ru   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   priorityPackagesv  s    c         C   sx  t  j |  } | j |  t g  | D]- } | j r& |  j j |  t k	 r& | ^ q&  } t g  | D]. } | j rf |  j j |  t k	 rf | ^ qf  } d t	 f d     Y} | |  }	 t  j
 t d   }
 | j |
 t d  |	 j  } |	 j | |  j t  | s!| j | t  n  t  j
 t d   }
 | j |
 t d  |	 j  } |	 j | |  j t  | s| j | t  n  t  j
 t d   }
 | j |
 t d  |	 j  } |	 j | |  j t  | s| j | t  n  | st  j
 t d	   }
 n t  j
 t d
   }
 | j |
 t d  |	 j  } |	 j | |  j t  g  | D] } | |  j k rS| ^ qSs| j | t  n  t  j
 t d   }
 | j |
 t d  |	 j  } |	 j | |  j t  | s| j | t  n  t } d  } d  } t j d  } g  | D] } | |  j k r| ^ qr;t } n x | D] } | r| j | k rd | j f | | j k rt } t | | j  d k } n t } t j d |  } | d  k	 r| | k s| d  k	 r| | k rt } Pn  | } | } qBW| |  } | ry| s-t  j
 t d
   }
 n t  j
 t d	   }
 | j |
 t d  | j  } | j | |  j t  ng | st  j
 t d   }
 n t  j
 t d   }
 | j |
 t d  | j  } | j | |  j t  | r| j | t  n  | |  } | ru| s)t  j
 t d
   }
 n t  j
 t d	   }
 | j |
 t d  | j  } | j | |  j t  ng | st  j
 t d   }
 n t  j
 t d   }
 | j |
 t d  | j  } | j | |  j t  | r| j | t  n  | |  } | j t d  | j  } | j | |  j   t |  d k rT| j | t  n  | j!   | j" | j# |   d  S(   Nt   PackagesActionc           B   s&   e  Z d    Z d d  Z d   Z RS(   c         S   s   | |  _  i  |  _ i  |  _ d  S(   N(   t   _pkgsRi   Rj   (   R5   R   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRc     s    		c         S   s   | |  j  | <| |  j | <d  S(   N(   Ri   Rj   (   R5   R   Rm   Rn   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR@     s    c         S   s"   |  j  | |  j |  j |  d  S(   N(   Ri   R  Rj   (   R5   t   index(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRk     s    N(   Ro   Rp   Rc   Rv   R@   Rk   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR    s   	s   package-installt   Installs   package-reinstallt	   Reinstalls   package-removet   Removes   package-availables   package-installedt   Keeps   package-brokens   Fix problemsR  R  i   s   Unlock this versions   package-installed-lockeds   package-available-lockeds   Lock this versions   Unlock all versionss   Lock all versionst   Priority($   R6   Rx   R   t   boolR  R   R   R   R    t   objectR   R   Rz   R3   Rk   R@   R   t   setItemEnabledR   R   R   R   Rv   R  t   getFlagTargetsRe   Rg   R  R;   t   testFlagR  R  R  R   R   t   mapToGlobal(   R5   t   packageviewR   t   pntR   R  t   hasinstalledt   hasnoninstalledR  R]   t   iconsetR   t   inconsistentt
   thislockedt	   alllockedt   namest   newthislockedt   newalllockedt
   lockactiont   lockallactiont   priorityaction(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   z  s    ''((	

c         C   s   |  j    d  S(   N(   t   checkPackages(   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRF     s    c         C   s   |  j  d t  d  S(   Nt   uninstalled(   R9  Re   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRG     s    c         C   s   |  j  d t  d  S(   Nt   all(   R9  Re   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRH     s    c      	   C   sg   | } | p | } |  j  t d   t |  j j   d t d | d | rc |  j  t d   n  d  S(   Ns   Checking relations...t   reportR  t	   availables,   All checked packages have correct relations.(   t   infoR3   R   R   R   Re   (   R5   R;  R:  R  R=  (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR9    s    c         C   s?   |  j  g  |  j j   j   D] } | j r | ^ q t  d  S(   N(   R   R   R   R  R  R   (   R5   R  (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRJ     s    "c         C   s   |  j  r |  j  j d  } |  j  s; |  j d j t  n  |  j j d |  j j    |  j d j t	  |  j j
   } |  j j |  | j |  j  |  j |  n  d  S(   Ni    R!   R"   (   R   t   popRw   R   R   R   R   R   R   Re   R   R   R  R   (   R5   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR!     s    		c         C   s   |  j  r |  j  j d  } |  j  s; |  j d j t  n  |  j j d |  j j    |  j d j t	  |  j j
   } |  j j |  | j |  j  |  j |  n  d  S(   Ni    R"   R!   (   R   R?  Rw   R   R   R   R   R   R   Re   R   R   R  R   (   R5   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR"     s    		c         C   sY   |  j  j d |  j j    |  j 2|  j  d 3|  j d j t  |  j d j t  d  S(   Ni    i   R!   R"   (	   R   R   R   R   R   Rw   R   Re   R   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   (  s
    
c         C   s6   | t  j d  k r2 t  j d |  |  j   n  d  S(   Ns   package-tree(   R   R   R   R   (   R5   t   mode(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   /  s    c         C   s&   t  |  j  j   r" |  j   n  d  S(   N(   R   R   R   RE   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRO   4  s    c         C   s   t  |  j  j   d  S(   N(   R   R   R   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRP   8  s    c         C   s   t  |  j  j   d  S(   N(   R   R   R   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRQ   ;  s    c         C   s   t  |  j  j   d  S(   N(   R   R   R   (   R5   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRR   >  s    c         C   sq   | r` t  j j t  j t  j j   xE t  j j   j   r\ t  j j   j t  j	 j
  q( Wn t  j j   d  S(   N(   R6   t   QApplicationt   setOverrideCursort   QCursorR   t
   WaitCursort	   eventLoopt   hasPendingEventst   processEventst
   QEventLoopt	   AllEventst   restoreOverrideCursor(   R5   t   flag(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   setBusyA  s
    #c         C   s}   d |  j  k r |  j   n# |  j j | |  j  |  j j   |  j d j t |  j   |  j d j t |  j   d  S(   Ns   hide-unmarkeds   exec-changess   clear-changes(	   R   R   R   R  R   R  Rw   R   R%  (   R5   R   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   I  s    c         C   sW   |  j  j   } | r& |  j j   n |  j j   |  j   | rS |  j  j   n  d  S(   N(   R   t	   isVisibleR   R   R   R   t   setFocus(   R5   t   visible(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRB   S  s    
c         C   s;  |  j  s d  S|  j t  t j d d  } |  j  } |  j } |  j j   r|  j j	   rt
   } t } |  j j   r |  j j	   } | rSt |  j   } t } | j |  | j |  qSn y( |  j j	   } t j t |   } Wn t k
 rnQ X| rSt } xA | D]6 } | j |  r;| j |  q| j d |  qWn  g  }	 | r|  j  j   j |  xL | j   D]; \ }
 } t | t  r|	 j |  q|	 j | j  qWqn | j   j    }	 |  j! } | rd | k ri  } x |	 D] } | j" ri  } y\ xU | j# D]J } xA | j$ D]6 } x- | j D]" } | j" r[t%  n  t | | <qCWq3Wq#WWn t% k
 rqX| j& |  qqW| j'   }	 n  d | k rg  |	 D] } | j" r| ^ q}	 n  d | k rg  |	 D] } | | k r| ^ q}	 n  d | k r?g  |	 D] } | j" s!| ^ q!}	 n  d | k r`t( j) d	 |	  }	 n  d
 | k rt( j) d |	  }	 n  d | k rt( j) d |	  }	 qn  | d k rXi  } i  } xQ|	 D] } d  } x~ | j+ D]s } | j, |  } | j-   } | | f } | | k rt | | <| | k r=| | j |  qM| g | | <qqWqWn| d k ri  } i  } x|	 D] } x | j+ D]| } | j.   } | j/   p| j0   } | | f } | | k rt | | <| | k r| | j |  q| g | | <qqWqwWn| d k ri  } i  } x |	 D] } x | j+ D] } | j.   } | j/   pd| j0   } | j, |  j-   } | | | f } | | k r=t | | <| | k r| | | k r| | | j |  q| g | | | <q i | g | 6| | <q=q=Wq-Wn |	 } |  j1 j2 | | d t |  j t  d  S(   Ns   package-treeRq   s   *%s*s   hide-non-upgradess   hide-uninstalleds   hide-unmarkeds   hide-installeds   hide-unlockedR  s   hide-requestedt   autos   hide-oldt   newRs   s   channels-groupst	   keepstate(3   R   RL  Re   R   R   R   R   RM  R   R   R   R   R   t	   isCheckedR>   t   stript   addDescriptiont
   addSummaryt   shlext   splitt
   ValueErrort   hasAutoMeaningt   addAutot   addNameVersionR   t   searcht
   getResultsR{   R   t   appendR  t   packagesR  R   R  t   providest
   upgradedbyt   StopIterationR  t   keysR  t   filterByFlagRv   t   loaderst   getInfot   getGroupt
   getChannelt   getNameR   R   t   setPackages(   R5   t   treeR   R   t   searchert   dosearchR   t   tokenst   tokR`  t   ratiot   objt   filterst   newpackagesR  t   upgpkgst   prvt   upgt   upgpkgR   Rq   t   donet	   lastgroupt   loaderR>  RY   t	   donetupleR   t   subgroup(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR   ]  s    								%(%


"c         C   s   d } d } d d d d d d g } d	 } t  j j |  j d
 d d d d t d d | d | d d d j |  d | d | d  d  S(   Ns:   2010 Smart Team, 2006 Canonical Ltd., 2004 Conectiva, Inc.s6  
            This program is free software; you can redistribute it and/or modify
            it under the terms of the GNU General Public License as published by
            the Free Software Foundation; either version 2 of the License, or
            (at your option) any later version.

            This program is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            GNU General Public License for more details.

            You should have received a copy of the GNU General Public License
            along with this program; if not, write to the Free Software
            Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
            s6   Gustavo Niemeyer - Original author and lead developer.u7   Anders F Björklund - Current maintainer and developer.s;   Conectiva Inc. - Original project funder up to August 2005.s5   Canonical Ltd. - Funded Smart up to November of 2009.s7   Unity Linux - Smart development and deployment support.s:   And many others - Check our website for the complete list.s   http://smartpm.org/s   About s   Smart Package Managers   <h2>t    s   </h2>s   <p>Copyright &copy; s
   <p><small>s   </small>s   <p><h3>Credits</h3>s   <br>s   <p><a href="s   ">s   </a>(   R6   t   QMessageBoxR&   R   R   t   join(   R5   t	   copyrightt   licenset   creditst   website(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyRV     s    	N(/   Ro   Rp   Rv   Rc   R   R   R   R   R   R   RC   R   RD   RE   Re   RK   RL   RS   RT   RU   RM   RN   R   RI   R   R  R  R  R   RF   RG   RH   R9  RJ   R!   R"   R   R   RO   RP   RQ   RR   RL  R   RB   R   RV   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyR`     sT   															*																	
	
	(7   t   smart.transactionR    R   R   R   R   R   R   R   R   R	   R
   R   t   smart.interfaces.qt.channelsR   R   t   smart.interfaces.qt.mirrorsR   t   smart.interfaces.qt.flagsR   t   smart.interfaces.qt.prioritiesR   R   t   smart.interfaces.qt.packageviewR   t   smart.interfaces.qt.packageinfoR   t   smart.interfaces.qt.legendR   t   smart.interfaces.qt.interfaceR   R   t   smart.interfaces.qtR   R   t   smart.constR   R   t   smart.searcherR   t   smart.cacheR   R   RW  t   ret   fnmatchR6   Rv   R   R   R   R3   R   R_   R`   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/interactive.pyt   <module>   s  .
					
	^