
ȔMc        "   @   sC  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. j/ Z/ d  d l0 j1 Z1 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 Z3 d d d d d d d d d d d! g Z4 i d: d 6d; d 6d< d 6d= d 6d> d 6d? d 6d@ d! 6Z5 d d e6 dA  f d dB e6 dC  d e6 dD  dE f d dB e6 dF  d e6 dG  dH f d d e6 dI  d e6 dJ  dK f d dL e6 dM  dN e6 dO  dP f d dQ e6 dR  dS e6 dT  dU f d d e6 dV  f d dW e6 dX  dY e6 dZ  d[ f d d\ e6 d]  d^ e6 d_  d` f d da e6 db  d e6 dc  dd f d d e6 de  d e6 df  dg f d d e6 dh  d e6 di  dj f d  d e6 dk  d e6 dl  dm f d dn e6 do  d e6 dp  dq f d d e6 dr  d e6 ds  dt f d! du e6 dv  dw e6 dx  dy f d" d e6 dz  d e6 d{  d| f d# d e6 d}  d e6 d~  d f d$ d e6 d  d e6 d  d f d% d e6 d  d e6 d  d f d& d e6 d  f d0 d e6 d  f d. d e6 d  d e6 d  d f d/ d e6 d  d e6 d  d f d5 d e6 d  d e6 d  d f d6 d e6 d  d e6 d  d f d7 d e6 d  f d8 d e6 d  d e6 d  d f d9 d e6 d  d e6 d  d f g Z7 d   Z8 d e f d     YZ9 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   sM  i  } x@| D]8} t  j |   } | j | d j d d   t |  d k re | 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 r1| d	 } t j	 j
 | t j d  | j  n  | d d k rp| 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 rl| 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 rh| 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 rd| 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  t t j d   n  |  j |  | | | d <q W| S(   Ni   t   _t   &i   i   s   activated()i    R#   t   selfs   update-selected-channelss   update-channelss   rebuild-caches   upgrade-alls   exec-changess   clear-changess
   expand-alls   collapse-alls   edit-channelss   edit-mirrorss
   edit-flagss   edit-prioritiess   summary-windows
   log-windows   legend-windowR&   R   s   quit()(    t   QtGuit   QActiont   setTextt   replacet   lent
   setToolTipt   typet   strt   QtCoret   QObjectt   connectt   SIGNALt   toggleSearcht   selectedChannelst   allChannelst   rebuildCachet
   upgradeAllt   applyChangest   clearChangest   expandPackagest   collapsePackagest   editChannelst   editMirrorst	   editFlagst   editPrioritiest   showChangest   showLogt
   showLegendt	   showAboutR   t   SLOTt	   addAction(   t   groupt   actionst   globalst
   newactionst   actiont   actR5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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
 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 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      	      sM  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 6t d 6} t j   j  } 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 | <qm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 rB| 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]8 }   f d%   } |   j# |    j j%   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+     j j%   j*  t j, t d3    j*  } | j-     j* j. |  t j/   j*    _0 t j1 j   j0 t j d4    j2    j0 j-     j* j.   j0  t j3   j*  } t j1 j | t j d5    j2  t4 d6  } | j5 t j6 |   | j-     j* j. |  t j7   j*  } t j8 t d7    j*    _9   j9 j t  t j1 j   j9 t j d5    j2  | j:   j9    j* j.   j9    j9 j-   t j8 t d8    j*    _;   j; j t)  t j1 j   j; t j d5    j2    j; j-   | j:   j;    j* j.   j;  t j< t j= j>   j    _?   j j@   j?  tA   j?    _B   jB j-   tC   j?    _D   jD j-   t j1 j   jB t j d9    jD jE  t j1 j   jB t j d:    jF  t j1 j   jB t j d;    jG    j jH     _I   jI j-   tJ   j    _K d  S(<   Ns   Smart Package Manager %si  i  s   lastWindowClosed()s   quit()R5   R6   R>   t   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   setCheckablet   TrueR8   R9   t   _name(   R5   RU   t   namet   label(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR^     s    c         S   s8   | |  _  | |  _ t j j |  t j |  |  j  d  S(   N(   t	   _callbackt	   _userdataR>   R?   R@   RA   t   slot(   R5   t   signalt   callbackt   userdata(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR@   "  s    		c         S   s   |  j  |  j  d  S(   N(   Rd   Re   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRf   '  s    (   t   __name__t
   __module__R^   R@   Rf   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR]     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    |  j |  x | d D]t } t | t  rv   | |  qQ | r  j  | } t j |  } | j | j    | j |  qQ | j	   qQ Wd  S(   Ni    i   (
   t   _actionsR6   t   QMenut   setTitlet   textt   addMenut
   isinstancet   tupleRT   t   addSeparator(   t   menubart   menut   itemRY   t   mt   i(   t
   insertmenuR5   (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR   C  s    
c            sW   | rI   j  | } t t |  } | j t j |   |  j |  n
 |  j   d  S(   N(   Rr   R   t   TOOLBARICONSt   setIconR6   t   QIconRT   Ry   (   t   toolbart   toolRY   t   pixmap(   R5   (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt
   inserttool[  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(L   R   R^   Rq   t
   _changesetR6   t   QMainWindowt   _windowt   setWindowTitleR   R   t   setMinimumSizeR   R@   R>   RA   RS   t   _undot   _redot   QActionGroupR[   t   ACTIONSRr   R7   t   _filtersR3   t   toggleFiltert   sysconft   gett
   setCheckedR`   t   setTreeStylet   menuBart   _menubart   MENUBARt   QToolBart   _toolbart   TOOLBARt
   addToolBart   setShortcutt   QKeySequencet
   setEnabledt   Falset
   _searchbart   hidet   QLabelt   showt	   addWidgett	   QLineEditt   _searchentryR?   t   refreshPackagest   QPushButtonR   R   R   t   QButtonGroupt   QRadioButtont   _searchnamet	   addButtont   _searchdesct	   QSplittert   Qtt   Verticalt	   _splittert   setCentralWidgetR   t   _pvR   t   _pit
   setPackaget   actOnPackagesR   t	   statusBart   _statusR   t   _legend(   R5   t   ctrlt   argvRW   RU   R]   Rb   Rc   RZ   t	   treestylet   MENUt   TOOLR   t   buttonR   t   buttongroup(    (   R5   R   sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR^     s    	(			
%"
%%(%%c         C   s   |  j  j |  d  S(   N(   R   t   showMessage(   R5   t   msg(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt
   showStatus  s    c         C   s   |  j  j   d  S(   N(   R   t   clearMessage(   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt
   hideStatus  s    c         C   s   |  j  t  |  j   |  j j t 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   setCatchExceptionsR`   t	   loadStateR   t   setWindowIconR6   R   R   R   t   _ctrlt   reloadChannelsR   t   getCacheR   R   t   setChangeSett	   _progressR   R   R   t   exec_t	   saveStateR   (   R5   t   commandR   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   Rq   R   t   resizet   moveR   t   setSizes(   R5   t   var(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR     s    c         C   s   |  j  S(   N(   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   getChangeSet  s    c         C   s   |  j  d t  d  S(   Nt   selected(   t   updateChannelsR`   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRC     s    c         C   s   |  j  d t  d  S(   NR   (   R   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRD     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   Rn   t   aliasest   channelt   state(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR     s    c         C   s:   |  j  j   } |  j j   |  j  j |  |  j   d  S(   N(   R   R   R   R   R   R   (   R5   R   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   n  |  j j   d  S(   Nt	   changesett   confirmR"   R!   (   R   R   R   R   t   commitTransactionR   R   Rr   R   R   t   clearR   R   t   changedMarksR   R   (   R5   R   t   transaction(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRG     s    
c         C   s%   |  j    |  j j   |  j   d  S(   N(   t   saveUndoR   R   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRH     s    
c         C   s   |  j  j |  j  S(   N(   t   _changest   showChangeSetR   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRO     s    c         C   s   |  j  j   S(   N(   t   _logR   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRP     s    c         C   s   |  j  j   S(   N(   R   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRQ     s    c         C   s   |  j  j   d  S(   N(   R   t	   expandAll(   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRI   
  s    c         C   s   |  j  j   d  S(   N(   R   t   collapseAll(   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRJ     s    c         C   s7   | |  j  k r |  j  | =n t |  j  | <|  j   d  S(   N(   R   R`   R   (   R5   t   filter(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   R`   RG   R   (   R5   R   t   pkgR   t   emptychangeset(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRF     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 |  n  d  S(   Nt   policyi    i   (   R   R   R   R	   R   R   R   Rq   R   R   R    R   R   R
   t	   getPolicyR   R   R   R   Rb   t	   setLockedR`   R   R   R   R   (
   R5   t   pkgst   opt   cacheR   R   R  R  t   _pkgt   expected(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR   +  sH    %					 	
	
c         C   s   | sW x* | D]" } t  j d | j d | j  q W|  j j   |  j j | d  nN x* | D]" } t  j d | j d | j  q^ W|  j j   |  j j | d  d  S(   Nt   lockt   =i    (	   t   pkgconft	   clearFlagRb   t   versionR   t   updateR   R   t   setFlag(   R5   R  R  R  (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   lockPackagesT  s      c         C   s   | sN x! | D] } t  j d | j  q W|  j j   |  j j | d  nE x! | D] } t  j d | j  qU W|  j j   |  j j | d  d  S(   NR  i    (   R  R  Rb   R   R  R   R   R  (   R5   R  R  R  (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   lockAllPackages`  s    c         C   s2   t  |  j  j | d  |  j j | d  d  S(   Ni    (   R   R   R   R   R   (   R5   R  Rp   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   priorityPackagesl  s    c         C   s  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 rn| ^ qn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 r2| ^ q2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  | } | } qcW| |  } | r| sN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  | |  } | r| sG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 rl| 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   | |  _  d  |  _ d  |  _ d  S(   N(   t   _pkgsRq   Rd   Re   (   R5   R  (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR^   |  s    		c         S   s   | |  _  | |  _ d  S(   N(   Rd   Re   (   R5   R|   Rh   Ri   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR@     s    	c         S   s   |  j  |  j |  j  d  S(   N(   Rd   R  Re   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRf     s    N(   Rj   Rk   R^   Rq   R@   Rf   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR  z  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   Rs   R   t   boolR   R   R   R   R    t   objectR   R   RT   R3   Rf   R@   R   R   R   R   R   R   Rq   R  t   getFlagTargetsR`   Rb   R  R:   t   testFlagR  R  R  R   R   t   mapToGlobal(   R5   t   packageviewR  t   pntR{   R  t   hasinstalledt   hasnoninstalledR  t   installactiont   iconsetR|   t   reinstallactiont   removeactiont
   keepactiont	   fixactiont   inconsistentt
   thislockedt	   alllockedt   namest   newthislockedt   newalllockedt
   lockactiont   lockallactiont   priorityaction(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR   p  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   R`   (   R5   t   allt   uninstalledR   R6  (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   checkPackages  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  (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   fixAllProblems  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   n  d  S(   Ni    R!   R"   (   R   t   popRr   R   R   R   t   insertR   R   R`   R   R   (   R5   R   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   n  d  S(   Ni    R"   R!   (   R   R<  Rr   R   R   R   R=  R   R   R`   R   R   (   R5   R   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   Rr   R   R`   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR      s    c         C   s&   t  |  j  j   r" |  j   n  d  S(   N(   R   R   R   RE   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRK   %  s    c         C   s   t  |  j  j   d  S(   N(   R   R   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRL   )  s    c         C   s   t  |  j  j   d  S(   N(   R   R   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRM   ,  s    c         C   s   t  |  j  j   d  S(   N(   R   R   R   (   R5   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRN   /  s    c         C   s9   | r( t  j j t  j t j j   n t  j j   d  S(   N(   R6   t   QApplicationt   setOverrideCursort   QCursorR>   R   t
   WaitCursort   restoreOverrideCursor(   R5   t   flag(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   setBusy2  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   t   updatePackagesR   R  Rr   R   R  (   R5   R  (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR   :  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(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRB   D  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-treeRl   s   *%s*s   hide-non-upgradess   hide-uninstalleds   hide-unmarkeds   hide-installeds   hide-unlockedR  s   hide-requestedt   autos   hide-oldt   newRn   s   channels-groupst	   keepstate(3   R   RE  R`   R   R   R   R   RG  R   Ru   R   R   R   t	   isCheckedR=   t   stript   addDescriptiont
   addSummaryt   shlext   splitt
   ValueErrort   hasAutoMeaningt   addAutot   addNameVersionR   t   searcht
   getResultsRw   R   t   appendt   extendt   packagesR   R   R   t   providest
   upgradedbyt   StopIterationR  t   keysR  t   filterByFlagRq   t   loaderst   getInfot   getGroupt
   getChannelt   getNameR   R   t   setPackages(   R5   t   treeR   R   t   searchert   dosearchRu   t   tokenst   tokR[  t   ratiot   objt   filterst   newpackagesR  t   upgpkgst   prvt   upgt   upgpkgR   Rl   t   donet	   lastgroupt   loaderR7  RU   t	   donetupleR   t   subgroup(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR   N  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(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyRR     s    	N(-   Rj   Rk   Rq   R^   R   R   R   R   R   R   RC   RD   R   R   RE   R`   RG   RH   RO   RP   RQ   RI   RJ   R   RF   R   R  R  R  R   R:  R;  R!   R"   R   R   RK   RL   RM   RN   RE  R   RB   R   RR   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyR\     sP   																)						
	
							
	
	(:   t   smart.transactionR    R   R   R   R   R   R   R   R   R	   R
   R   t   smart.interfaces.qt4.channelsR   R   t   smart.interfaces.qt4.mirrorsR   t   smart.interfaces.qt4.flagsR   t   smart.interfaces.qt4.prioritiesR   R   t    smart.interfaces.qt4.packageviewR   t    smart.interfaces.qt4.packageinfoR   t   smart.interfaces.qt4.legendR   t   smart.interfaces.qt4.interfaceR   R   t   smart.interfaces.qt4R   R   t   smart.constR   R   t   smart.searcherR   t   smart.cacheR   R   RQ  t   ret   fnmatcht   PyQt4.QtGuiR6   t   PyQt4.QtCoreR>   Rq   R   R   R   R3   R   R[   R\   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/interactive.pyt   <module>   s  .
					
	N