ó
È”Mc           @   sl   d  d l  m Z d  d l m Z d  d l Td  d l 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   sn   t  j j |  | ƒ |  j t  j t  j j t  j j ƒ ƒ |  j ƒ  j t  j j	 ƒ |  j
 |  j ƒ  j ƒ  ƒ d  S(   N(   t   qtt   QScrollViewt   __init__t   setSizePolicyt   QSizePolicyt	   Expandingt   viewportt   setBackgroundModet   Qtt   PaletteBackgroundt   setPaletteBackgroundColort   paletteBackgroundColor(   t   selft   parent(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/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   QBrushR   (   R   t   argst   paintert   clipxt   clipyt   clipwt   clipht   color(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyR   #   s    "(   t   __name__t
   __module__R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyR      s   	t   QtPackageInfoc           B   s8   e  Z d  „  Z d „  Z d „  Z d d „ Z d „  Z RS(   c         C   sI  t  j j |  | ƒ d  |  _ d  |  _ |  |  _ |  j j ƒ  t |  j ƒ } | j	 d ƒ | j ƒ  t  j
 d | j ƒ  ƒ } | j d ƒ | j	 d ƒ | j ƒ  | 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]x \ } } t  j | | ƒ } | j ƒ  t |  j | d | ƒ t  j d | ƒ } | j ƒ  t |  j | | ƒ | d 7} q)W| |  _ |  j j ƒ  |  j j | t d ƒ ƒ t |  j ƒ } | j	 d ƒ | j ƒ  t  j | j ƒ  ƒ |  _ |  j j t  j j ƒ |  j j ƒ  | j |  j ƒ |  j j ƒ  |  j j | t d ƒ ƒ t |  j ƒ } | j t  j j ƒ | j	 d ƒ | j ƒ  t  j | j ƒ  ƒ |  _ |  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 j ƒ | j	 d ƒ | j ƒ  t  j | j ƒ  ƒ |  _! |  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 ƒ |  _( |  j( j t  j j  t  j j  ƒ |  j( j) t* ƒ |  j( j% ƒ  j& ƒ  |  j( j ƒ  |  j( j+ t d ƒ ƒ |  j( j+ t d ƒ ƒ |  j( j+ t d ƒ ƒ |  j j |  j( t d ƒ ƒ |  j j ƒ  t  j, j- |  j t  j. d ƒ |  j/ ƒ d  S(   Ni   i   t   Infoi   t   statuss   Status:t   prioritys	   Priority:t   groups   Group:t   installedsizes   Installed Size:t   channelss	   Channels:t	   references   Reference URLs:t   _labelt    t   Generalt   Descriptiont   Contentt	   Changelogt	   Relationst   Channelt   Sizet   URLt   URLss   currentChanged(QWidget *)(    (0   R   t
   QTabWidgetR   t   Nonet   _pkgt
   _changesett
   _tabwidgett   showR   t	   setMargint   QGridR
   t
   setSpacingt   addChildt   typet   _infot   _t   QLabelt   setattrt   _gridt
   adjustSizet   addTabt   _descrt   setAlignmentR   t   AlignTopt   setVScrollBarModeR   t   AlwaysOnt   _contR   R   R	   t   _changeR    t
   _relationst   getTreeViewt   headert   hidet	   QListViewt   _urlst   setAllColumnsShowFocust   Truet	   addColumnt   QObjectt   connectt   SIGNALt   _currentChanged(   R   R   t   svt   gridt   rowt   attrt   textt   label(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyR   -   sš    			



	


c         C   s/   t  j j |  j | ƒ } |  j |  j | ƒ d  S(   N(   R   R5   t   indexOfR9   t
   setPackageR7   (   R   t   widgett   pagenum(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyRZ   ’   s    c         C   s   | |  _  d  S(   N(   R8   (   R   t	   changeset(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/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# ƒ  nn| 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# ƒ  n]| d k rs| sc|  j4 j5 g  ƒ d  S|  j6 | ƒ n'| 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  } xt | D]i } | | k r*| } t' j; |  j7 ƒ } | j d | d ƒ | j d | d ƒ | j d | d ƒ 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   unicodeR   t   QStyleSheett   escape(   R_   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyt   boldÆ   s    c         S   s&   d | d t  t j j |  ƒ ƒ d S(   Ns	   <a href="s   ">s   </a>(   Rg   R   Rh   Ri   (   R_   t   url(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/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   (<   R7   R6   R9   t   currentPageIndexR@   R$   t   setTextR&   R'   R%   R(   R)   t   loaderst   getInfot   getGroupt   getInstalledSizet
   getChannelt   appendt   getNamet   getAliast   extendt   getReferenceURLst   pkgconft   testAllFlagst   sortt   joint	   installedRA   t   strt   getPriorityR   R:   t   installedsize_labelRQ   RD   RE   RG   t
   getSummaryRg   R   Rh   Ri   t   getDescriptiont   keysRL   t   getInstalledt   getPathListRM   t   getChangeLogt   rangeR   t   splitRN   t   setPackagest   _setRelationsRS   t   cleart   getURLst   getSizet   QListViewItem(   R   t   pkgt   _pagenumt   numR&   R'   R(   t   urlst   loadert   infot   channelt   flagsRj   Rl   R$   t   linksRk   R_   t   summaryt   descriptiont   pathlistt   patht	   changelogt   it   changesplitt   itemst   aliast   lastitemt   itemt   listitem(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyRb   ™   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   indexRg   (   R   t   other(    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyt   __cmp__R  s    c         S   s   t  |  | ƒ d k  S(   Ni    (   R­   (   R   R°   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyt   __lt__U  s    (   R    R!   RA   R®   R±   R²   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyR¨   O  s   	s   Required Bys   Upgraded Bys   Conflicted ByR©   R«   Rª   R¬   (   Rg   t   providest
   requiredbyR{   t   packagesRA   t
   upgradedbyt   conflictedbyt
   setdefaultR‚   t   requirest
   providedbyt   dictt   fromkeysR‡   t   upgradest	   conflictsRN   R   R8   (   R   R“   R¨   t	   relationst   prvt   prvmapR´   t   reqR¶   t   upgR·   t   cnfR¹   t   lstR½   R¾   (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyRŽ   M  s\    	/N(   R    R!   R   RZ   Rf   R6   Rb   RŽ   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyR"   ,   s
   	e		´(
   t   smart.interfaces.qt.packageviewR    t   smart.util.strtoolsR   t   smartR   R   R   R5   R"   (    (    (    sC   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/packageinfo.pyt   <module>   s
   
