
Tc           @   s;  y( d  d l  Z  d  d l Z d  d l Z Wn e k
 rD e d  n Xy d  d l Z e Z Wn e Z n Xe  j	 d  e  j
 j   d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l Z d  d l m Z m Z m Z m Z d  d l m Z d  d l m Z e Z d Z d	   Z e j d
  Z  d   Z! d   Z" e d  Z# d   Z$ d   Z% d e  j& f d     YZ' d e' f d     YZ( d e' f d     YZ) d e  j& f d     YZ* d e+ f d     YZ, d e+ f d     YZ- d e  j. e j/ f d     YZ0 d e  j& f d     YZ1 d  e j/ f d!     YZ2 d" e3 f d#     YZ4 d$ e+ f d%     YZ5 d& e5 f d'     YZ6 d( e6 f d)     YZ7 d* e6 f d+     YZ8 d, e8 f d-     YZ9 d. e6 f d/     YZ: d0 e6 f d1     YZ; d2 e; f d3     YZ< d4 e  j= f d5     YZ> e j? e>  d6 e; f d7     YZ@ d8 e; f d9     YZA d: e6 f d;     YZB d< e6 f d=     YZC d> e6 f d?     YZD d@ eD f dA     YZE dB e6 f dC     YZF dD e6 f dE     YZG dF e6 f dG     YZH dH e6 f dI     YZI dJ e  jJ f dK     YZK dL e5 e  jL f dM     YZM dN e5 e  jL f dO     YZN dP e5 e  jO f dQ     YZP dR   ZQ dS   ZR dT   ZS i e8 dU 6e9 dV 6e@ dW 6eA dX 6eB dY 6eD dZ 6eC d[ 6eE d\ 6eF d] 6eG d^ 6e< d_ 6eH d` 6ZT i eM da 6eP db 6eN dc 6ZU dd   ZV de   ZW df   ZX dg   ZY d S(h   iNs=   Please install the python-gtk2 package to use this interface.i    (   t   Queue(   t	   NoPackaget   NoBugst	   NoNetworkt   NoReport(   t   debbugs(   t   launch_browsers"   /usr/share/pixmaps/debian-logo.pngc         C   s   d |  S(   Ns	   <b>%s</b>(    (   t   s(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt	   highlight<   s    s   <.*?>c         C   s   t  j d |   S(   Nt    (   t   re_markup_freet   sub(   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   markup_freeA   s    c         C   s(   |  j    }  |  d d k r$ |  d  S|  S(   Nit   ?t   :(   R   R   (   t   strip(   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   ask_freeD   s    c         C   sY   t  j   } | j t  j  | j t  j t  j  | rH | j |   n | j |   | S(   N(   t   gtkt   ScrolledWindowt   set_shadow_typet   SHADOW_ETCHED_INt
   set_policyt   POLICY_AUTOMATICt   add_with_viewportt   add(   t   widgett   with_viewportt   scrolled(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   create_scrollableJ   s    c         C   sY   t  j t t  j t  j Bt  j t  j |   } | j d d    | j d  | j	   d  S(   Nt   responsec         W   s
   |  j    S(   N(   t   destroy(   t   dt   args(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   <lambda>W   s    t	   Reportbug(
   R   t   MessageDialogt	   assistantt   DIALOG_MODALt   DIALOG_DESTROY_WITH_PARENTt   MESSAGE_INFOt   BUTTONS_CLOSEt   connectt	   set_titlet   show_all(   t   messaget   dialog(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   info_dialogT   s
    c         C   sY   t  j t t  j t  j Bt  j t  j |   } | j d d    | j d  | j	   d  S(   NR   c         W   s
   |  j    S(   N(   R   (   R   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR!   ^   s    R"   (
   R   R#   R$   R%   R&   t   MESSAGE_ERRORR(   R)   R*   R+   (   R,   R-   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   error_dialog[   s
    t   CustomDialogc           B   s   e  Z d    Z RS(   c         O   sX  t  j j |  d t t  j t  j B|  |  j | d  |  j d  t  j d d  } | j d  |  j	 j
 |  t  j d d  } | j
 | d t t  j d d d	 d	  } | j
 | d t t  j | t  j  }	 | j
 |	  t  j |  }
 |
 j t  |
 j t  j  |
 j t  |
 j d
 t  | j
 |
 d t |  j | | |  d  S(   NR"   ii   t   spacingi
   i   t   expandg      ?g      ?s	   can-focus(   R   t   Dialogt   __init__R$   R%   R&   t   set_default_responset   set_border_widtht   VBoxt   vboxt
   pack_startt   HBoxt   Falset	   Alignmentt   image_new_from_stockt   ICON_SIZE_DIALOGt   Labelt   set_line_wrapt   Truet   set_justifyt   JUSTIFY_FILLt   set_selectablet   set_propertyt   setup_dialog(   t   selft   stock_imageR,   t   buttonsR    t   kwargsR9   t   hboxt   alignt   imaget   label(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5   c   s*    (   t   __name__t
   __module__R5   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR1   b   s   t   InputStringDialogc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s5   t  j |  t j | t j t j t j t j f  d  S(   N(   R1   R5   R   t   STOCK_DIALOG_INFOt   STOCK_CANCELt   RESPONSE_CANCELt   STOCK_OKt   RESPONSE_ACCEPT(   RH   R,   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5      s    c         C   s)   t  j   |  _ | j |  j d t d  S(   NR3   (   R   t   Entryt   entryR:   R<   (   RH   R9   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRG      s    c         C   s   |  j  j   S(   N(   RY   t   get_text(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt	   get_value   s    (   RP   RQ   R5   RG   R[   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRR      s   		t   ExceptionDialogc           B   sA   e  Z e d     Z e d    Z d   Z d   Z d   Z RS(   c            s      f d   } | S(   Nc            sH    r  |  | |  n  t  j   j d j t j |  | |    d  S(   NR	   (   t   applicationt   run_once_in_main_threadt   start_dialogt   joint	   tracebackt   format_exception(   t   exctypet   valuet   tb(   t   clst   oldhook(    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt
   excepthook   s    (    (   Rf   Rg   Rh   (    (   Rf   Rg   s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   create_excepthook   s    c         C   s5   y |  |  } | j    Wn t j d  n Xd  S(   Ni   (   R+   t   syst   exit(   Rf   Re   R-   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR_      s
    c         C   s,   t  j |  t j d t j t j f |  d  S(   NsS   An error has occurred while doing an operation in Reportbug.
Please report the bug.(   R1   R5   R   t   STOCK_DIALOG_ERRORt   STOCK_CLOSEt   RESPONSE_CLOSE(   RH   Re   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5      s    c         C   s{   t  j d  } | j | t  t  j   } | j t  | j   j |  t	 |  } | j
 |  |  j d |  j  d  S(   Ns   More detailsR   (   R   t   ExpanderR:   RB   t   TextViewt   set_editableR<   t
   get_buffert   set_textR   R   R)   t   on_response(   RH   R9   Re   t   expandert   viewR   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRG      s    c         C   s   t  j d  d  S(   Ni   (   Rj   Rk   (   RH   R-   t   res(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRt      s    (   RP   RQ   t   classmethodRi   R_   R5   RG   Rt   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR\      s
   			t   ReportViewerDialogc           B   s   e  Z d    Z d   Z RS(   c      	   C   s   t  j j |  d t t  j t  j Bt  j t  j t  j t  j	 f  | |  _
 |  j d d  |  j t  j	  |  j d  |  j d |  j  t  j   } | j   j |  j
  |  j j t |   |  j   d  S(   NR"   i  i   R   (   R   R4   R5   R$   R%   R&   t
   STOCK_COPYt   RESPONSE_APPLYRm   Rn   R,   t   set_default_sizeR6   R7   R)   Rt   Rp   Rr   Rs   R9   R:   R   R+   (   RH   R,   Rv   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5      s    	c         C   s<   | t  j k r. t  j   } | j |  j  n
 |  j   d  S(   N(   R   R{   t   clipboard_getRs   R,   R   (   RH   R-   Rw   t	   clipboard(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRt      s    (   RP   RQ   R5   Rt   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRy      s   	t   Bugc           B   s    e  Z d  Z d   Z d   Z RS(   s(   Encapsulate a bug report for the GTK+ UIc         C   s   | j  |  _ d j | j  |  _ | j |  _ | j |  _ | j |  _	 | j
 |  _
 | j |  _ d j | j  |  _ | j
 |  _ | j |  _ | j |  _ d  S(   Nu   , (   t   bug_numt   idR`   t   tagst   tagt   packaget   pendingt   statust
   originatort   reportert   datet   severityt   found_versionst   versiont
   filed_datet   log_modifiedt   modified_datet   subjectt   info(   RH   t   bug(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5      s    c         c   s\   |  j  V|  j V|  j V|  j V|  j V|  j V|  j V|  j V|  j V|  j	 V|  j
 Vd  S(   N(   R   R   R   R   R   R   R   R   R   R   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   __iter__   s    (   RP   RQ   t   __doc__R5   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR      s   	t	   BugReportc           B   sM   e  Z d    Z d   Z d   Z d   Z d   Z d e d  Z d   Z	 RS(   c         C   sB  | j  d  } d } g  |  _ xJ | t |  k  rj | | } | d 7} | j   sW Pn  |  j j |  q! Wd } g  } x | t |  k  r| | } | j |  | d 7} | d k  r | j   r | d 7} qz n  | d k r| j d  s | j d  rPn  d } qz Wd j | d   |  _ d j | | d  |  _ d  S(   Ns   
i    i   i   s   -- s   ** i(	   t   splitt   headerst   lenR   t   appendt
   startswithR`   t   original_infot   others(   RH   R,   t   linest   it   linet   storeR   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5      s.    	




*
c         C   s   |  j  S(   N(   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt
   get_others  s    c         C   s   |  j  S(   N(   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   get_original_info  s    c         C   s2   x+ |  j  D]  } d | k r
 | t d  Sq
 Wd  S(   Nt   Subjects	   Subject: (   R   R   (   RH   t   header(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   get_subject  s    c         C   sL   xE t  t |  j   D]. } d |  j | k r d | |  j | <Pq q Wd  S(   NR   s	   Subject: (   t   rangeR   R   (   RH   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   set_subject  s    iO   c         C   sl   d } x_ | j    D]Q } t j | d | d | } | g  k rM | d 7} q | d j |  d 7} q W| S(   s   Wrap every line in the messageR	   t   widtht   break_long_wordss   
(   t
   splitlinest   textwrapt   wrapR`   (   RH   t   msgR   R   t   bodyR   t   tmp(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   wrap_bug_body  s    	c         C   s/   d d j  |  j  |  j |  |  j f } | S(   Ns   %s

%s


%ss   
(   R`   R   R   R   (   RH   R   R,   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   create_message1  s    +(
   RP   RQ   R5   R   R   R   R   R<   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR      s   					t   BugPagec           B   sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c
         C   s
  t  j j |   t j j |   |  j t  | |  _ | |  _ |  j j	 |  _	 | |  _
 | |  _ | |  _ | |  _ | |  _ | |  _ |	 |  _ d  |  _ t j d d  }
 |
 j t j d  d t t j   |  _ |  j j d  |
 j |  j d t |  j |
  d  S(   NR2   i   s   Retrieving bug information.R3   g{Gz?(   t	   threadingt   ThreadR5   R   t   EventBoxt	   setDaemonRB   R-   R$   R]   t   numbert	   queryonlyt   btst   mirrorst
   http_proxyt   timeoutt   archivedt   Nonet
   bug_statusR8   R:   R@   R<   t   ProgressBart   progresst   set_pulse_stepR   (   RH   R$   R-   R   R   R   R   R   R   R   R9   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5   =  s(    										c      
   C   s   t  j d |  j  t j t |  j  |  j |  j d |  j	 d |  j
 d |  j } | sn |  j j |  j  n# | d |  _ |  j j |  j |  d  S(   Ni
   R   R   R   i    (   t   gobjectt   timeout_addt   pulseR   t
   get_reportt   intR   R   R   R   R   R   R]   R^   t	   not_foundR   t   found(   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   runX  s    c         C   s0   |  j    } | r, |  j |  | j   n  d  S(   N(   t	   get_childt   removet   unparent(   RH   t   child(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   drop_progressbare  s    c         C   s   |  j  j   |  j   S(   N(   R   R   t   isAlive(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   k  s    c         C   s.   |  j    |  j t j d   |  j   d  S(   Ns-   The bug can't be fetched or it doesn't exist.(   R   R   R   R@   R+   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   o  s    
c         C   s  |  j    | d j } | d } t j d d  } | j d  t j d |  } | j t  | j t j	  | j
 | d t t j   } t } xj | D]b } t j   }	 |	 j t  |	 j   j |  | r |	 j t j  n  | j
 |	 t  | } q Wt | t  }
 | j
 |
  t j   } t j d  } | j d |  j  | j
 |  |  j st j d	  } | j t j t j t j   | j d |  j  | j
 |  n  | j
 | d t |  j |  |  j   d  S(
   Ni    i   R2   i   s   Description: R3   s   Open in browsert   clickedt   Reply(   R   R   R   R8   R7   R@   RA   RB   RC   RD   R:   R<   Rp   Rq   Rr   Rs   t	   set_statet   STATE_PRELIGHTR   t
   HButtonBoxt   ButtonR)   t   on_open_browserR   t	   set_imageR>   t
   STOCK_EDITt   ICON_SIZE_BUTTONt   on_replyR   R+   (   RH   R   t   desct   bodiesR9   RO   t   viewst   oddR   Rv   R   t   bboxt   button(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   t  sB    

	c         C   s,   t  t j |  j t |  j  |  j   d  S(   N(   R   R   t   get_report_urlR   R   R   R   (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c         C   s1   |  j  j |  j  |  j j   |  j j   d  S(   N(   R]   t   set_next_valueR   R$   t   forward_pageR-   R   (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    (
   RP   RQ   R5   R   R   R   R   R   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   <  s   						&	t
   BugsDialogc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   t  j j |  d | t  j t  j Bt  j t  j f  | |  _ | |  _ | j	 |  _	 t  j
   |  _ |  j j |  j  |  j d |  j  |  j d d  d  S(   Ns   Reportbug: bug informationR   iX  (   R   R4   R5   R%   R&   Rm   Rn   R$   R   R]   t   Notebookt   notebookR9   R:   R)   Rt   R|   (   RH   R$   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    		c         G   s   |  j    d  S(   N(   R   (   RH   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRt     s    c         G   sH   t  |  j |  | |  j |  } |  j j | t j |   | j   d  S(   N(   R   R$   R   R   t   append_pageR   R@   t   start(   RH   R   R    t   page(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   show_bug  s    (   RP   RQ   R5   Rt   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s   		t   ReportbugApplicationc           B   sM   e  Z d    Z d   Z d   Z d   Z d   Z e d    Z d   Z	 RS(   c         C   s6   t  j j |   |  j t  t   |  _ d  |  _ d  S(   N(	   R   R   R5   R   RB   R    t   queueR   t
   next_value(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    c         C   s   t  j   d  S(   N(   R   t   main(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c         C   s   |  j  j   S(   N(   R   t   get(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   get_last_value  s    c         C   s    |  j  j |  j  d  |  _ d  S(   N(   R   t   putR   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   put_next_value  s    c         C   s   | |  _  d  S(   N(   R   (   RH   Rd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c            s       f d   } | S(   Nc              s         t  S(   N(   R<   (    (   R    t   funcRK   (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   callback  s    (    (   R   R    RK   R   (    (   R    R   RK   s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   create_idle_callback  s    c         O   s    t  j |  j | | |   d  S(   N(   R   t   idle_addR   (   RH   R   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR^     s    (
   RP   RQ   R5   R   R   R   R   t   staticmethodR   R^   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s   					t
   SyncReturnc           B   s   e  Z d    Z RS(   c         C   s   t  j |  |  | |  _ d  S(   N(   t   RuntimeErrorR5   t   result(   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    (   RP   RQ   R5   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s   t   ReportbugConnectorc           B   s   e  Z d    Z d   Z RS(   c         O   s   d  S(   N(    (   RH   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   execute_operation  s    c         O   s
   | | f S(   N(    (   Rf   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   sync_pre_operation  s    (   RP   RQ   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s   	t   Pagec           B   s   e  Z d  Z e j Z e Z e Z	 e j
 j d  Z 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(   i    s   #fff8aec         C   s]   | |  _  | j |  _ |  j   |  _ |  |  j _ |  j j d  |  j j   t j |  _	 d  S(   Ni   (
   R$   R]   t   create_widgetR   R   R7   R+   R   t   next_page_numt   page_num(   RH   R$   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    	c         O   si   |  j    |  j   | j d t  |  _ | j d t  |  _ |  j | |   |  j j   |  j	   d  S(   Nt   empty_okt   presubj(
   t	   switch_int   connect_signalst   popR<   R  R  t   executeR$   t   showt   setup_focus(   RH   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    

c         C   s   d  S(   N(    (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  
  s    c         C   s   |  j  j |  j |  d  S(   N(   R$   t   set_page_completeR   (   RH   t   complete(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s   |  j  j |  j |  d  S(   N(   R$   t   set_page_typeR   (   RH   t   type(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s#   | r |  j  j |  j |  n  d  S(   N(   R$   t   set_page_titleR   (   RH   t   title(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s   t  j d 7_ |  j j |  j |  j  |  j |  j  |  j |  j	  |  j j
 |  j t j j |  j   |  j j |   |  j d  d  S(   Ni   R"   (   R   R  R$   t   insert_pageR   R  R  t   default_completeR  t	   page_typet   set_page_side_imageR   t   gdkt   pixbuf_new_from_filet
   side_imaget   set_next_pageR  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    %c         C   s   |  j  j   d  S(   N(   R   t
   grab_focus(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR
  "  s    c         G   s)   |  j  j |  j  r% |  j  j   n  d  S(   N(   R$   t   get_page_completeR   R   (   RH   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   activate_forward&  s    c         C   s   d  S(   N(    (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt
   switch_out+  s    c         C   s   |  j  r t St |  Sd  S(   N(   R  RB   t   bool(   RH   Rd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   is_valid.  s    	c         O   sL   |  j    } |  j |  r; |  j j |  |  j t  n |  j t  d  S(   N(   R[   R  R]   R   R  RB   R<   (   RH   R    RK   Rd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   validate4  s
    (   RP   RQ   R  R   t   ASSISTANT_PAGE_CONTENTR  R<   R  t   DEBIAN_LOGOR  R  t   color_parset   WARNING_COLORR5   R   R  R  R  R  R  R
  R  R  R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s"   										
				t	   IntroPagec           B   s    e  Z e j Z e Z d    Z RS(   c         C   s   t  j d d  } t  j d  } | j t  | j t  | j t  j  | j | d t	 t  j
 d d  } | j | d t	 | S(   NR2   i   s'  
<b>Reportbug</b> is a tool designed to make the reporting of bugs in Debian and derived distributions relatively painless.

This wizard will guide you through the bug reporting process step by step.

<b>Note:</b> bug reports are publicly archived (including the email address of the submitter).R3   s+   http://alioth.debian.org/projects/reportbugs   Homepage of reportbug project(   R   R8   R@   t   set_use_markupRB   RA   RC   RD   R:   R<   t
   LinkButton(   RH   R9   RO   t   link(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   @  s    			(   RP   RQ   R   t   ASSISTANT_PAGE_INTROR  RB   R  R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR$  <  s   	t   GetStringPagec           B   s>   e  Z d    Z d   Z d   Z d   Z d e d d  Z RS(   c         C   s   |  j  j   d  S(   N(   RY   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR
  T  s    c         C   s   t  j d d  } t  j   |  _ |  j j t  |  j j t  j  |  j j t  |  j j	 d t
  t  j   |  _ | j |  j d t
 | j |  j d t
 | S(   NR2   i   s	   can-focusR3   (   R   R8   R@   RO   RA   RB   RC   RD   RE   RF   R<   RX   RY   R:   (   RH   R9   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   W  s    c         C   s0   |  j  j d |  j  |  j  j d |  j  d  S(   Nt   changedt   activate(   RY   R)   R  R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  c  s    c         C   s   |  j  j   S(   N(   RY   RZ   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[   g  s    R	   c         C   s   t  j |  j j | j d d   |  j j |  | r | j   t j   } t j	 t
  } x | D] } | j | g  qd W| j |  | j t  | j d  |  j j |  n	 d  |  _ |  j   d  S(   Ns9    (enter Ctrl+c to exit reportbug without reporting a bug)R	   i    (   R   R   RO   Rs   t   replaceRY   t   sortR   t   EntryCompletiont	   ListStoret   strR   t	   set_modelt   set_inline_selectionRB   t   set_text_columnt   set_completionR   t
   completionR  (   RH   t   promptt   optionst   force_promptt   defaultR5  t   modelt   option(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  j  s    "
	N(	   RP   RQ   R
  R   R  R[   R   R<   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR)  S  s
   				t   GetPasswordPagec           B   s   e  Z d    Z RS(   c         C   s#   t  j |   } |  j j t  | S(   N(   R)  R   RY   t   set_visibilityR<   (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    (   RP   RQ   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR<  ~  s   t   GetMultilinePagec           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   |  j  j   d  S(   N(   Rv   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR
    s    c         C   s   t  j d d  } t  j   |  _ |  j j t  |  j j t  j  |  j j t  |  j j	 d t
  | j |  j d t
 t  j   |  _ t j   |  _ t |  j  } | j |  | S(   NR2   i   s	   can-focusR3   (   R   R8   R@   RO   RA   RB   RC   RD   RE   RF   R<   R:   Rp   Rv   Rr   t   bufferR   (   RH   R9   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c         C   s   |  j  j d |  j  d  S(   NR*  (   R?  R)   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   sp   |  j  j |  j  j   |  j  j    } | j d  } t |  d k rc | d j   rc | d =n  | j d  S(   Ns   
i    i(   R?  RZ   t   get_start_itert   get_end_iterR   R   R   (   RH   t   textR   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[     s
    '#
c         C   sC   t  |  _ t j |  j j |  |  j j d  |  j j d  d  S(   NR	   R*  (   RB   R  R   R   RO   Rs   R?  t   emit(   RH   R6  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    	(   RP   RQ   R
  R   R  R[   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR>    s
   				t   TreePagec           B   s2   e  Z d Z d    Z d   Z d   Z d   Z RS(   c         O   s)   t  j |  | |  |  j j   |  _ d  S(   N(   R   R5   Rv   t   get_selectiont	   selection(   RH   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    c         C   s   |  j  j   d  S(   N(   Rv   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR
    s    c         C   s   |  j  j d |  j  d  S(   NR*  (   RF  R)   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s   |  j  j   \ } } |  j  j   t j k } g  } xN | D]F } | j | j |  |  j  } | d  k	 r: | j	 t
 |   q: q: W| r | r | d S| S(   Ni    (   RF  t   get_selected_rowst   get_modeR   t   SELECTION_MULTIPLER[   t   get_itert   value_columnR   R   R   (   RH   R:  t   pathst   multipleR   t   pathRd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[     s    N(   RP   RQ   R   RK  R5   R
  R  R[   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRD    s
   			t   GetListPagec           B   sD   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   i    c         C   s  t  j d d  } t  j   |  _ |  j j t  |  j j t  j  | j |  j d t	 t  j
 d d  } t  j   |  _ |  j j t  |  j j   j t  j  t |  j  } | j |  t  j   } | j d  | j t  j  t  j d t  j  } | j d |  j  | j | d t	 t  j d t  j  } | j d |  j  | j | d t	 | j | d t	 | j |  | S(   NR2   i   R3   i   t   stockR   (   R   R8   R@   RO   RA   RB   RC   RD   R:   R<   R;   t   TreeViewRv   t   set_rules_hintRE  t   set_modeRI  R   t
   VButtonBoxt   set_spacingt
   set_layoutt   BUTTONBOX_STARTR   t	   STOCK_ADDR)   t   on_addt   STOCK_REMOVEt	   on_remove(   RH   R9   RL   R   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s.    c         C   s2   g  } x% |  j  D] } | j | |  j  q W| S(   N(   R:  R   RK  (   RH   t   valuest   row(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[     s    c         C   s-   t  d  } | j   | j d |  j  d  S(   Ns   Add a new item to the listR   (   RR   R+   R)   t   on_add_dialog_response(   RH   R   R-   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRY    s    
c         C   s9   | t  j k r+ |  j j | j   g  n  | j   d  S(   N(   R   RW   R:  R   R[   R   (   RH   R-   Rw   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR^    s    c         C   sj   |  j  j   \ } } g  } x' | D] } | j |  j j |   q" Wx | D] } |  j j |  qL Wd  S(   N(   RF  RG  R   R:  RJ  R   (   RH   R   R:  RL  t   itersRN  t   iter(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[    s    c         C   s   t  |  _ t j |  j j |  t j t  |  _	 |  j	 j
 d |  j  |  j j |  j	  |  j j t j  |  j j t j d t j   d d  d  S(   Ns   row-changedt   ItemRB  i    (   RB   R  R   R   RO   Rs   R   R/  R0  R:  R)   R  Rv   R1  RF  RS  RI  t   append_columnt   TreeViewColumnt   CellRendererText(   RH   R6  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    	(	   RP   RQ   RK  R   R[   RY  R^  R[  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRO    s   						t   WrapRendererTextc           B   s   e  Z d    Z RS(   c         C   s9   |  j  d | j  t j j |  | | | | | |  d  S(   Ns
   wrap-width(   RF   R   R   Rd  t	   do_render(   RH   t   windowR   t   background_areat	   cell_areat   expose_areat   flags(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRf  	  s    (   RP   RQ   Rf  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRe    s   t   MenuPagec           B   s8   e  Z d  Z d   Z d   Z d e d d e d  Z RS(   i    c         C   s   t  j d d  } t  j   |  _ |  j j t  |  j j t  j  | j |  j d t	 t  j
   |  _ |  j j t  t |  j  } | j t  j t  j  | j |  | j   | S(   NR2   i   R3   (   R   R8   R@   RO   RA   RB   RC   RD   R:   R<   RQ  Rv   RR  R   R   t   POLICY_NEVERt   POLICY_ALWAYSR+   (   RH   R9   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    
c         C   s'   t  j |   |  j j d |  j  d  S(   Ns   row-activated(   RD  R  Rv   R)   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  !  s    c	         C   sZ  t  j |  j j |  t j t t  |  _ |  j j	 |  j  | rZ |  j
 j t j  n  |  j j t j d t j   d d  t   }	 |	 j d t j  |	 j d d  |  j j t j d |	 d d	  d  }
 t | t  r| rZxl | D]a } | | k r d
 j | | j    } |  j j t |  | f  } | | k rS| }
 qSq q Wn  x | j   D]j \ } } | s| | k rgd
 j | j    } |  j j t |  | f  } | | k r| }
 qqgqgWne xb | D]Z } d
 j | d	 j    } |  j j t | d  | f  } | d | k r| }
 qqW|
 rV|  j
 j |
  n  d  S(   Nt   Optiont   markupi    s	   wrap-modes
   wrap-widthi,  t   DescriptionRB  i   t    (   R   R   RO   Rs   R   R/  R0  R:  Rv   R1  RF  RS  RI  Rb  Rc  Rd  Re  RF   t   pangot	   WRAP_WORDR   t
   isinstancet   dictR`   R   R   R   t	   iteritemst   select_iter(   RH   t   parR7  R6  R9  t   any_okt   ordert   extrasRM  t   rendt   default_iterR;  RB  R`  R   R]  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  %  s@    (	""N(   RP   RQ   RK  R   R  R   R<   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRl    s
   		t   HandleBTSQueryPagec           B   s   e  Z e Z d  Z d d e d d e d d d d e 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(   i    R	   t   noc         C   sl  | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | rK t j |  _ n  t	 j
 | } | j d  } | sq d  St | t  r | } |	 r | d 7} n  d t	 j
 | d | f } n= d t	 j
 | d d j g  | D] } t |  ^ q  f } |  j j |  j j |  yt	 j | | | d | d | d	 | d
 | d |	 \ } } } | sp| d  k rgt  qt  n | d k rd | f } n d } g  } xd | D]\ \ } } g  } x | D] } | j |  qWt | d | | j | t t |  f  qW| | f i  f SWnI t t f k
 r;t d | d  n! t k
 r[t d  t  n Xt d    d  S(   Nt   btsroots	    (source)s1   Querying %s bug tracking system for reports on %st   names.   Querying %s bug tracking system for reports %sRr  R   R   R   R   t   sourcei   s   %d bug reports founds   One bug report foundt   reverses   Unable to connect to %s BTS.s    No record of this package found.(    R   R   R   R   R   R   R   t   ASSISTANT_PAGE_CONFIRMR  R   t   SYSTEMSR   Ru  t
   basestringR`   R0  R]   R^   R$   t   set_progress_labelt   get_reportsR   R   R   R   t   sortedt   mapR   t   IOErrorR   R0   R   (   RH   R   R   R   R   R   R   t   screenR   R  R  R   t   buglistt   mbox_reader_cmdt   latest_firstt   sysinfot   roott   pkgnamet   progress_labelt   xt   countt   sectitlet	   hierarchyt   reportt   categoryt   bugsR   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   T  sX    						=		 

c         C   s   |  j  j   d  S(   N(   RY   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR
    s    c         C   s3  t  j d d  } t  j d  |  _ | j |  j d t d d t  j d d  } t  j d  } | j | d t t  j   |  _ | j |  j  t  j	   } | j
 t  j t  j t  j   | j t  j  | j d |  j  | j | d t | j | d t t  j   |  _ |  j j t  t |  j  } d d	 d
 d d d d d d d d g |  _ xl t |  j t t |  j    D]I } t  j | d t  j   d | d } | j t  |  j j |  qW| j |  t  j	 d  } | j
 t  j t  j t  j    | j d |  j!  | j | d t | S(   NR2   i   sC   List of bugs. Select a bug to retrieve and submit more information.R3   t   paddings   Filter:R   t   IDt   Tagt   PackageRq  t   Statust	   Submittert   Datet   Severityt   Versions
   Filed dates   Modified datei    RB  i   s#   Retrieve and submit bug information("   R   R8   R@   RO   R:   R<   R;   RX   RY   R   R   R>   t   STOCK_CLEARt   ICON_SIZE_MENUt
   set_relieft   RELIEF_NONER)   t   on_filter_clearRQ  Rv   RR  RB   R   t   columnst   zipR   R   Rc  Rd  t   set_reorderableRb  t
   STOCK_INFOR   t   on_retrieve_info(   RH   R9   RL   RO   R   R   t   colt   column(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s:    (&c         C   s=   t  j |   |  j j d |  j  |  j j d |  j  d  S(   Ns   row-activatedR*  (   RD  R  Rv   R)   R  RY   t   on_filter_changed(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s   |  j  j d  d  S(   NR	   (   RY   Rs   (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s)   | j    j   |  j _ |  j j   d  S(   N(   RZ   t   lowerR:  t   filter_textt   filtert   refilter(   RH   RY   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         G   s   t  j |   } | s# t d  d  St |  j |  j  } x9 | D]1 } | j | |  j |  j |  j	 |  j
 |  j  q? W| j   d  S(   Ns   Please select one ore more bugs(   RD  R[   R.   R   R$   R   R   R   R   R   R   R   R+   (   RH   R    t   bug_idsR-   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    
/c         C   s   t  S(   N(   RB   (   RH   Rd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s   d  S(   N(   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[     s    c         C   s   d } xX t  t |  j   D]A } |  j j | |  } | r | |  j j | |  d 7} q q W| j   } x- |  j j j d  D] } | | k r t Sq Wt	 S(   NR	   Rr  (
   R   R   R  R:  R[   R  R  R   RB   R<   (   RH   R`  RB  R  Rd   t   token(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   match_filter  s    $c         C   so   |  j  |  } |  j j |  rk | rk | j |  } x, | rf |  j  |  rT t S| j |  } q; Wt S| S(   N(   R  R:  t   iter_parentt   iter_childrenRB   t	   iter_nextR<   (   RH   R:  R`  t   matchest   it(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   filter_visible_func  s    	c         C   s  t  j |  j j d |  t j t g t |  j    |  _	 xu | D]m } d  g t |  j  } | d | d <|  j	 j d  |  } x+ | d D] } |  j	 j | t |   q WqC W|  j j t j  d |  j	 _ |  j	 j   |  _ |  j j |  j  |  j j |  j  d  S(   Ns?   %s. Double-click a bug to retrieve and submit more information.i    i   i   R	   (   R   R   RO   Rs   R   t	   TreeStoreR0  R   R  R:  R   R   t   listRF  RS  RI  R  t
   filter_newR  t   set_visible_funcR  Rv   R1  (   RH   R  R  R  R]  R`  R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    "!N(   RP   RQ   RB   R  RK  R   R<   R   R
  R   R  R  R  R  R  R[   R  R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  P  s    	A		"								t   ShowReportPagec           B   sG   e  Z e Z d    Z d   Z d   Z d   Z e d d d d  Z
 RS(   c      
   C   s1   t  |  j d  d  d  d  d  d  d  d  	 |  _ |  j S(   N(   R   R$   R   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    *c         C   s   d  S(   N(   R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[     s    c         C   s   t  S(   N(   RB   (   RH   Rd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         O   s(   | j  d  r t j |  _ n  | | f S(   NR   (   R   R   R  R  (   RH   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    R	   R  c
   
      C   so   | |  j  _ | |  j  _ | |  j  _ | |  j  _ | |  j  _ | |  j  _ | |  j  _ |  j  j   |  j	   d  S(   N(
   R   R   R   R   R   R   R   R   R   R  (
   RH   R   t   systemR   R   R   R   R  R   R  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    N(   RP   RQ   RB   R  R   R[   R  R   R<   R   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s   				t   DisplayReportPagec           B   s    e  Z e Z d    Z d   Z RS(   c         C   s2   t  j   |  _ |  j j t  t |  j  } | S(   N(   R   Rp   Rv   Rq   R<   R   (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   (  s    c         G   s-   | r | | } n  |  j  j   j |  d  S(   N(   Rv   Rr   Rs   (   RH   R,   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  .  s    (   RP   RQ   RB   R  R   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  %  s   	t   LongMessagePagec           B   s    e  Z e Z d    Z d   Z RS(   c         C   su   t  j   |  _ |  j j t  |  j j t  j  |  j j t  |  j j d t	  t  j
   } | j |  j  | S(   Ns	   can-focus(   R   R@   RO   RA   RB   RC   RD   RE   RF   R<   R   R   (   RH   t   eb(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   7  s    c         G   se   | | } d j  | j    } t j |  j j |  d | k ra |  j t j  |  j	 d  n  d  S(   NRr  t   999999s   Thanks for your report(
   R`   R   R   R   RO   Rs   R  R   R  R  (   RH   R,   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  A  s    
(   RP   RQ   RB   R  R   R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  4  s   	
t   FinalMessagePagec           B   s    e  Z e j Z e Z d    Z RS(   c         O   s$   t  j |  | |  |  j d  d  S(   Ns   Thanks for your report(   R  R  R  (   RH   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  O  s    (   RP   RQ   R   R  R  RB   R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  K  s   	t
   EditorPagec           B   sJ   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d d  Z RS(   c            s  t  j d d  } t  j d d  } | j t  j d  d t t  j   |  _ | j |  j  | j | d t t  j   |  _	 |  j	 j
 t j d   |  j	 j t  j  t r t j |  j	  n  |  j	 j   |  _ t |  j	  } | j |  t  j d  } t  j   } | j t  | j   |  _ t |  } | j |  | j | t  t st  j     t  j d  } | j t  | j t  | j t  | j d	 t    j |    j t  j  |  j!    j" d
   f d    | j   t  n  | S(   NR2   i   i   s	   Subject: R3   t	   Monospaces   Other system informations>   Please install <b>python-gtkspell</b> to enable spell checkings	   can-focuss   button-press-eventc             s
     j    S(   N(   R   (   R    (   t   box(    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR!   v  s    (#   R   R8   R;   R:   R@   R<   RX   R   Rp   Rv   t   modify_fontRs  t   FontDescriptiont   set_wrap_modeRt  t	   has_spellt   gtkspellt   SpellRr   t   info_bufferR   Ro   Rq   t   others_bufferR   R   R%  RB   RA   RE   RF   t	   modify_bgt   STATE_NORMALR#  R)   (   RH   R9   RL   R   Ru   Rv   RO   (    (   R  s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   T  sB    c         C   s=   |  j    d a t |  j d  } | j t  | j   d  S(   Ni    t   w(   R[   t   report_messaget   filet   filenamet   writet   close(   RH   t   f(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  z  s    c         C   s0   |  j  j d |  j  |  j j d |  j  d  S(   NR*  (   R  R)   R  R   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s   |  j  j |  j  j   |  j  j    } | j   s7 d  S|  j j   j   } | j   s\ d  S|  j j |  |  j j	 |  } | j
 |  j d  } | | |  j k f S(   NR,  (   R  RZ   R@  RA  R   R   R   R  R   R   t   decodet   charsetR,   (   RH   R   R   R,   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR[     s    c         C   s   |  j  j d |  j  |  _ d  S(   Ns   focus-in-event(   Rv   R)   t   on_view_focus_in_eventt   focus_in_id(   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   handle_first_info  s    c         G   s$   |  j  j d  | j |  j  d  S(   NR	   (   R  Rs   t
   disconnectR  (   RH   Rv   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    s   utf-8c         C   s   | |  _  t |  |  _ | |  _ | |  _ |  j j |  j j    |  j j |  j j	    |  j j
   } | j   d k r d } |  j   n  |  j j |  d  S(   Ns/   *** Please type your report below this line ***sX   Please type your report here.
The text will be wrapped to be max 79 chars long per line.(   R,   R   R  R  R  R   Rs   R   R  R   R   R   R  R  (   RH   R,   R  t   editorR  R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    			(	   RP   RQ   R   R  R  R[   R  R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  S  s   	&					t   SelectOptionsPagec           B   s;   e  Z e Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   sv   t  j   |  _ |  j j t  |  j j t  j  t  j d d  |  _ |  j j	 |  j d t
 d d d  |  _ |  j S(   NR2   i   R3   R  (   R   R@   RO   RA   RB   RC   RD   R8   R9   R:   R<   R   R9  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    	c         C   s!   |  j  j |  |  j j   d  S(   N(   R]   R   R$   R   (   RH   R   t   menuopt(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt
   on_clicked  s    c         C   s   t  t  d  S(   N(   Ry   R  (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   on_display_clicked  s    c         C   sD   |  j  r@ |  j  j t j t j B |  j  j   |  j  j   n  d  S(   N(   R9  t	   set_flagsR   t   CAN_DEFAULTt   HAS_DEFAULTt   grab_defaultR  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR
    s    	c   	      C   s  | j  d d  } t j |  j j |  g  } x0| D](} | | j   } d | k r] q5 n  d | k ro q5 n  d | k r t j d  } | j d |  j	  | j
 |  q5 t j   } t j | | j    } | j |  | j d |  j | j    | j   rP| j d | j    | |  _ | j d	 t j    | j d	 |  q5 | j
 |  q5 Wx$ | D] } |  j j | d
 t qhW|  j j   d  S(   Ns    (e to edit)R	   s   Change editors"   Pipe the message through the pagers   Print message to stdouts   Display message in a text viewR   s	   <b>%s</b>i    R3   (   R,  R   R   RO   Rs   R  R   R   R)   R  R   R@   R   R  t   isuppert
   set_markupRZ   R9  t   insertt
   HSeparatorR9   R:   R<   R+   (	   RH   R6  t   menuoptsR7  RJ   R  R   R   RO   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s4    	(	   RP   RQ   R<   R  R   R  R  R
  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s   					t
   SystemPagec           B   s)   e  Z e Z d    Z d   Z d   Z RS(   c         C   s   t  j   } t j   |  _ |  j j t  |  j j d  |  j j d |  j	  | j
 |  j  t  j   } | j |  j j    | j
 |  | S(   Nt   xterms   child-exited(   R   R;   t   vtet   Terminalt   terminalt   set_cursor_blinksRB   t   set_emulationR)   t   on_child_exitedR:   t
   VScrollbart   set_adjustmentt   get_adjustment(   RH   RL   t	   scrollbar(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c         C   s!   |  j  j d   |  j j   d  S(   N(   R]   R   R   R$   R   (   RH   R  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    c         C   s    |  j  j d d d | g  d  S(   Ns	   /bin/bashs   -c(   R  t   fork_command(   RH   t   cmdline(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s    (   RP   RQ   R<   R  R   R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s   		t   ProgressPagec           B   s5   e  Z e j Z d    Z d   Z d   Z d   Z RS(   c         C   s   |  j  j   t S(   N(   R   R   RB   (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c         C   s   t  j d d  } t  j   |  _ |  j j t  |  j j t  j  t  j   |  _	 |  j	 j
 d  | j |  j d t | j |  j	 d t t j d |  j  | S(   NR2   i   g{Gz?R3   i
   (   R   R8   R@   RO   RA   RB   RC   RD   R   R   R   R:   R<   R   R   R   (   RH   R9   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    c         C   s   t  j |  j j |  d  S(   N(   R   R   RO   Rs   (   RH   RB  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt	   set_label  s    c         C   s   |  j  d  d  S(   Ns   This operation may take a while(   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   reset_label  s    (	   RP   RQ   R   t   ASSISTANT_PAGE_PROGRESSR  R   R   R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s
   				t   ReportbugAssistantc           B   s}   e  Z d    Z 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 j |   | |  _ |  j d  |  j   d  |  _ d  |  _ d  |  _	 |  j
 d d  |  j |  j  |  j   |  j   d  S(   NR"   iX  i  (   R   t	   AssistantR5   R]   R*   t   hack_buttonsR   t   showing_paget   requested_paget   progress_pageR|   t   set_forward_page_funct   forwardR  t   setup_pages(   RH   R]   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    	
			
c         C   s   t  | t j  r | j   d k r; | j d |  j  d  S| j   d k rd | j d |  j  d  S| j   d k r t j t j t j  } | j	 d  | j
 |  d  S| j   d k r t j t j t j  } | j	 d  | j
 |  d  Sn  t  | t j  r| j |  j  n  d  S(   Ns   gtk-go-backR	  s	   gtk-applys
   gtk-cancelt   _Quits   gtk-go-forwardt	   _Continue(   Ru  R   R   t	   get_labelR)   t   on_back_showR>   t
   STOCK_QUITR   R  R   t   STOCK_GO_FORWARDt	   Containert   forallt   _hack_buttons(   RH   R   RN   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  )  s(    c         C   s   |  j  |   d  S(   N(   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  C  s    c         C   sP   |  j  d |  j  |  j  d |  j  |  j  d |  j  |  j  d |  j  d  S(   Nt   cancelt   prepares   delete-eventt   apply(   R)   t   confirm_exitt
   on_prepareR  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  F  s    c         C   s   | j    d  S(   N(   t   hide(   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  L  s    c         C   s   |  j  rc |  j  |  j k rc |  j   |  j  j k rc |  j j   |  j  j j t  |  j  j	   n  | j
 |  _  |  j  |  j k r |  j j   n  t j |  j  j  d  S(   N(   R  R  t   get_current_pageR  R]   R   R   t   set_sensitiveR<   R  R   R	  R  R   R   R
  (   RH   R$   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  O  s    3c         G   s   t  j d  d  S(   Ni    (   Rj   Rk   (   RH   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  _  s    c         G   sd   t  j d  t  j t  j Bt  j t  j d  } | j   } | j   | t  j	 k r` t
 j d  n  d  S(   Ns(   Are you sure you want to quit Reportbug?i    (   R   R#   R   R%   R&   t   MESSAGE_WARNINGt   BUTTONS_YES_NOR   R   t   RESPONSE_YESRj   Rk   (   RH   R    R-   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  b  s    	
c         C   s   | d S(   Ni   (    (   RH   R  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  k  s    c         C   s    |  j  |  j |  j j   d  S(   N(   t   set_current_pageR  R  R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR   n  s    c         C   s2   | |  _  |  j |  j k r. |  j | j  n  d  S(   N(   R  R  R	  R!  R  (   RH   R   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  q  s    	c         O   s   |  j  j | |  d  S(   N(   R	  R  (   RH   RB  R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  w  s    c         C   sE   t  |   |  _ |  j j   t |   |  _ |  j j   d t _ d  S(   Ni   (   R$  R  R  R   R	  R   R  (   RH   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR  z  s
    (   RP   RQ   R5   R  R  R  R  R  R  R  R  R   R  R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR    s   													t   YesNoDialogc           B   s/   e  Z d    Z d   Z d d e e d  Z RS(   c         C   sL   t  j j |  t t  j t  j Bt  j t  j  | |  _ |  j	 d |  j
  d  S(   NR   (   R   R#   R5   R$   R%   R&   t   MESSAGE_QUESTIONR  R]   R)   Rt   (   RH   R]   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    	c         C   s4   |  j  j | t j k  |  j  j   |  j   d  S(   N(   R]   R   R   R   R   R   (   RH   R-   Rw   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRt     s    c         C   sD   |  j  |  | r& |  j t j  n |  j t j  |  j   d  S(   N(   R  R6   R   R   t   RESPONSE_NOR+   (   RH   R   t   yeshelpt   nohelpR9  t   nowrap(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s
    N(   RP   RQ   R5   Rt   R   RB   R<   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR"    s   		t   DisplayFailureDialogc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   sL   t  j j |  t t  j t  j Bt  j t  j  | |  _ |  j	 d |  j
  d  S(   NR   (   R   R#   R5   R$   R%   R&   R  R(   R]   R)   Rt   (   RH   R]   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    	c         C   s   |  j  j   |  j   d  S(   N(   R]   R   R   (   RH   R-   Rw   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRt     s    c         G   s   |  j  | |  |  j   d  S(   N(   R  R+   (   RH   R   R    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    (   RP   RQ   R5   Rt   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR(    s   		t   GetFilenameDialogc           B   s&   e  Z d    Z d   Z e d  Z RS(   c      	   C   sT   t  j j |  d t d t  j t  j t  j t  j f | |  _ |  j	 d |  j
  d  S(   NR	   RJ   R   (   R   t   FileChooserDialogR5   R$   RT   RU   t
   STOCK_OPENt   RESPONSE_OKR]   R)   Rt   (   RH   R]   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR5     s    !	c         C   sO   d  } | t j k r$ |  j   } n  |  j j |  |  j j   |  j   d  S(   N(   R   R   R,  t   get_filenameR]   R   R   R   (   RH   R-   Rw   Rd   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyRt     s    c         C   s!   |  j  t |   |  j   d  S(   N(   R*   R   R+   (   RH   R  R8  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    (   RP   RQ   R5   Rt   R<   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR)    s   			c          O   s   t  j |  |   S(   N(   R$   R  (   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   log_message  s    c          O   s!   t  | d <t  | d <t |  |   S(   NRM  R  (   RB   t   menu(   R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   select_multiple  s    

c         O   s0   d |  k r t  |  | |  St |  | |  Sd  S(   Nt   ENTER(   t   get_listt   get_multiline(   R6  R    RK   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR3    s    t
   get_stringt   get_passwordR/  t   handle_bts_queryt   show_reportt   long_messaget   display_reportt   final_messaget   spawn_editort   select_optionsR2  R  t   yes_noR-  t   display_failurec            s      f d   } | S(   Nc             sb       } y | j  |  |   \ }  } Wn t k
 rA } | j SXt j | j |  |  t j   S(   N(   R   R   R   R]   R^   R   R   (   R    RK   t   opt   e(   t   klasst   parent(    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR     s    (    (   RB  RA  R   (    (   RA  RB  s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   create_forwarder  s    c         C   s7   x0 | j    D]" \ } } t |  |  t   | <q Wd  S(   N(   Rw  RC  t   globals(   RB  t
   operationst	   operationRA  (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   forward_operations  s    c          C   s5  y t  d  a Wn t k
 r d }  t j d  t j t j Bt j t j	 d   } | j
 |  d  | j   | j   x t j   r t j   qy Wt j j   s t j d d d d  n  t SXt j } t j |  t _ t j t  t j d    t   a t t  a t t t   t t t!  t j"   t# S(   NR  sy   Please install the %s package to use the GTK+ (known as 'gtk2' in reportbug) interface.
Falling back to 'text' interface.s   <b>python-vte</b>s   x-terminal-emulators   -es   reportbug -u textc         S   s
   t  |  S(   N(   R   (   R   t   uri(    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyR!     s    ($   t
   __import__R  t   ImportErrorR   R#   R   R%   R&   R'   R(   R  R   R   t   events_pendingt   main_iterationRj   t   stdoutt   isattyt   ost   execlpR<   Rh   R\   Ri   t!   window_set_default_icon_from_fileR!  t   link_button_set_uri_hookR   R]   R  R$   RG  t   pagest   dialogsR   RB   (   R,   R-   Rg   (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt
   initialize  s0    

		
c           C   s   t  S(   N(   RB   (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt	   can_input  s    (Z   R   R   Rs  RJ  t   UINotImportableR  RB   R  R<   t   set_interactiveR  t   threads_initRj   t   reRO  Ra   R    R   R   t   reportbug.exceptionsR   R   R   R   t	   reportbugR   t   reportbug.urlutilsR   t   ISATTYR!  R   t   compileR
   R   R   R   R.   R0   R4   R1   RR   R\   Ry   t   objectR   R   R   R   R   R   R   R   R   R   R   R$  R)  R<  R>  RD  RO  Rd  Re  t   type_registerRl  R  R  R  R  R  R  R  R  R   R  R  R#   R"  R(  R*  R)  R.  R0  R3  RS  RT  RC  RG  RU  RV  (    (    (    s8   /usr/lib/python2.7/dist-packages/reportbug/ui/gtk2_ui.pyt   <module>   s   

"			
		 &Mj#K+%FAV?m			



			%