ó
È”Mc           @   sŸ   d  d l  m Z m Z d  d l Td  d l j Z d  d l j 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  j t d ƒ ƒ ƒ |  j j t d ƒ ƒ |  j j	 t
 ƒ |  j j d d ƒ t  j |  j ƒ } t  j |  j ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  j d ƒ | j ƒ  | j | ƒ t  j | ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  | j ƒ  j | ƒ t  j | ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  | j ƒ  j | ƒ t  j | ƒ |  _ |  j j ƒ  | j ƒ  j |  j ƒ t j j |  j t j d ƒ |  j ƒ |  j j t d ƒ g ƒ |  j j ƒ  j ƒ  t  j | ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  j d ƒ | j ƒ  | j ƒ  j | ƒ t  j t d	 ƒ | ƒ } | j t
 ƒ | j  t  j t d
 ƒ ƒ ƒ | j ƒ  t j j | t j d ƒ |  j! ƒ | |  _" | j ƒ  j | ƒ t  j t d ƒ | ƒ } | j t# ƒ | j  t  j t d ƒ ƒ ƒ | j ƒ  t j j | t j d ƒ |  j$ ƒ | |  _% | j ƒ  j | ƒ t  j | ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  | j ƒ  j | ƒ t  j | ƒ |  _& |  j& j ƒ  | j ƒ  j |  j& ƒ t j j |  j& t j d ƒ |  j' ƒ |  j& j t d ƒ g ƒ |  j& j ƒ  j ƒ  t  j | ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  j d ƒ | j ƒ  | j ƒ  j | ƒ t  j t d	 ƒ | ƒ } | j t# ƒ | j  t  j t d
 ƒ ƒ ƒ | j ƒ  t j j | t j d ƒ |  j( ƒ | |  _) | j ƒ  j | ƒ t  j t d ƒ | ƒ } | j t# ƒ | j  t  j t d ƒ ƒ ƒ | j ƒ  t j j | t j d ƒ |  j* ƒ | |  _+ | j ƒ  j | ƒ t  j, | ƒ } | j- t  j, j. ƒ | j/ t  j, j0 ƒ | j ƒ  | j ƒ  j | ƒ t  j | ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  j1 d ƒ | j ƒ  | j ƒ  j | ƒ t  j t d ƒ | ƒ } | j ƒ  t j j | t j d ƒ |  j t j2 d ƒ ƒ | j ƒ  j | ƒ | j3 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()(4   t   QtGuit   QDialogt   Nonet   _windowt   setWindowIcont   QIconR    t   setWindowTitlet   _t   setModalt   Truet   setMinimumSizet   QVBoxLayoutt   QWidgett   layoutt	   setMargint
   setSpacingt   showt	   addWidgett   QHBoxLayoutt	   QGroupBoxt   QTableWidgett
   _flagsviewt   QtCoret   QObjectt   connectt   SIGNALt   flagSelectionChangedt   setHorizontalHeaderLabelst   horizontalHeadert   QPushButtont
   setEnabledt   setIcont   newFlagt   _newflagt   Falset   delFlagt   _delflagt   _targetsviewt   targetSelectionChangedt	   newTargett
   _newtargett	   delTargett
   _deltargett   QFramet   setFrameShapet   HLinet   setFrameShadowt   Sunkent
   addStretcht   SLOTt
   setDefault(	   t   selft   parentR   t   topvboxt   tophboxt   vboxt   bboxt   buttont   sep(    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyt   __init__    s¾    


%

"	
"	
%

"	
"	


.c         C   sp   |  j  j ƒ  t j ƒ  } | j ƒ  xF | D]> } t j ƒ  } | j | ƒ |  j  j |  j  j	 ƒ  d | ƒ q* Wd  S(   Ni    (
   R   t   cleart   pkgconft   getFlagNamest   sortR
   t   QTableWidgetItemt   setTextt   setItemt   rowCount(   R=   t   flaglstt   flagt   item(    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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(
   R/   RF   t   _flagRG   t   getFlagTargetst   keysRI   R
   RJ   RK   (   R=   t   namest   namelstt   namet   relationt   versionRP   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyt   fillTargetsª   s    	
 c         C   sO   |  j  ƒ  |  j j ƒ  t |  j ƒ |  j j ƒ  |  j j ƒ  |  j j ƒ  d  S(   N(   RQ   R   R   R   t   raise_t   exec_t   hide(   R=   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   RG   t
   flagExistst   ifacet   errorR   t
   createFlagRQ   (   R=   RO   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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   groupsRG   t   setFlagRR   RZ   (   R=   t   targett   mRW   RX   RY   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR1   É   s    c         C   s@   |  j  j ƒ  } | r< t j |  j ƒ |  j ƒ  |  j ƒ  n  d  S(   N(   R   t   selectedItemRG   t	   clearFlagRR   RQ   RZ   (   R=   RP   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/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!(   R/   Rj   t   strt   textRd   Re   R`   Ra   R   Rf   RG   Rk   RR   R_   RQ   RZ   (   R=   RP   Rh   Ri   RW   RX   RY   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR3   Ù   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_valueRG   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/qt4/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   RG   Rk   RR   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/qt4/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   boolR2   Rl   Rm   RR   R   RZ   (   R=   RP   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR$     s    	c         C   s)   |  j  j ƒ  } |  j j t | ƒ ƒ d  S(   N(   R/   Rj   R4   R(   R‚   (   R=   RP   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR0     s    N(   t   __name__t
   __module__R   RE   RQ   RZ   R   R*   R1   R-   R3   Ry   R   R$   R0   (    (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR      s   													
R^   c           B   s   e  Z d d  „ Z d „  Z RS(   c         C   sT  t  j | ƒ |  _ |  j j t  j t d ƒ ƒ ƒ |  j j t d ƒ ƒ |  j j t	 ƒ t  j
 |  j ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  j d ƒ | j ƒ  t  j
 | ƒ } t  j | ƒ | j ƒ  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 | ƒ } t  j | ƒ | 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
   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   R   R   R   t   QGridLayoutt   QLabelt	   QLineEditRR   t   setMaxLengthR5   R6   R7   R8   R9   t   QHBoxR   R:   R'   t   trR    R!   R"   R#   R;   t
   adjustSize(   R=   R>   RA   t   tablet   labelRD   RB   RC   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyRE     s>    


..
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   activateR   R\   t   _resultR
   R   t   AcceptedRl   RR   Rm   t   stripR`   Ra   R   R   R]   (   R=   RO   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR   I  s    	N(   Rƒ   R„   R   RE   R   (    (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyR^     s   -Rc   c           B   s   e  Z d d  „ Z d „  Z RS(   c   	      C   s…  t  j | ƒ |  _ |  j j t  j t d ƒ ƒ ƒ |  j j t d ƒ ƒ |  j j t	 ƒ t  j
 |  j ƒ } t  j | ƒ | j ƒ  j d ƒ | j ƒ  j d ƒ | j ƒ  t  j
 | ƒ } t  j | ƒ | j ƒ  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
 | ƒ } t  j | ƒ | 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
   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   R‡   Rˆ   R‰   t   _targetRŠ   R5   R6   R7   R8   R9   R   R:   R'   RŒ   R    R!   R"   R#   R;   R   (	   R=   R>   RA   RŽ   R   t   blankRD   RB   RC   (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyRE   `  sF    

	

..
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[   t   activateWindowR   t	   exec_loopR‘   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/qt4/flags.pyR   “  s&    	N(   Rƒ   R„   R   RE   R   (    (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyRc   ^  s   3(   t   smart.interfaces.qt4R    R   R   t   PyQt4.QtGuiR
   t   PyQt4.QtCoreR    t   ret   compileRd   t   objectR   R^   Rc   (    (    (    s>   /usr/lib/python2.7/dist-packages/smart/interfaces/qt4/flags.pyt   <module>   s   
üD