
    Hf                     H    d dl mZ d dlZd dlZ G d d      Z G d d      Zy)    )GtkNc                   *    e Zd Zd Zd Zd Zd Zd Zy)UserDefaultPrinterc                     	 t         j                  d   }|r|dz  }|| _        y # t        $ r, 	 dt         j                  d   z   }n# t        $ r d }Y nw xY wY Cw xY w)NHOMEz/home/USERz/.cups/lpoptions)osenvironKeyError	lpoptions)selfr   s     //usr/share/system-config-printer/userdefault.py__init__zUserDefaultPrinter.__init__   si    	!

6*I ++I"  	!!$rzz&'99	 ! 	!	!s2   $ 	AAAAAAAAc                 J   | j                   sy 	 t        | j                         }|j                         }t	        t        |            D ]%  }||   j                  d      sd||   dd  z   ||<   ' t        | j                   d      j                  |       y # t        $ r Y y w xY w)NDefault zDest    w)r   open	readlinesIOErrorrangelen
startswith
writelines)r   opt_fileoptsis       r   clearzUserDefaultPrinter.clear'   s    ~~	DNN+H%%(D T
# 	0AAw!!:.!DGABK/Q	0 	dnnc"--t4  		s   %B 	B"!B"c                 x   | j                   sy 	 t        | j                         }|j                         }t	        t        |            D ]a  }||   j                  d      s||   dd  }|j                  d      }|dk7  r|d | j                  d      }n|j                  d      }|d | c S  y # t        $ r Y y w xY w)Nr   r   / )r   r   r   r   r   r   r   find)r   r   r   r   restslashspaces          r   getzUserDefaultPrinter.get6   s    ~~	DNN+H%%(D T
# 	$AAw!!:.Awqr{		3B; %L--s3E IIsOEFU|#	$   		s   %B- -	B98B9c                 2   t        j                  dd|gdt         j                  t         j                  t         j                        }|j	                         \  }}|j                         }|dk7  r(t        ||j                         j                               y )Nr   z-dT)	close_fdsstdinstdoutstderrr   )	
subprocessPopenDEVNULLPIPEcommunicatewaitRuntimeErrordecodestrip)r   defaultpr+   r,   exitcodes         r   setzUserDefaultPrinter.setK   s|    T7<(,$.$6$6%/%7%7%/__	6
 ==+669q=&--*:*@*@*CDD    c                 :    dt        | j                               z  S )Nz<UserDefaultPrinter (%s)>)reprr'   )r   s    r   __repr__zUserDefaultPrinter.__repr__W   s    *T488;-???r:   N)__name__
__module____qualname__r   r   r'   r9   r=    r:   r   r   r      s    #5*
@r:   r   c                       e Zd Zd Zd Zd Zy)UserDefaultPromptc
                    || _         || _        || _        t        j                  ||dd      }
|
j                  t        j                  t        j                  j                  t        j                  t        j                  j                         |
j                  t        j                  j                         |
j                  d       |
j                  d       t        j                  j                  dd      }|j                  d       t        j                          }|j#                  t        j$                  t        j&                  j(                         |j+                  dd       |j-                  |ddd       t        j.                  j                  dd      }t        j0                         }|j3                  d|z   d	z          |j5                  d       |j+                  dd       |j-                  |ddd       t        j.                  j                  dd      }t        j6                  j9                  d |      }|j-                  |ddd       t        j:                  j9                  |      }t        j<                  j                  dddd      }|j?                  dddd       |jA                  |       |j-                  |ddd       |j-                  |ddd       t        j6                  jC                  ||	      }|j-                  |ddd       |j-                  |ddd       |
jD                  j-                  |ddd       |jG                  d       |jG                  d       tI               | _%        |jM                  | jJ                  jO                         d u       || _(        || _)        || _*        |jW                  d
| jX                         |
jW                  d| jZ                         |
j]                          y )NT)titletransient_formodaldestroy_with_parent   F   g        r   z"<span weight="bold" size="larger">z</span>toggledresponse)/set_default_fn
refresh_fnnamer   Dialogadd_buttonsSTOCK_CANCELResponseTypeCANCELSTOCK_OKOKset_default_responseset_border_widthset_resizableHBoxnewImageset_from_stockSTOCK_DIALOG_QUESTIONIconSizeDIALOGset_alignment
pack_startVBoxLabel
set_markupset_line_wrapRadioButtonnew_with_mnemonicCheckButton	Alignmentset_paddingaddnew_with_mnemonic_from_widgetvbox
set_activer   userdefset_sensitiver'   
systemwideclearpersonalpersonalconnect
on_toggledon_responseshow_all)r   rM   rN   rO   rE   parentprimarylabelsystemwidelabelclearpersonallabelpersonallabeldialoghboximage	vboxouterprimary	vboxradiorr   rs   	alignmentrt   s                       r   r   zUserDefaultPrompt.__init__[   s!    -$	5+1#'157 	C,,c.>.>.E.E!llC,<,<,?,?	A##S%5%5%8%89#e$xx||UB'q!		c779L9LMS#&ua0HHLL%+	)),@()+45 	6t$sC(gueQ7HHLL%+	__66oN
j%:99;MNMM%%q!Q2	q!R+}%iq9iq9??@@ANPhua8E5!4eUA6t$  $'),##T\\%5%5%8%DE$* It7
D$4$45r:   c                     | j                   j                  | j                  j                         d uxr | j                  j                                y )N)rs   rq   rp   r'   rr   
get_active)r   buttons     r   rv   zUserDefaultPrompt.on_toggled   sA    (($,,*:*:*=T*I +H*.//*D*D*G	Ir:   c                    |t         j                  j                  k7  r|j                          y | j                  j                         rP| j                  j                         r| j                  j                          | j                  | j                         n6	 | j                  j                  | j                         | j                          |j                          y # t        $ r!}t        dt        |      z         Y d }~Fd }~ww xY w)NzError setting default: %s)r   rS   rV   destroyrr   r   rs   rp   r   rM   rO   r9   	Exceptionprintr<   rN   )r   r~   response_ides       r   rw   zUserDefaultPrompt.on_response   s    #**---NN??%%(!!,,/""%+>  $)), OO  >1D!H<==>s   %C   	D
)DD
N)r>   r?   r@   r   rv   rw   rA   r:   r   rC   rC   Z   s    ;zIr:   rC   )gi.repositoryr   r	   r-   r   rC   rA   r:   r   <module>r      s+   (  	 @@ @@DS Sr:   