ó
È”Mc           @   s~   d  d l  m Z d  d l m Z d  d l Td  d l j Z d  d l j Z d e j	 f d „  ƒ  YZ
 d e j f d „  ƒ  YZ d S(	   iÿÿÿÿ(   t   QtPackageView(   t	   sizeToStr(   t   *Nt   BackgroundScrollViewc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s<   t  j j |  | ƒ |  j t  j t  j j t  j j ƒ ƒ d  S(   N(   t   QtGuit   QScrollAreat   __init__t   setSizePolicyt   QSizePolicyt	   Expanding(   t   selft   parent(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR      s    c         G   s’   t  | ƒ d k r, t t j j |  f | ƒ S| \ } } } } } |  j ƒ  } | j | | | | t j | ƒ ƒ t j j |  | | | | | ƒ d  S(   Ni   (	   t   lent   applyR   t   QFramet   drawContentst
   eraseColort   fillRectt   BrushR   (   R
   t   argst   paintert   clipxt   clipyt   clipwt   clipht   color(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR   $   s    "(   t   __name__t
   __module__R   R   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR      s   	t   QtPackageInfoc           B   s8   e  Z d  „  Z d „  Z d „  Z d d „ Z d „  Z RS(   c   	      C   ss  t  j j |  | ƒ d  |  _ d  |  _ |  |  _ |  j j ƒ  t |  j ƒ } | j ƒ  t  j	 | j
 ƒ  ƒ } t  j | ƒ } | j d ƒ | j d ƒ | j ƒ  t d d i  ƒ ƒ  |  _ d } 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 g D]ž \ } } t  j | | ƒ } | j | | d ƒ | j ƒ  t |  j | d | ƒ t  j d | ƒ } | j | | d ƒ | j ƒ  t |  j | | ƒ | d 7} qW| |  _ |  j j ƒ  |  j j | t d ƒ ƒ t |  j ƒ } | j t ƒ | j ƒ  t  j | j
 ƒ  ƒ |  _ |  j j t j j ƒ |  j j ƒ  | j |  j ƒ |  j j ƒ  |  j j | t d ƒ ƒ t |  j ƒ } | j t ƒ | j t j j  ƒ | j ƒ  t  j | j
 ƒ  ƒ |  _! |  j! j t j j ƒ |  j! j" t ƒ |  j! j# t  j$ j% ƒ |  j! j& t  j' j( t  j' j( ƒ |  j! j ƒ  | j |  j! ƒ |  j! j ƒ  |  j j | t d ƒ ƒ t |  j ƒ } | j t ƒ | j t j j  ƒ | j ƒ  t  j | j
 ƒ  ƒ |  _) |  j) j t j j ƒ |  j) j" t ƒ |  j) j# t  j$ j% ƒ |  j) j& t  j' j( t  j' j( ƒ |  j) j ƒ  | j |  j) ƒ |  j) j ƒ  |  j j | t d ƒ ƒ t* |  j ƒ |  _+ |  j+ j, ƒ  j- ƒ  j. ƒ  |  j+ j ƒ  |  j j |  j+ t d ƒ ƒ t  j/ |  j ƒ |  _0 |  j0 j& t  j' j( t  j' j( ƒ |  j0 j ƒ  |  j0 j1 t d ƒ t d ƒ t d ƒ g ƒ |  j j |  j0 t d ƒ ƒ |  j j ƒ  t j2 j3 |  j t j4 d ƒ |  j5 ƒ d  S(   Ni   t   Infoi    t   statuss   Status:t   prioritys	   Priority:t   groups   Group:t   installedsizes   Installed Size:t   channelss	   Channels:t	   references   Reference URLs:t   _labelt    i   t   Generalt   Descriptiont   Contentt	   Changelogt	   Relationst   Channelt   Sizet   URLt   URLss   currentChanged(QWidget *)(    (6   R   t
   QTabWidgetR   t   Nonet   _pkgt
   _changesett
   _tabwidgett   showR   t   QWidgett   viewportt   QGridLayoutt
   setSpacingt	   setMargint   typet   _infot   _t   QLabelt	   addWidgett   setattrt   _gridt
   adjustSizet   addTabt   setWidgetResizablet   Truet   _descrt   setAlignmentt   QtCoret   Qtt   AlignTopt	   setWidgett   setVerticalScrollBarPolicyt   ScrollBarAlwaysOnt   _contt   setAutoFillBackgroundt   setBackgroundRolet   QPalettet   BaseR   R   R	   t   _changeR    t
   _relationst   getTreeViewt   headert   hidet   QTreeWidgett   _urlst   setHeaderLabelst   QObjectt   connectt   SIGNALt   _currentChanged(	   R
   R   t   svt   gridt   layoutt   rowt   attrt   textt   label(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR   .   sœ    			



	


+c         C   s/   t  j j |  j | ƒ } |  j |  j | ƒ d  S(   N(   R   R/   t   indexOfR3   t
   setPackageR1   (   R
   t   widgett   pagenum(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR]   ¡   s    c         C   s   | |  _  d  S(   N(   R2   (   R
   t	   changeset(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyt   setChangeSet¥   s    c         C   s¨  | |  _  | d  k	 r | } n |  j j ƒ  } | d k r,| sµ |  j j j d ƒ |  j j j d ƒ |  j j j d ƒ |  j j	 j d ƒ |  j j
 j d ƒ |  j j j d ƒ d  Sd  } d  } g  } g  } x¤ | j D]™ } | j | ƒ }	 | d  k r|	 j ƒ  } n  | d  k r"|	 j ƒ  } n  | j ƒ  }
 | j d |
 j ƒ  pL|
 j ƒ  |
 j ƒ  f ƒ | j |	 j ƒ  ƒ q× Wt j | ƒ } | r©| j ƒ  d d j | ƒ } n d } d „  } d „  } | j rÖt d ƒ pßt d	 ƒ } |  j j j | | | ƒ ƒ |  j j j | | pt d
 ƒ ƒ ƒ |  j j	 j | t | j ƒ  ƒ ƒ ƒ |  j j
 j | d j | ƒ ƒ ƒ g  } x$ | D] } | j | | | ƒ ƒ qxW|  j j j d j | ƒ ƒ | rü|  j j j | t | ƒ ƒ ƒ |  j j j ƒ  |  j j  j ƒ  n  |  j j j! ƒ  |  j j  j! ƒ  |  j" j# ƒ  nx| d k r|  j$ j d ƒ | sRd  Sd } x– | j D]x } | j | ƒ }	 |	 j% ƒ  } | rb| d t& t' j( j) | ƒ ƒ d 7} |	 j* ƒ  } | | k rÖ| | d 7} n  PqbqbW| j j+ ƒ  d } |  j$ j | ƒ n | d k rË|  j, j d ƒ | s*d  Sd } x4 | j D] } | j- ƒ  r:Pq:q:W| j j+ ƒ  d } | j | ƒ }	 |	 j. ƒ  } | j ƒ  x | D] } | | d 7} q“W|  j, j | ƒ |  j, j# ƒ  nÙ| d k r=|  j/ j d ƒ | sñd  Sd } x4 | j D] } | j- ƒ  rPqqW| j j+ ƒ  d } | j | ƒ }	 |	 j0 ƒ  } xÑ t1 t2 | ƒ d ƒ D]¹ } | d t& t' j( j) | d | ƒ ƒ d 7} | d | d j3 d ƒ } | t& t' j( j) | d ƒ ƒ d 7} xE t1 d t2 | ƒ ƒ D]. } | d t& t' j( j) | | ƒ ƒ d 7} qçWq`W|  j/ j | ƒ |  j/ j# ƒ  ng| d k rs| sc|  j4 j5 g  ƒ d  S|  j6 | ƒ n1| d k r¤|  j7 j8 ƒ  | s–d  Sg  } xt | j D]i } | j ƒ  }
 |
 j ƒ  } | j | ƒ }	 x9 |	 j9 ƒ  D]+ } | j | t |	 j: | ƒ ƒ | f ƒ qàWq¦W| j ƒ  d  } x~ | D]s } | | k r*| } t; j< ƒ  } | j d | d ƒ | j d | d ƒ | j d | d ƒ |  j7 j= | ƒ q*q*Wn  d  S(   Ni    R%   s   %s (%s)s    (%s)s   , c         S   s   d t  t j j |  ƒ ƒ d S(   Ns   <b>s   </b>(   t   unicodeRG   RH   t   escape(   Rc   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyt   boldÕ   s    c         S   s&   d | d t  t j j |  ƒ ƒ d S(   Ns	   <a href="s   ">s   </a>(   Rk   RG   RH   Rl   (   Rc   t   url(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyt   linkØ   s    t	   Installedt	   Availablet   Unknowns   
t    i   s   <b>s   </b><br><br>s   

i   i   s   </b><br>s   <br>s     i   i   (>   R1   R0   R3   t   currentIndexR;   R   t   setTextR    R!   R   R"   R#   t   loaderst   getInfot   getGroupt   getInstalledSizet
   getChannelt   appendt   getNamet   getAliast   extendt   getReferenceURLst   pkgconft   testAllFlagst   sortt   joint	   installedR<   t   strt   getPriorityR   R4   t   installedsize_labelRV   R@   RA   RE   t
   getSummaryRk   RG   RH   Rl   t   getDescriptiont   keysRM   t   getInstalledt   getPathListRR   t   getChangeLogt   rangeR   t   splitRS   t   setPackagest   _setRelationsRX   t   cleart   getURLst   getSizeR   t   QTreeWidgetItemt   addTopLevelItem(   R
   t   pkgt   _pagenumt   numR    R!   R"   t   urlst   loadert   infot   channelt   flagsRm   Ro   R   t   linksRn   Rc   t   summaryt   descriptiont   pathlistt   patht	   changelogt   it   changesplitt   itemst   aliast   lastitemt   itemt   listitem(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyRf   ¨   s    			
		!%%" $ 
 ,$0-
c         C   së  d t  f d „  ƒ  Y} i  } x| j D]} i  } g  } x! | j D] } | j | j ƒ qB W| ru | | t d ƒ <n  g  } x! | j D] }	 | j |	 j ƒ q… W| r¸ | | t d ƒ <n  g  }
 x! | j D] } |
 j | j ƒ qÈ W|
 rû |
 | t d ƒ <n  | r& | | j | t d ƒ ƒ i  ƒ t	 | ƒ <q& q& Wi  } xc | j
 D]X } | j t	 | ƒ g  ƒ } x! | j D] } | j | j ƒ qhWt j | ƒ j ƒ  | (q@W| r»| | | t d ƒ ƒ <n  i  } xc | j D]X }	 | j t	 |	 ƒ g  ƒ } x! |	 j D] } | j | j ƒ qóWt j | ƒ j ƒ  | (qËW| rF| | | t d ƒ ƒ <n  i  } xc | j D]X } | j t	 | ƒ g  ƒ } x! | j D] } | j | j ƒ q~Wt j | ƒ j ƒ  | (qVW| rÑ| | | t d	 ƒ ƒ <n  |  j j | |  j ƒ d  S(
   Nt   Sorterc           B   sD   e  Z e d  ƒ e d ƒ e d ƒ e d ƒ g Z d „  Z d „  Z RS(   t   Providest   Upgradest   Requirest	   Conflictsc         S   s1   t  |  j j t |  ƒ ƒ |  j j t | ƒ ƒ ƒ S(   N(   t   cmpt   ORDERt   indexRk   (   R
   t   other(    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyt   __cmp__b  s    c         S   s   t  |  | ƒ d k  S(   Ni    (   R±   (   R
   R´   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyt   __lt__e  s    (   R   R   R<   R²   Rµ   R¶   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR¬   _  s   	s   Required Bys   Upgraded Bys   Conflicted ByR­   R¯   R®   R°   (   Rk   t   providest
   requiredbyR~   t   packagesR<   t
   upgradedbyt   conflictedbyt
   setdefaultR…   t   requirest
   providedbyt   dictt   fromkeysRŠ   t   upgradest	   conflictsRS   R   R2   (   R
   R—   R¬   t	   relationst   prvt   prvmapR¸   t   reqRº   t   upgR»   t   cnfR½   t   lstRÁ   RÂ   (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR‘   ]  s\    	/N(   R   R   R   R]   Rj   R0   Rf   R‘   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyR   -   s
   	s		µ(   t    smart.interfaces.qt4.packageviewR    t   smart.util.strtoolsR   t   smartt   PyQt4.QtGuiR   t   PyQt4.QtCoreRG   R   R   R/   R   (    (    (    sD   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/packageinfo.pyt   <module>   s   
