ó
È”Mc           @   s   d  d l  m Z m Z d  d l Td  d l Z d  d l Z e j d ƒ Z d e f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d	 e f d
 „  ƒ  YZ d S(   iÿÿÿÿ(   t	   getPixmapt   centerWindow(   t   *Ns&   ^\s*(\S+?)\s*(?:([<>=]+)\s*(\S+))?\s*$t   QtFlagsc           B   sw   e  Z d d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z RS(   c   	      C   s  t  j d  ƒ |  _ |  j j t d ƒ ƒ |  j j t d ƒ ƒ |  j j t	 ƒ |  j j
 d d ƒ t  j |  j ƒ } | j t  j j ƒ t  j |  j ƒ } | j d ƒ | j d ƒ | j ƒ  | j | ƒ t  j | ƒ } | j d ƒ | j ƒ  t  j | ƒ } | j d ƒ | j ƒ  t  j | ƒ |  _ |  j j ƒ  t  j j |  j t  j d ƒ |  j ƒ |  j j t d ƒ ƒ t  j | ƒ } | j d ƒ | j d ƒ | j ƒ  t  j t d	 ƒ | ƒ } | j t	 ƒ | j  t  j! t d
 ƒ ƒ ƒ | j ƒ  t  j j | t  j d ƒ |  j" ƒ | |  _# t  j t d ƒ | ƒ } | j t$ ƒ | j  t  j! t d ƒ ƒ ƒ | j ƒ  t  j j | t  j d ƒ |  j% ƒ | |  _& t  j | ƒ } | j d ƒ | j ƒ  t  j | ƒ |  _' |  j' j ƒ  t  j j |  j' t  j d ƒ |  j( ƒ |  j' j t d ƒ ƒ t  j | ƒ } | j d ƒ | j d ƒ | j ƒ  t  j t d	 ƒ | ƒ } | j t$ ƒ | j  t  j! t d
 ƒ ƒ ƒ | j ƒ  t  j j | t  j d ƒ |  j) ƒ | |  _* t  j t d ƒ | ƒ } | j t$ ƒ | j  t  j! t d ƒ ƒ ƒ | j ƒ  t  j j | t  j d ƒ |  j+ ƒ | |  _, t  j- | ƒ } | j. t  j- j/ ƒ | j0 t  j- j1 ƒ | j ƒ  t  j | ƒ } | j d ƒ | j2 ƒ  j3 d ƒ | j ƒ  t  j t d ƒ | ƒ } | j ƒ  t  j j | t  j d ƒ |  j t  j4 d ƒ ƒ | j5 t	 ƒ d  S(   Nt   smartt   FlagsiX  i  i
   i   s   selectionChanged()i   t   News   crystal-adds	   clicked()t   Deletes   crystal-deletet   Targetsi   t   Closes   accept()(6   t   qtt   QDialogt   Nonet   _windowt   setIconR    t
   setCaptiont   _t   setModalt   Truet   setMinimumSizet   QVBoxLayoutt   setResizeModet   QLayoutt
   FreeResizet   QVBoxt	   setMargint
   setSpacingt   showt	   addWidgett   QHBoxt
   QVGroupBoxt   setInsideSpacingt	   QListViewt
   _flagsviewt   QObjectt   connectt   SIGNALt   flagSelectionChangedt	   addColumnt   QPushButtont
   setEnabledt
   setIconSett   QIconSett   newFlagt   _newflagt   Falset   delFlagt   _delflagt   _targetsviewt   targetSelectionChangedt	   newTargett
   _newtargett	   delTargett
   _deltargett   QFramet   setFrameShapet   HLinet   setFrameShadowt   Sunkent   layoutt
   addStretcht   SLOTt
   setDefault(	   t   selft   parentR;   t   topvboxt   tophboxt   vboxt   bboxt   buttont   sep(    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyt   __init__   s’    


%

"	
"	
%

"	
"	


.c         C   sT   |  j  j ƒ  t j ƒ  } | j ƒ  x* | D]" } t j |  j  ƒ j d | ƒ q* Wd  S(   Ni    (   R!   t   cleart   pkgconft   getFlagNamest   sortR
   t   QListViewItemt   setText(   R?   t   flaglstt   flag(    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyt	   fillFlags†   s
    
c      	   C   sË   |  j  j ƒ  |  j rÇ t j |  j ƒ } | j ƒ  } | j ƒ  x† | D]{ } xr | | D]f \ } } | r  | r  t j |  j  ƒ } | j	 d d | | | f ƒ qV t j |  j  ƒ j	 d | ƒ qV WqE Wn  d  S(   Ni    s   %s %s %s(
   R0   RH   t   _flagRI   t   getFlagTargetst   keysRK   R
   RL   RM   (   R?   t   namest   namelstt   namet   relationt   versiont   item(    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyt   fillTargets   s    	
 c         C   sO   |  j  ƒ  |  j j ƒ  t |  j ƒ |  j j ƒ  |  j j ƒ  |  j j ƒ  d  S(   N(   RP   R   R   R   t   raiseWt	   exec_loopt   hide(   R?   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR   ›   s    
c         C   s^   t  |  j ƒ j ƒ  } | rZ t j | ƒ r@ t j t d ƒ ƒ qZ t j | ƒ |  j	 ƒ  n  d  S(   Ns   Flag already exists!(
   t   FlagCreatorR   R   RI   t
   flagExistst   ifacet   errorR   t
   createFlagRP   (   R?   RO   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR+   £   s    c         C   sr   t  |  j ƒ j ƒ  } | rn t j | ƒ } | ra | j ƒ  \ } } } t j |  j | | | ƒ n  |  j	 ƒ  n  d  S(   N(
   t   TargetCreatorR   R   t   TARGETREt   matcht   groupsRI   t   setFlagRQ   RZ   (   R?   t   targett   mRV   RW   RX   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR2   ¬   s    c         C   s@   |  j  j ƒ  } | r< t j |  j ƒ |  j ƒ  |  j ƒ  n  d  S(   N(   R!   t   selectedItemRI   t	   clearFlagRQ   RP   RZ   (   R?   RY   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR.   µ   s
    
c         C   s³   |  j  j ƒ  } | r¯ t | j d ƒ ƒ } t j | ƒ } | sU t j t d ƒ ƒ q¯ | j	 ƒ  \ } } } t
 j |  j | | | ƒ t
 j |  j ƒ s¢ |  j ƒ  q¯ |  j ƒ  n  d  S(   Ni    s   Invalid target!(   R0   Rj   t   strt   textRd   Re   R`   Ra   R   Rf   RI   Rk   RQ   R_   RP   RZ   (   R?   RY   Rh   Ri   RV   RW   RX   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR4   ¼   s    c         C   s…   |  j  } | j | ƒ } | j | d ƒ } | | k r t j | ƒ r[ t j t d ƒ ƒ q t j | | ƒ | j	 | d | ƒ n  d  S(   Ni    s   Flag already exists!(
   t   _flagsmodelt   get_iter_from_stringt	   get_valueRI   R_   R`   Ra   R   t
   renameFlagt	   set_value(   R?   t   cellt   rowt   newtextt   modelt   itert   oldtext(    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyt
   flagEditedË   s    	c         C   s1  |  j  } | j | ƒ } | j | d ƒ } | | k r-t j | ƒ } | sa t j t d ƒ ƒ q-| j ƒ  \ } }	 }
 t j | ƒ } | s¡ t j t d ƒ ƒ q-| j ƒ  \ } } } t	 j
 |  j | |	 |
 ƒ t	 j |  j | | | ƒ | r| r| j | d d | | | f ƒ q-| j | d | ƒ n  d  S(   Ni    s   Invalid target!s   %s %s %s(   t   _targetsmodelRo   Rp   Rd   Re   R`   Ra   R   Rf   RI   Rk   RQ   Rg   Rr   (   R?   Rs   Rt   Ru   Rv   Rw   Rx   Ri   t   oldnamet   oldrelationt
   oldversiont   newnamet   newrelationt
   newversion(    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyt   targetEditedÖ   s(    	

c         C   ss   |  j  j ƒ  } |  j j t | ƒ ƒ |  j j t | ƒ ƒ | r\ t | j d ƒ ƒ |  _ n	 d  |  _ |  j
 ƒ  d  S(   Ni    (   R!   Rj   R/   R(   t   boolR3   Rl   Rm   RQ   R   RZ   (   R?   RY   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR%   ï   s    	c         C   s)   |  j  j ƒ  } |  j j t | ƒ ƒ d  S(   N(   R0   Rj   R5   R(   R‚   (   R?   RY   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR1   ù   s    N(   t   __name__t
   __module__R   RG   RP   RZ   R   R+   R2   R.   R4   Ry   R   R%   R1   (    (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR      s   g												
R^   c           B   s   e  Z d d  „ Z d „  Z RS(   c         C   s  t  j | ƒ |  _ |  j j t d ƒ ƒ |  j j t d ƒ ƒ |  j j t ƒ t  j	 |  j ƒ } | j
 d ƒ | j d ƒ | j ƒ  t  j d | ƒ } | j d ƒ t  j t d ƒ | ƒ } t  j | ƒ |  _ |  j j d ƒ |  j j ƒ  t  j | ƒ } | j t  j j ƒ | j t  j j ƒ | j ƒ  t  j | ƒ } | j d ƒ | j ƒ  j d ƒ | j ƒ  t  j | j d ƒ | ƒ } t  j j | t  j d	 ƒ |  j t  j d
 ƒ ƒ t  j | j d ƒ | ƒ } t  j j | t  j d	 ƒ |  j t  j d ƒ ƒ | j  ƒ  |  j j  ƒ  d  S(   NR   s   New Flagi
   i   s   Name:i   i   t   OKs	   clicked()s   accept()t   Cancels   reject()(!   R
   R   R   R   R    R   R   R   R   R   R   R   R   t   QGridt   QLabelt	   QLineEditRQ   t   setMaxLengthR6   R7   R8   R9   R:   R   R;   R<   R'   t   trR"   R#   R$   R=   t
   adjustSize(   R?   R@   RC   t   tablet   labelRF   RD   RE   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyRG   ÿ   s8    


..
c         C   s±   |  j  j ƒ  |  j  j ƒ  |  j  j ƒ  xv t rŸ |  j  j ƒ  |  _ |  j t j j	 k r• t
 |  j j ƒ  ƒ j ƒ  } | s‘ t j t d ƒ ƒ q* n  Pn  d  } Pq* W|  j  j ƒ  | S(   Ns   No flag name provided!(   R   R   R[   t   setActiveWindowR   R\   t   _resultR
   R   t   AcceptedRl   RQ   Rm   t   stripR`   Ra   R   R   R]   (   R?   RO   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR   )  s    	N(   Rƒ   R„   R   RG   R   (    (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR^   ý   s   *Rc   c           B   s   e  Z d d  „ Z d „  Z RS(   c   	      C   s@  t  j | ƒ |  _ |  j j t d ƒ ƒ |  j j t d ƒ ƒ |  j j t ƒ t  j	 |  j ƒ } | j
 d ƒ | j d ƒ | j ƒ  t  j d | ƒ } | j d ƒ | j ƒ  t  j t d ƒ | ƒ } t  j | ƒ |  _ |  j j d ƒ |  j j ƒ  t  j | ƒ } t  j t d ƒ | ƒ } t  j | ƒ } | j t  j j ƒ | j t  j j ƒ | j ƒ  t  j | ƒ } | j d ƒ | j ƒ  j d ƒ | j ƒ  t  j | j d	 ƒ | ƒ } t  j j | t  j d
 ƒ |  j t  j  d ƒ ƒ t  j | j d ƒ | ƒ } t  j j | t  j d
 ƒ |  j t  j  d ƒ ƒ | j! ƒ  |  j j! ƒ  d  S(   NR   s
   New Targeti
   i   s   Target:i(   s8   Examples: "pkgname", "pkgname = 1.0" or "pkgname <= 1.0"i   R…   s	   clicked()s   accept()R†   s   reject()("   R
   R   R   R   R    R   R   R   R   R   R   R   R   R‡   Rˆ   R‰   t   _targetRŠ   t   QWidgetR6   R7   R8   R9   R:   R   R;   R<   R'   R‹   R"   R#   R$   R=   RŒ   (	   R?   R@   RC   R   RŽ   t   blankRF   RD   RE   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyRG   @  s@    

	

..
c         C   sò   |  j  j ƒ  |  j  j ƒ  |  j  j ƒ  x· t rà |  j  j ƒ  |  _ |  j t j j	 k rÖ t
 |  j j ƒ  ƒ j ƒ  } | s‘ t j t d ƒ ƒ q* n  d | k s¹ d | k s¹ t j | ƒ rÒ t j t d ƒ ƒ q* n  Pn  d  } Pq* W|  j  j ƒ  | S(   Ns   No target provided!t   "t   ,s   Invalid target!(   R   R   R[   R   R   R\   R   R
   R   R‘   Rl   R“   Rm   R’   R`   Ra   R   Rd   Re   R   R]   (   R?   Rh   (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyR   p  s&    	N(   Rƒ   R„   R   RG   R   (    (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyRc   >  s   0(   t   smart.interfaces.qtR    R   R   R
   t   ret   compileRd   t   objectR   R^   Rc   (    (    (    s=   /usr/lib/python2.7/dist-packages/smart/interfaces/qt/flags.pyt   <module>   s   
àA