+
    QDbI c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P                  ! RR4       ^ RI	H
t
 ^ RI	Ht ^ RI	Ht ^ RI	Ht ^ RI	Ht ^ R	I	Ht ^ R
IHt ^ RIt^ RIt^ RIt^ RI	Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI5 ^ RI t ^ RI!t!^ RI"t"^ RI#H$t$ ]PJ                  ! R4        ]P                  ! RR4       ^ RI	H&t& Rt'^ RI)t)])PT                  ! ] PV                  ] PX                  R7       ^ RI!H-t- ] P\                  t/Rt0^t1Rt2]
Pf                  ! R4       ]''       Ed    ]&Ph                  Pk                  R]&Pl                  Pn                  R]&Pp                  Pr                  R]&Pp                  Pr                  R]&Pp                  Pr                  R]&Pp                  Pr                  R]&Pp                  Pt                  R ]&Pp                  Pr                  R!]&Pp                  Pr                  R"]&Pp                  Pr                  /4      t; ! R# R$4      t< ! R% R&4      t= ! R' R(4      t> ! R) R*4      t? ! R+ R,]P                  4      t@ ! R- R.]4      tAR#   ]( d    Rt' ELi ; i)/    NNotifyz0.7)r   )GLib)GObject)Gdk)	GdkPixbuf)Gtk)GtkGUI)Pango)saxutils)Z*)reducez1.9.47SecretZ1)r   TF)domain	localedir)StateReasonprinterzdocument-print-previewz"System Config Printer Notificationzorg.system.config.printer.storeuserr   ZobjectprotocolportserverZauthtypeuric                   sN   a  ] tR t^[t o ]P
                  ! 4       tR tR tRt	V t
R# )
ServiceGetc                sP    \         P                  P                  ^ R4      V n        R# r    N)r   ServiceZget_syncserviceself   &-/usr/share/system-config-printer/jobviewer.py__init__ZServiceGet.__init__^   s    !>>221379DL    c                    V P                   # Nr   r   r   r   get_serviceZServiceGet.get_serviceb   s    <<r   r!   N)__name__
__module____qualname____firstlineno__r   r   r   r   r"   __static_attributes____classdictcell__Z__classdict__   @r   r   r   [   s      .."	9	  	 r   r   c                   s:   a  ] tR t^ft o ]! 4       tR tR tRtV t	R# )
ItemSearchc                s    \         P                  P                  V\        V\         P                  P
                  R 4      V n        R # r    )r   r   Zsearch_syncNETWORK_PASSWORDZSearchFlagsZLOAD_SECRETSitems)r   r   attrs   &&&r   r   ZItemSearch.__init__i   s2    33G4D494:4F4F4S4S48	:DJr   c                r   r    r-   r   r   r   	get_itemsZItemSearch.get_itemsp   s    ::r   r0   N)
r#   r$   r%   r&   listr-   r   r1   r'   r(   r)   r*   r   r+   r+   f   s     	:	 	r   r+   c                   s,   a  ] tR t^tt o R tR tRtV tR# )PasswordStorec           	     sv    \         P                  ! \        V\         P                  VVR V P                  4       R # r    )r   Zpassword_storer,   ZCOLLECTION_DEFAULTon_password_stored)r   r.   namesecret   &&&&r   r   ZPasswordStore.__init__u   s1    !!"2"'"(";";"&"("&"&"9"9;r   c                s2    \         P                  ! V4       R # r    )r   Zpassword_store_finish)r   Zsourceresultunusedr7   r   r4   Z PasswordStore.on_password_stored~   s    ((0r    N)r#   r$   r%   r&   r   r4   r'   r(   r)   r*   r   r3   r3   t   s     	;	1 	1r   r3   c                   sj   a  ] tR t^t o RR ltRR ltRR ltR tR tRR lt	R t
R	 tRR
 ltRtV tR# )PrinterURIIndexNc                sL    / V n         Vf   . pWn        V P                  4        R # r    )r   names_collect_names)r   r<      &&r   r   ZPrinterURIIndex.__init__   s$    =E
r   c                s    V P                   '       g   R # V'       g    \        P                  ! 4       pV P                    F  pV P	                  VXR7       K  	  . V n         R #   \         d     R # i ; i)N
connection)r<   cups
ConnectionRuntimeErroradd_printer)r   r@   cr5      &&  r   r=   ZPrinterURIIndex._collect_names   sb    zzzOO& JJDdq1  
   s   A" "A10A1c                sP     V P                  WR 7       R#   \         d     R# i ; i))r5   r@   N)_map_printerKeyError)r   r   r@   r/   r   rD   ZPrinterURIIndex.add_printer   s*    	GC 		s    %%c                s$   . pR V9   d2   VR ,          p\        V4      \        8w  d   V.pVP                  V4       RV9   d   VP                  VR,          4       RV9   d   VP                  VR,          4       V F  pWP                  V&   K  	  R# )printer-uri-supportedznotify-printer-uriprinter-more-infoN)typer2   extendappendr   )r   r   r.   urisZuri_supportedr   s   &&&   r   update_from_attrsZ!PrinterURIIndex.update_from_attrs   s    "e+!"9:M]#t+!.KK'5(KK345%'KK234C 'LL r   c                s    V P                  4        \        V P                  P                  4       4      pV F*  pV P                  V,          V8X  g   K  V P                  V K,  	  R # r    )r=   r2   r   keys)r   r   rN   r   rF   r   remove_printerZPrinterURIIndex.remove_printer   sL    DLL%%()C||C G+LL% r   c                s    V P                  4         V P                  V,          #   \         d    T P                  YR 7      u # i ; i))r   r@   )r=   r   rH   rG   )r   r   r@   r/   r   lookupZPrinterURIIndex.lookup   sH    	F<<$$ 	F$$#$EE	Fs   % AAc                sh    V P                  4        \        V P                  P                  4       4      # r    )r=   setr   valuesr   r   r   all_printer_namesZ!PrinterURIIndex.all_printer_names   s&    DLL''*++r   c                s    V P                  4        V P                  P                  4        F  w  r#W18X  g   K  Vu # 	  \        hr    )r=   r   r-   rH   )r   r5   r   r   rF   r   lookup_cached_by_nameZ%PrinterURIIndex.lookup_cached_by_name   s8     LL..1LC
 2 r   c                sP    Vf   \         P                  ! 4       p. ROpVe   VP                  VVR7      pMVP                  VVR7      p VR,          pV P                  W%4       Ve   W P                  V&   V#   \         d    \        h\         P
                   d    \        hi ; i)Nprinter-namer   requested_attributesrY   )rW   rI   rJ   )rA   rB   getPrinterAttributesrC   rH   IPPErrorrO   r   )r   r   r5   r@   rr.      &&&&  r   rG   ZPrinterURIIndex._map_printer   s    	!!__/
NA"77SNO 8 Q #77NO 8 Q ^$,? $LL  	N}} 	N	s   4A9 A9 9#B%B%)r<   r   r    )NNN)r#   r$   r%   r&   r   r=   rD   rO   rQ   rR   rU   rV   rG   r'   r(   r)   r*   r   r;   r;      s8     (&F, r   r;   c            
       sB  a  ] tR t^t o R]P
                  P                  RR3R]P
                  P                  R]33R]P
                  P                  R]]P                  33R]P
                  P                  RR3/t	R t
R tR tR	 tR
 tR tR tR tR tR tRtV tR# )CancelJobsOperationdestroyNjob-deleted	ipp-errorfinishedc                s   \         P                   P                  V 4       \        V4      V n        W`n        W n        W0n        W@n        V'       dI   \        V P                  4      ^8  d   \        R4      p\        R4      pM^\        R4      p\        R4      pMG\        V P                  4      ^8  d   \        R4      p\        R4      pM\        R4      p\        R4      p\        P                  ! WqR	R	R
7      p	V	P                  \        R4      \        P                  P                  V\        P                  P                  4       V	P!                  \        P                  P                  4       V	P#                  ^4       V	P%                  R4       \        P&                  P)                  R^4      p
\        P*                  ! 4       pVP-                  \        P.                  \        P0                  P2                  4       VP5                  RR4       V
P7                  VRR^ 4       \        P8                  ! VR7      pVP;                  R	4       VP5                  RR4       V
P7                  VRR^ 4       V	P<                  P7                  V
RR^ 4       V	P?                  RV P@                  4       V	P?                  RV PB                  4       V	PE                  4        Wn#        RV n$        \K        RV ,          4       R# )   zDelete Jobsz(Do you really want to delete these jobs?z
Delete Jobz&Do you really want to delete this job?zCancel Jobsz(Do you really want to cancel these jobs?z
Cancel Jobz&Do you really want to cancel this job?T)titletransient_forZmodalZdestroy_with_parentzKeep PrintingF        labelresponsedelete-eventNz+%s)&r   r   r2   jobids	purge_jobhostr   
encryptionlen_r   Dialogadd_buttonsResponseTypeNOYESset_default_responseset_border_widthset_resizableHBoxnewImageset_from_stockZSTOCK_DIALOG_QUESTIONIconSizeDIALOGset_alignment
pack_startLabelset_line_wrapvboxconnecton_job_cancel_prompt_responseon_job_cancel_prompt_deleteshow_alldialogr@   
debugprint)r   parentrn   r   ro   rl   rm   Zdialog_titleZdialog_labelr   hboximageri   s   &&&&&&&      r   r   ZCancelJobsOperation.__init__   s,     $'Fm"		$4;;!# / !KL  !IJ4;;!# / !KL  !IJ<#'TCAo.0@0@0C0C(#*:*:*>*>	@##S%5%5%8%89#e$xx||UB'		c779L9LMS#&ua0		-T"S#&ua0eUA6
D$F$FG(H(HIEDL!r   c                s*    \        R V ,          4       R# )z-%sN)r   r   r   r   __del__ZCancelJobsOperation.__del__  s    EDL!r   c                s    V P                   '       d"   V P                   P                  4        R V n         V P                  '       d"   V P                  P                  4        R V n        \        RV ,          4       R # )NzDESTROY: %s)r@   r`   r   r   r   r   r   
do_destroyZCancelJobsOperation.do_destroy  sO    ???OO##&"DO;;;KK"DKMD()r   c                (    V P                  R 4       R# )r`   N)emitr   r   r   r`   ZCancelJobsOperation.destroy)  s    		9r   c                Z    V P                  V\        P                  P                  4       R # r    )r   r   rt   ru   r   r   eventr/   r   r   Z/CancelJobsOperation.on_job_cancel_prompt_delete,  s    **FC4D4D4G4GHr   c                s   VP                  4        R V n        V\        P                  P                  8w  d   V P                  R4       R # \        V P                  4      ^ 8X  d   V P                  R4       R # \        P                  ! V P                  V P                  V P                  V P                  V P                  R7       R # )Nrc   )rn   r   ro   reply_handlererror_handler)r`   r   r   rt   rv   r   rp   rl   	asyncconnrB   rn   r   ro   
_connected_connect_failed)r   r   rj   r/   r   r   Z1CancelJobsOperation.on_job_cancel_prompt_response/  s    s''+++IIz"t{{q IIz"499#'99)-,0OO,0,@,@		Br   c                s>    \        R V: R\        V4      : 24       R# )z$CancelJobsOperation._connect_failed :N)r   repr)r   r@   excr/   r   r   Z#CancelJobsOperation._connect_failedA  s    :tUXzZ[r   c                s6   Wn         V P                  '       d   \        R 4      pM\        R4      pV P                   P                  V4       V P                   P	                  V P
                  ^ ,          V P                  V P                  V P                  R7       R# )zdeleting jobzcanceling jobr   r   N)r@   rm   rq   _begin_operation	cancelJobrl   cancelJob_finishcancelJob_error)r   r@   r8   Z	operation   &&& r   r   ZCancelJobsOperation._connectedD  sp    $>>>.)I/*I(()4!!4;;q>4>>151F1F151E1E 	" 	Gr   c                s:   \        R V: R\        V4      : 24       \        V4      \        P                  8X  dq   VP
                  w  r4V\        P                  8w  d:   V\        P                  8w  d%   V P                  RV P                  ^ ,          V4       V P                  VR4       R# V P                  P                  4        V P                  P                  4        RV n        V P                  RV P                  ^ ,          V4       V P                  R4       R# )zcancelJob_error r   rb   Nrc   )r   r   rK   rA   r\   argsIPP_NOT_POSSIBLEIPP_NOT_FOUNDr   rl   r   r@   _end_operationr`   )r   r@   r   ems   &&&  r   r   Z#CancelJobsOperation.cancelJob_errorQ  s    z4:FG:&XXFQT***T'''		;A<!!*d3OO**-OO##&"DOII{DKKNC8IIz"r   c                s   \        R V: R\        V4      : 24       V P                  RV P                  ^ ,          4       V P                  ^  V P                  '       gO   V P                  P                  4        V P                  P                  4        RV n        V P                  R4       R# VP                  V P                  ^ ,          V P                  V P                  V P                  R7       R# )zcancelJob_finish r   ra   Nrc   r   )r   r   r   rl   r@   r   r`   r   rm   r   r   )r   r@   r8   r/   r   r   Z$CancelJobsOperation.cancelJob_finishb  s    
D&MJK		=$++a.1KKN{{{OO**-OO##&"DOIIz"   $++a.$..040E0E040D0D ! Fr   )r@   r   ro   rn   rl   r   rm   r:   )r#   r$   r%   r&   r   SignalFlagsRUN_LASTintZTYPE_PYOBJECT__gsignals__r   r   r   r`   r   r   r   r   r   r   r'   r(   r)   r*   r   r_   r_      s     ++44dB?++44dSFC++44dg3346++44dB?
L,"\"	*IB$\G"F Fr   r_   c                   sX  a  ] tR tRt o ]! . RNO4      tR]P                  P                  RRO3/t	RPR lt
R tR tR tRQR ltR	 tRRR
 ltR tR tR tR tRQR ltR tRQR ltR tRQR ltR tR tR tR tR tRQR ltR t R t!R t"R t#R t$R t%R  t&R! t'R" t(R# t)R$ t*R% t+R& t,R' t-R( t.R) t/R* t0R+ t1R, t2R- t3R. t4RQR/ lt5R0 t6RQR1 lt7RQR2 lt8RQR3 lt9RQR4 lt:R5 t;R6 t<RQR7 lt=R8 t>RQR9 lt?R: t@R; tAR< tBR= tCR> tDR? tER@ tFRA tGRB tHRC tIRD tJRE tKRF tLRG tMRH tNRI tORJ tPRK tQRL tRRMtSV tTR# )S	JobVieweris  rc   Nc                s#   \         P                   P                  V 4       W n        W0n        W@n        WPn        W`n        \        P                  ! 4       pR V9   V n	        RV9   V n
        / V n        / V n        . V n        / V n        \        4       V n        \        4       V n        / V n        ^ V n        / V n        / V n        / V n        RV n        / V n        / V n        \        4       V n        . V n        V P9                  R. RPORR./\:        P<                  R7       \>        P@                  ! RR7      p	V	PC                  R\>        PD                  \G        R	4      R\G        R
4      V PH                  3R\>        PJ                  \G        R4      R\G        R4      V PL                  3R\>        PN                  \G        R4      R\G        R4      V PP                  3R\>        PR                  \G        R4      R\G        R4      V PT                  3R\>        PV                  \G        R4      R\G        R4      V PX                  3R\>        PZ                  \G        R4      R\G        R4      V P\                  3RR\G        R4      RRR3RR\G        R4      RRV P^                  3RR\G        R4      RRV P`                  3R \>        Pb                  RR!\G        R"4      V Pd                  3.
4       \>        Pf                  ! 4       V n4        V Ph                  Pk                  V	RQ4       V Ph                  Pm                  R#4       V Ph                  Po                  4        V Pp                  Ps                  V Ph                  Pu                  4       4       \>        Pv                  ! 4       V n<        RR F  p
V
'       g   \>        Pz                  ! 4       pMeV	P}                  V
4      pVP                  R$4       VP                  4       pV
R8X  d-   WnA        \>        Pv                  ! 4       pVP                  V4       VP                  4        V Px                  P                  V4       K  	  RS Fx  p
V	P}                  V
4      pVP                  V
R 8H  4       VP                  V
R 8H  4       VP                  4       pVP                  4        V P                  P                  VRQ4       Kz  	  R$R$\G        R%4      V P                  3R&R$\G        R'4      V P                  3R$R&\G        R(4      V P                  3R$R&\G        R)4      V P                  3R$R$\G        R*4      V P                  33 F  w  rppV'       d   V'       d   K  \>        P                  ! 4       pV'       d=   VP                  R+\        P                  P                  4       VP                  R,^4       \>        P                  ! VV4      pVP                  VVR4       VP                  R&4       V P                  P                  V4       K  	  \>        P                  ! 4       p\>        P                  ! \G        R-4      V^R.7      pVP                  R&4       V P                  P                  V4       \>        P                  ! \G        R/4      4      p\>        P                  ! 4       pVP                  VR$4       \>        P                  ! 4       pVP                  R+\        P                  P                  4       VP                  R,^4       VP                  VR&4       VP                  VV P                  R4       VP                  VV P                  R4       V P                  P                  V4       \>        P                  ! \        \        4      V n_        V P                  P                  ^ \>        P                  P                  4       V P                  P                  V P                  4       V P                  P                  R&4       V P                  P                  4       V nf        V P                  P                  \>        P                  P                  4       V P                  P                  R0V P                  4       V P                  P                  R1V P                  4       V P                  P                  R2V P                  4       V Pp                  P                  \        4       V Pp                  P                  4        V'       d   \        R3 V4      pV'       d(   V'       d   \G        R44      X,          pM)\G        R54      pMV'       d   R6X,          pM\G        R74      pV Pp                  P                  \G        R84      V,          4       V'       d   V Pp                  P                  V4       R9 p\>        P                  P                  4       pV! V\        4      V nv        V! VR:4      V nw        V P                  P                  4       V ny        V P                  P                  ^ 4       V P                  P                  V P                  ^ ^ V P                  P                  4       V P                  P                  4       ^ ^ R;R;\        P                  EP                   ^4       V P                  '       d   V P                  '       g   \>        EP                  ! 4       V n        V EP                  EP                  V P                  4       V EP                  P                  R<V EP                  4       V EP                  P                  R2V EP
                  4       V EP                  EP                  R$4       Vf   E\        EP                  ! 4       pV EP                  4        V EP                  R&4       E\        EP                  ! 4       V n        E\        EP                  ! 4       V n        E\        EP                   ! 4       V n        E\$        EP&                  ! WVV EP                  V EP                  V EP"                  R=7      V n        V EP$                  P                  R>V EP(                  4       V EP$                  P                  R?V EP*                  4       V EP$                  P                  R@V EP,                  4       V EP$                  P                  RAV EP.                  4       V EP$                  P                  RBV EP0                  4       V EP$                  P                  RCV EP2                  4       V EP$                  P                  RDV EP4                  4       V EP$                  P                  REV EP6                  4       V EP$                  P                  RFV EP8                  4       V EP$                  P                  RGV EP:                  4       V EP$                  P                  RHV EP<                  4       V EP$                  EP?                  4        RV n        V'       g   E\$        EP&                  ! VR&V EP                  V EP                  V EP"                  RI7      V n        V EP@                  P                  R?V EP*                  4       V EP@                  P                  R@V EP,                  4       V EP@                  EP?                  4        V P                  '       g   V Pp                  P                  4        \>        EPB                  ! 4       V n        V EPD                  P                  \G        RJ4      4       V EPD                  EPG                  \>        EPH                  EPJ                  4       V EPD                  EPM                  RKRK4       V EPD                  P                  V Pp                  4       V EPD                  P                  RLV EPN                  4       V EPD                  Ps                  V Ph                  Pu                  4       4       \>        P@                  ! RMR7      pVPC                  R \>        Pb                  RR!\G        R"4      V EPN                  3.4       \>        Pf                  ! 4       V n        V EPP                  Pk                  VRQ4       V EPP                  Pm                  RN4       V EPP                  Po                  4        V EPD                  Ps                  V EPP                  Pu                  4       4       \>        EPR                  ! 4       pV EPD                  EPU                  V4       \>        EPV                  ! 4       pV EPP                  P}                  RO4      pVP                  4       pVP                  R&4       VP                  V^ 4       VP                  VR$R$^ 4       \>        EPX                  ! 4       V n        VP                  V EPZ                  R&R&^ 4       R# )TZactionsZpersistenceN
JobsWindowstatusicon_popupmenu)r   ZJobActionGroup)r5   
cancel-jobZ_CancelzCancel selected jobs
delete-jobZ_DeletezDelete selected jobshold-jobZ_HoldzHold selected jobsrelease-jobZ_ReleasezRelease selected jobsreprint-jobZRe_printzReprint selected jobsretrieve-jobZ	Re_trievezRetrieve selected jobsmove-jobz_Move Toauthenticate-jobZ_Authenticatejob-attributesz_View Attributesclosez<ctrl>wzClose this windoway  
<ui>
 <accelerator action="cancel-job"/>
 <accelerator action="delete-job"/>
 <accelerator action="hold-job"/>
 <accelerator action="release-job"/>
 <accelerator action="reprint-job"/>
 <accelerator action="retrieve-job"/>
 <accelerator action="move-job"/>
 <accelerator action="authenticate-job"/>
 <accelerator action="job-attributes"/>
 <accelerator action="close"/>
</ui>
FZJobTZUserZDocumentZPrinterZSize	ellipsizezwidth-charszTime submittedtextZStatusZchangedZbutton_release_eventz
popup-menuc                 s"    V R ,           V,           # )z, r:   )xZyr>   r   Z<lambda>Z$JobViewer.__init__.<locals>.<lambda>/  s    QX\r   zmy jobs on %szmy jobsz%szall jobszDocument Print Status (%s)c                 s:    V P                  V\        ^ 4      pV#   \        P                   dk    \	        RT,          4       \
        P                  P                  \
        P                  P                  R^\        \        4      pTP                  ^ 4        T# i ; i)r    No %s icon availableT)	load_icon	ICON_SIZEr   GErrorr   r   ZPixbufr{   Z
ColorspaceZRGBfill)themeiconpixbuf   && r   r   Z%JobViewer.__init__.<locals>.load_icon@  s     $	1= M >>  2T9:"))--y/C/C/G/G)-q)YHQM s    A;BBzprinter-printing      ?activate)busmy_jobsspecific_destsrn   r   ro   refreshz	job-addedz	job-eventzjob-removedzstate-reason-addedzstate-reason-removedzstill-connectingznow-connectedzprinter-addedzprinter-eventzprinter-removed)r   r   rn   r   ro   zJob attributesiX  Zdelete_eventZAttrsActionGroupz+
<ui>
 <accelerator action="close"/>
</ui>
z/close)r   treeview	statusbartoolbar)
r   r   r   r   r   r   r   Nr   r   )r   r   r   r   r   r   r   )r   r   loopappletsuppress_icon_hider   r   r   Zget_server_capsnotify_has_actionsnotify_has_persistencejobsjobitersrl   
jobs_attrsrS   active_jobsstopped_job_promptsprinter_state_reasonsnum_jobs_when_hiddenconnecting_to_devicestate_reason_notificationsauth_info_dialogsjob_creation_times_timernew_printer_notificationscompleted_job_notificationsauthenticated_jobsopsZ
getWidgetsconfigPACKAGEr   ZActionGroupZadd_actionsSTOCK_CANCELrq   on_job_cancel_activateZSTOCK_DELETEon_job_delete_activateSTOCK_MEDIA_PAUSEon_job_hold_activateZSTOCK_MEDIA_PLAYon_job_release_activateZ
STOCK_REDOon_job_reprint_activateZSTOCK_SAVE_ASon_job_retrieve_activateon_job_authenticate_activateon_job_attributes_activateZSTOCK_CLOSEon_delete_eventZ	UIManagerjob_ui_managerZinsert_action_groupZadd_ui_from_stringZensure_updater   Zadd_accel_groupZget_accel_groupMenujob_context_menuZSeparatorMenuItem
get_actionset_sensitiveZcreate_menu_itemmove_job_menuitemset_submenushowrM   Zset_is_importantZcreate_tool_itemr   Zinsert_set_job_job_number_text_set_job_user_text_set_job_document_text_set_job_printer_text_set_job_size_textCellRendererTextset_propertyr   ZEllipsizeModeZENDZTreeViewColumnZset_cell_data_funcry   r   Zappend_columnZCellRendererPixbufr   _set_job_status_icon_set_job_status_textZ	TreeStorer   strstoreset_sort_column_idSortType
DESCENDING	set_modelZset_rules_hintget_selection	selectionset_modeSelectionModeZMULTIPLEr   on_selection_changed on_treeview_button_release_eventon_treeview_popup_menuset_icon_nameICONhider
   Z	set_titleZset_transient_for	IconThemeget_default	icon_jobsicon_jobs_processingcopyicon_no_jobsr   	composite	get_width
get_heightr   
InterpTypeBILINEARZ
StatusIcon
statusiconset_from_pixbuftoggle_window_displayon_icon_popupmenuset_visibledbusZ	SystemBusZconnect_signalsset_process_pendingrA   Z	getServerrn   ZgetPortr   ZgetEncryptionro   monitorZMonitor
on_refresh	job_added	job_eventjob_removedstate_reason_addedstate_reason_removedstill_connectingnow_connectedprinter_addedprinter_eventprinter_removedr   
my_monitorZWindowJobsAttributesWindowset_positionWindowPositionZMOUSEZset_default_sizejob_attributes_on_delete_eventattrs_ui_managerVBoxaddZToolbarZNotebooknotebook)r   r   r   r   r   r   r   r   Znotify_capsZjob_action_groupZaction_nameitemactionZprintersZskipr   r5   Zsettercellcolumnr   r   Z	the_destsre   r   r   Zattrs_action_groupr   r   s   &&&&&&&&                     r   r   ZJobViewer.__init__  sE    	  $'	"4,,,/"+{":&3{&B#	5#&5 %'"$%!$&!*,'!#(,%)+&+-("%%,* 1568 !' 	 	0 ??1AB$$s//9t)*D,G,GIs//9t)*D,G,GIS22AgJ'($*C*CE 4 4a
mT*+T-I-IK*t*+T-I-IK!2!2AkND+,d.K.KMT1Z=$dC#T1_+=tT224!4+=)>d002#//4&')=)=?%' 	* "mm.//1A2F..	  	)),'')<)<)L)L)OP #	.K ,,/)44kB$$e,..1*,-1*"xx{H$$h/IIL!!(($//	.2%K &00+>F  +"89##[G%;<**-DIILLLr*% %$*G*GHqy$*A*ABq}d.I.IJq|T-G-GH&	4+B+BC	E *DT6 $'')D!!;0C0C0G0GH!!="5''d3F%%tVT:  &MM''/#E& ##&##Q'7%8$QGd###V,##Qx[1%%(4'##&;(;(;(?(?@="-4&!!4)B)BDI!!4)B)BDI##V,]]3,


%%q#,,*A*AB

+$$d+446 1 1 : :;y$*C*CD5#DD	F|T-H-HI%%t, 9>JI/*Y6)y(*!!1%A#BU#JKOO--v6		 )),"E40$-u6H$I! NN//2"  $"3"3"#Q"&"3"3"="="?"&"3"3">">"@"#Q"%s"+"6"6"?"?"%	' ;;;t:::!nn/DOOO++T->->?OO##Z1K1KLOO##\43I3IJOO''/ ;..#C  $'NN%	LLO	,,/C7E-1YYTYY37??D 	i9k4>>:k4>>:mT-=-=>2D4K4KL4d6O6OP0$2G2GHot/A/ABot/A/ABot/A/AB/1E1EF%oo#t37994999=JDO OO##[$..AOO##[$..AOO##&{{{OO  #$'JJL!!!++Q/?-@A!!..s/A/A/G/GH!!223<!!33T__E!!)).*.*M*M	O!!1143F3F3V3V3YZ __3EF&&#//4&')L)LN) 	 !$ 0113ErJ00	 	++.!!1143H3H3X3X3[\xx{!!%%t,++.&&118<&&)t$a %2dA6r   c                s,   V P                   P                  4        V P                  '       d   V P                  P                  4        V P                  P	                  4        V P
                  P                  4       V P                  P                  4       3 F8  pV F/  p\        VR R4      R8w  g   K   VP                  4        RVn        K1  	  K:  	  V P                  e(   \        P                  ! V P                  4       RV n        V P                   F  pVP!                  4        K  	  V P"                  '       d.   V P$                  '       g   V P&                  P)                  R4       V P+                  R4       R#   \        P                   d     Li ; i)closedNTFrc   )r%  cleanupr1  r   r  r   rT   r   getattrr   r   r   r>  r   source_remover   r`   r   r   r  r"  r   )r   lnotificationops   &   r   r?  ZJobViewer.cleanup  s2   ???OO##& 0077:1188;=A !L(D9TA$**-
 +/L' !"= ((4 = =>,0D)((BJJM  ;;;t:::OO''/		:!  ;;  s   2E;;FFc                s    Wn         R # r    )process_pending_events)r   Zwhetherr>   r   r$  ZJobViewer.set_process_pending  s    &-#r   c                s    V P                   '       g   V P                  '       gP   V P                  P                  4        R V P                  n        V P                   '       g   V P                  4        R# V P                  P                  4        R# )FT)r   r   r   r  visibler?  quit)r   r   s   &*r   r   ZJobViewer.on_delete_event  sY    ;;;diiiOO  #&+DOO#;;;  IINNr   c                s    \        V P                  P                  4       4       F  pV P                  P                  R4       K   	  / V n        V P
                  P                  4        R# )rd   Tr   )ranger9  Zget_n_pagesremove_pager   r2  r  )r   widgetr   pager   r   r5  Z(JobViewer.job_attributes_on_delete_event  sL    $--3356DMM%%b) 7!!&&(r   c                sD    \         P                  ! WV P                  4      # r    )errordialogsshow_IPP_Errorr   )r   Z	exceptionmessager/   r   rM  ZJobViewer.show_IPP_Error  s    **IPPr   c                s\   \        V P                  R R4      pV'       d   RpV P                  '       dA   V'       d   V P                  P                  4        EM>V P                  P	                  4        EM"V'       d   V P                  P                  4       pV P                  P                  4       pV P                  P                  4       w  rgrV'       dB   VP                  R4       Ve   VP                  R4       V P                  P                  4        MV P                  P                  R4       MdV P                  P                  4        V P                  P                  R4       V P                  P                  4       pVe   VP                  R4       V'       * V P                  n        R# )rF  NFT)r@  r   r   r  r   Z
get_windowr2  r  Zget_geometryZset_skip_taskbar_hintZiconifyr"  ZpresentrF  )
r   r   
force_showrF  ZwZawZlocsZareaZo
   &&&       r   r   ZJobViewer.toggle_window_display  s(   4??It<G&&&$$'$$'OO..0..99;$(OO$@$@$C!++T2~00$7OO++.OO//7''*55u=..99;>,,e4&-+r   c                s    VP                  4       '       d   R pMRpV P                  P                  VRR7       V P                  '       d    V P                  P                  VRR7       R# R# )Zallznot-completedF)
which_jobsZrefresh_allN)Z
get_activer%  r   r1  )r   ZtoggletoolbuttonrR  r   r   on_show_completed_jobs_clickedZ(JobViewer.on_show_completed_jobs_clicked   sW    &&((J(J
F???OO##zu#M r   c                s  a  \         P                   ! 4       pR pS P                  P                  4        EF  w  r4\        R4      pRV9   Ed>   VR,          pW,
          pRpV^x8  d   \        R4      pEMVR8  d&   \	        V^<,          4      p\        R4      V,          pMVR8  d9   \	        VR,          4      p	V	^8X  d   \        R4      pM\        R4      V	,          pMVR8  d9   \	        VR,          4      p
V
^8X  d   \        R4      pM\        R	4      V
,          pMlVR8  d9   \	        VR,          4      pV^8X  d   \        R
4      pM@\        R4      V,          pM-R p\         P
                  ! R\         P                  ! V4      4      pVS P                  9   g   EKj  S P                  V,          pS P                  P                  V^V4       EK  	  V'       d7   S P                  '       g%   V 3R lp\        P                  ! ^<V4      pVS n
        V'       g:   S P                  '       d(   \        P                  ! S P                  4       RS n
        V# )FUnknowntime-at-creationTza minute agoz%d minutes agozan hour agoz%d hours agoZ	yesterdayz%d days agoz	last weekz%d weeks agoz%B %Yc                  s|   < \         P                  ! 4        SP                  4       p \         P                  ! 4        V # r    r   threads_enterupdate_job_creation_timesthreads_leave)Zretr   s    r   update_times_with_lockingZFJobViewer.update_job_creation_times.<locals>.update_times_with_locking2  s.    !!$447!!$
r   Ni  iQ i:	 i _7 )timer   r-   rq   r   strftime	localtimer   r  	set_valuer   r   timeout_add_secondsrA  )r   nowZneed_updatejobdataZtZcreatedZagoZminsZhoursZdaysZweeksiterrZ  s   f             r   rX  Z#JobViewer.update_job_creation_times	  s   iil*IC)A!T)12m"<.)A7]b>D*+d2A<'1Ezm,n-5++| 45DqykNm,t3//(8!9:EzkNn-5"'Kw0HIAdmm#}}S)

$$dAq1G +J t<<< ((".GHA,-D),,,""D$A$AB04- r   c                s.   VP                  4        VP                  4        V P                  P                  V4       V\        P
                  P                  8X  d;   R V P                  9  d(   ^ RIpVP                  V P                  4      pWPn        R# R# R# )troubleshooterN)r  r`   r   remover   rt   ru   Z__dict__troubleshootrunon_troubleshoot_quitrd  )r   r   rj   jobidrf  rd  r^   r   print_error_dialog_responseZ%JobViewer.print_error_dialog_responseC  sr      ''/s''***t}}4#!-!1!143L3L!M&4# 5 +r   c                s
    V = R # r    )rd  )r   rd  r>   r   rh  ZJobViewer.on_troubleshoot_quitN  s    r   c                s  a  S P                  WVR 7       VS P                  9  d   R# S P                  pS P                  P                  R4      pVP	                  V^ V4       \        RV,          4       VS P                  V&   S P                  P                  4       pVe   Vw  rxS P                  P                  4       ^ \        P                  P                  38X  dN   V\        P                  ! ^4      8X  d3   S P                  P                  \        P                  ! 4       RRRR4       S P                  '       g    V 3R lp	\         P"                  ! RV	4       R# R# )r?   NzJob %d addedFrg   c                  s|   < \         P                  ! 4        S P                  4        \         P                  ! 4        R # FrV  r   s   r   !start_updating_job_creation_timesZ<JobViewer.add_job.<locals>.start_updating_job_creation_timesk  s*    !!$..1!!$r   i  )
update_jobr   r  rM   r^  r   r   r   Zget_visible_rangeZget_sort_column_idr   r  r  ZTreePathZscroll_to_cellr   r   Ztimeout_add)
r   ra  rb  r@   r  rc  rH  ZstartZendrl  s
   f&&&      r   add_jobZJobViewer.add_jobQ  s   z: dii

zz  $'q#&NS()!c//2 LU

--0Q58\\5L5L5N Na( ,,cllnd.3S#? ,,, c#DE -r   c                s    V P                   P                  4        V P                  '       d   V P                  P                  4        R # R # r    )r%  updater1  r   r   r   update_monitorZJobViewer.update_monitors  s0    ???OO""% r   c           	     s   V P                   \        VP                  4       4      ,
          pWP                  9   d   V P	                  V4       V'       d   R p Vf8   \
        P                  ! V P                  V P                  V P                  R7      p\        RV,          4       \        V4      pVP                  VVR7      pT'       d   TP!                  T4       W P"                  V&   Rp VP%                  R\
        P&                  4      p\)        V4      pV\
        P*                  \
        P,                  39   d   . ROp	RR	.p
VP%                  R4      p\.        P                  ! V P0                  V P                  V P                  V P                  R7      pVP3                  VV
R
7      p VR,          p\7        V\        4      '       g   V.pWR&   VP!                  V4       VP                  VV	R7      pVP!                  V4       VP%                  R\
        P&                  4      p\)        V4      p TR T P:                  P=                  4        X\
        P*                  8H  ;'       d    TP%                  RR4      R8H  pT'       dM   T P?                  YP%                  R	4      TP%                  R4      TP%                  R. 4      T P@                  4       RT n!        T PE                  4        R #   \         d     EL8\         d     ELE\
        P                   d     R # i ; i  \4         d    \        R4       RR.p ELi ; i  \8         d     EL \         d     EL-\
        P                   d     ELDi ; i  \4         d     ELRi ; i)Nrn   r   ro   zrequesting %srZ   F	job-statejob-hold-untiljob-printer-uriauth-info-required
device-urirX   1No auth-info-required attribute; guessing insteadusernamepassword_status_textnone)rr  rs  rt  )#required_job_attributesrS   rP   r   update_job_attributes_viewerrA   rB   rn   r   ro   r   r2   getJobAttributesrC   AttributeErrorr\   ro  r   getIPP_JOB_PROCESSINGr   IPP_JOB_HELDIPP_JOB_STOPPEDauthconnr   r[   rH   Z
isinstance
ValueErrorr   
queue_drawget_authenticationr   submenu_setupdate_sensitivity)r   ra  rb  r@   r]   r.   job_requires_authjstaterP  jattrspattrsr   rE   auth_info_requireds   &&&&          r   rm  ZJobViewer.update_jobx  s6   ((3		+== //!--c2E%!%tyy7;yy=A__"NJ Oa/0!H"33SJK 4 M U#		#!+	XX{D,C,CDFVAT&&(<(<==K.= hh 12''.2ii.2ii48OOE ..cEK / MB)./C)D& "#5t<<*<)=&2D./U#**CAG + IU#;0G0GHL	^$ 	  # $"3"33 2 2!XX'7@12 	  ##S((L*A%)XX/@%A%)XX/CR%H%)[[2
 !"a   ! == @   B !3 4*4j)A&B   	 	}} 		  		s   A+K, ,B>M +	L" 4A=M 2M9 ,L:LLLLL"M <M ?M  M M6M6M6M61M65M69NNc                s   WP                   9  Ed    \        P                  ! R 4       \        p\        4       pRpT'       d   RT9   d   \        P                  P                  T4      w  rT	R8X  d<   \        P                  ! TR7      pTP                  4       w  rppp\        T4      TR&   MK\        P                  P                  T
4      w  pp
Tf   RpM"\        P                  P                  T4      w  ppT	e   Tf   RpM5TP                  R\        TP!                  4       4      R	\        T	4      /4       YP"                  9   d   RpR
\        T4      /pT'       Ed+   RT9   Ed#   TT3 EF  p\        4       pTP%                  4        F  w  ppTT/pTP                  T4       K  	  \'        4       pTP)                  4       p\+        TT4      pTP-                  4       pT'       g   K}  T Uu. uF  pRNK  	  ppTP/                  R4      pT^ ,          P1                  4       P3                  R4      TT&   TP/                  R4      pT^ ,          P5                  4       P3                  4       P7                  4       TT&    M	  \        R4       T'       dD    \8        P:                  ! T P<                  T P>                  T P@                  T PB                  R7      pT'       d   Te|    XPG                  \I        R4      4       TPK                  Y4       TPM                  4        T PO                  4        \        RT,          4       T P"                  PQ                  T4       R# T'       d~   T'       dt   \V        PX                  ! \Z        P\                  ! 4       4      ^ ,          p TP_                  4       pTP                  T4       \        T 4      TR&   T Pa                  TT4       R# R# R# R#    \        R4        R# ; iu upi   \D         d    Rp EL8i ; i  \        PR                   d    XPM                  4        \U        4         R#  XPM                  4        \U        4         EL; i)z1.9.37z;Authentication required but authenticateJob() not availableNry  smb)r   r   Fr   r   r    rx  r   z!Failed to find secret in keyring.rq  authenticating jobz"Automatically authenticated job %d)1r   rA   requirer   
USE_SECRETdicturllibparse	splittypesmburiZSMBURIZseparater  Z	splithostZ
splitnportro  Zlowerr   r-   r   r"   r+   r1   indexZget_attributesr  Z
get_secretZdecoder  rB   r   rn   r   ro   rC   r   rq   authenticateJobr   rp  r8  r\   nonfatalExceptionpwdgetpwuidosgetuidr  display_auth_info_dialog)!r   ra  
device_uriprinter_urir  Zshow_dialogZ
try_secretZinformational_attrs	auth_infoschemerestr   Zgroupr   Zsharer   ry  Z
serverportr   Zidentifying_attrskeyring_attrsr.   keyvalkey_val_dictZservice_objr   Z
search_objr-   r   indrE   rx  s!   &&&&&&                           r   r  ZJobViewer.get_authentication  s    ,,,h' $J"&&Ij,>>!'!7!7!DU? --Z8C'*||%UE847K'1)/)?)?)F&Z!)!%)/)@)@*)M>V^!&J'..(C<Q1;S&\1K L ---"
 #(k): <zj,>>&79L%MM FE$1$7$7$:S(+c{l3 %; #-,K)557G!+GU!;J&002Eu1C$D1CAR1C	$D066
C).q)@)@)B)F)Fv)N	#066
C).q)<)<)>)B)B)D)K)K)M	#% &N(  CD' ++T__26))26))8<IA i3)&&*>(?@%%s6$$'''* Ds JK++//5 "k<<6q9 3 8 8 :$$%67(+Xf%--sMB '2!{ - > ?f %E  $ '!&J' }} $$'%()$$'%(s7   O% -O8AO= "A8P %O5=PP/Q!Q!c           	     s
   V P                   V,          p VR ,          p\        P                  ! V\
        R7      pW%n        WEn        VP                  \        P                  P                  4       V Uu. uF  pRNK  	  pp\        P                  ! \        P                  ! 4       4      ^ ,          pRV9   d(    VP!                  R4      p	WV	&   VP#                  V4       ^ p
V F,  pWz,          R8X  d   VP'                  V4        MV
^,          p
K.  	  VP)                  \+        R4      VP-                  R\+        R4      4      V3,          4       WPP.                  V&   VP1                  R	V P2                  4       VP1                  R
V P4                  4       Wn        VP9                  4        VP;                  R4       VP=                  4        R#   \         d    \        R4       RR.p ELi ; iu upi    \%        4         EL$; i)ru  rw  rx  ry  )r  Zallow_rememberr  z;Authentication required for printing document `%s' (job %d)job-namerT  rj   rk   TN)r   rH   r   r  Z
AuthDialogr  r  r  r3  r   r4  ZCENTERr  r  r  r  r  Zset_auth_infor  Zfield_grab_focusZ
set_promptrq   r  r   r   auth_info_dialog_responseauth_info_dialog_deletejob_idr   Zset_keep_aboveZshow_now)r   ra  r  rb  r  r   r   r  rx  r  r  Zfields   &&&         r   r  Z"JobViewer.display_auth_info_dialogE  s   yy~	:!%&:!;
 $$9K5?A,$6!S//667 "44!3AR!3	4<<.q1++%(..
;!)#$$i0
 'E2%''/QJE	 ( 	1 ? @ HHZ9>!! 	" '-s#
D$B$BC(D(DEt$O  	: + ,",j!9	: 5%!$s#   	G 3G.8&G3 G+*G+3Hc                r   r    )r  r   rt   CANCELr   r/   r   r  Z!JobViewer.auth_info_dialog_deleter  s    &&0@0@0G0GHr   c                sJ   VP                   pV P                  V V\        P                  P                  8w  d   VP                  4        R # VP                  4       p \        P                  ! V P                  V P                  V P                  V P                  R7      pRpTP                  \!        R4      4        TP#                  Y44       TP%                  4       pT P&                  P)                  T4       T P+                  4        TP5                  4        T'       d    \7        TRR 4      p	\7        TRR 4      p
T	e   T
e    T
P9                  R4      pYK,          T	R&   T	P=                  R4      : R	T	P=                  R
4      : RT	P=                  R4      : R2pT
P9                  R4      pYK,          p\?        4       pT	PA                  4        F  w  ppTT/pTPC                  T4       K  	  \E        TTT4      p\        R\F        T3,          4       TP                  4        R #   \         d    \        R4        R # i ; i  \,        P.                   d+   pTP0                  w  rxT P3                  Yx4        R p?ELsR p?ii ; i  \:         d     EL1i ; i   \I        4         L; i)Nrq  z+Error connecting to CUPS for authenticationFr  r  r  rx  r   Z@r   z (r   Z)ry  zkeyring: created id %d for %s)%r  r   r   rt   OKr`   Zget_auth_infor  rB   r   rn   r   ro   rC   r   r   rq   r  Zget_remember_passwordr   r8  rp  rA   r\   r   rM  r   r@  r  
IndexErrorr  r  r-   ro  r3   Zidr  )r   r   rj   ri  r  rE   Zrememberr   r   r  r  r  r5   r6   r.   r  r  r  Zpassword_objs   &&&                r   r  Z#JobViewer.auth_info_dialog_responseu  sc   ""5)s''***NN((+		##T__*.))*.))04AA 	A234	'u0336H##''/"
 	
% ')8)-!/ &-f.B.2&4" !,1C1O066
C09f- ,9+<+<f+E+8+<+<h+G+8+<+<j+IKD -22J?C&^F FE$1$7$7$:S(+c{l3 %; $11517$9L  ?2t* LM 	a  	EF	 }} 	'VVFQ&&	'$ &  %!$s]   AH# ;AI   "J J B2J #H=<H= I?I::I?JJ JJ J"c                sz   V P                   '       g   R # V P                  '       d
   RV n        R # \        V P                  P	                  4       4      pV\        V P
                  P	                  4       4      ,          pV P                  P                  4        F"  w  r#\        VRR 4      R8w  g   K  V^,          pK$  	  \        V P                  4      p\        RV,          4       \        RV,          4       \        RV P                  ,          4       V P                  '       d   R # V P                  P                  R4       V P                  P                  V^ 8  ;'       g    W@P                  8  4       V P                   '       d5   \"        P$                  ! 4       '       d   \"        P&                  ! 4        KD  R # R # )NFr>  Tzopen notifications: %dznum_jobs: %dznum_jobs_when_hidden: %d)r   r   rp   r   rP   r   r   r-   r@  r   r   r   r   r  Zset_has_tooltipr"  rE  r   Zevents_pendingZmain_iteration)r   Zopen_notificationsreasonrC  num_jobss   &    r   set_statusicon_visibilityZ#JobViewer.set_statusicon_visibility  sb   {{{""" ',D# $"@"@"E"E"HIc4#C#C#H#H#KLL$($C$C$I$I$K Fh5="a'" %L ((),/AABNX-..1J1JJK&&&
 	''/##%7!%; &J &J%-0I0I%I	K )))c.@.@.C.C! /D)r   c                s    \         P                  ! \         P                  P                  4      pV P	                  W^ 4       R# r   )r   ZEventZ	EventTypeZNOTHINGshow_treeview_popup_menur   r   r   r   r   r  Z JobViewer.on_treeview_popup_menu  s*    		3==001%%x:r   c                sd    VP                   ^8X  d   V P                  WVP                   4       R# R# )i   N)buttonr  r  r/   r   r  Z*JobViewer.on_treeview_button_release_event  s'    <<1))8ELLI r   c           	     s
   Vf   V P                   P                  4       pVP                  4       w  r#V P                  P	                  R4      pV P                  P	                  R4      pV P                  P	                  R4      pV P                  P	                  R4      pV P                  P	                  R4      pV P                  P	                  R4      p	V P                  P	                  R4      p
V P                  P	                  R4      pV P                  P	                  R	4      p\        V4      ^ 8X  d"   WEWgWWV3	 F  pVP                  R
4       K  	  R # RpRpRpRpRpR
pV P                  P                  4       p\        4       p. V n
        V EFb  pV P                  P                  V4      pV P                  P                  V^ 4      pV P                  P                  V4       V P                  V,          pRV9   di   VR,          pV\         P"                  8  d   R
pV\         P$                  8w  d   R
pV\         P&                  8w  d   R
pVP)                  RR
4      '       g   R
pVP)                  R\         P"                  4      \         P&                  8w  g   VP)                  RR4      R8w  d   R
pVP)                  RR 4      pV'       g   EKA   V P                  P+                  V4      pVVV&   EKe  	  \        VP/                  4       4      ^8X  d1    VP1                  \3        VP/                  4       4      ^ ,          4       \        V4      ^ 8  d   \4        P6                  ! 4       p\3        V4      pVP9                  4        V F  p V P                  P;                  V4      p\4        P<                  ! VR7      pVP                  VR J4       VP?                  4        V PA                  VV PB                  V4       VP                  V4       K  	  V PD                  PG                  V4       RpVP                  V4       VP                  V'       * 4       VP                  V4       VP                  V4       VP                  V4       V	P                  V4       VP                  V4       V
P                  V4       VP                  R4       R #   \,         d    Tp ELi ; i  \,         d     ELi ; i  \,         d    R p EL_i ; i)Nz/cancel-jobz/delete-jobz	/hold-jobz/release-jobz/reprint-jobz/retrieve-jobz/authenticate-jobz/job-attributesz	/move-jobFTrr  job-preservedrs  r{  ru  rt  rh   )$r   r	  Zget_selected_rowsr   r   rp   r   printer_uri_indexrU   r  rl   r  Zget_iter	get_valuerM   r   rA   IPP_JOB_CANCELEDIPP_JOB_PENDINGr  r  rR   rH   rP   re  r2   r   r   ZsortrV   ZMenuItemr   _submenu_connect_hackon_job_move_activater   r   )r   r
  modelZpathlistZcancelZdeleteholdZreleaseZreprintZretrieveZauthenticateZ
attributesZmoverJ  Zcancel_sensitiveZhold_sensitiveZrelease_sensitiveZreprint_sensitiveZauthenticate_sensitiveZmove_sensitiveZother_printersZjob_printersZpathrc  ri  ra  rP  r   r   Zprinters_menumenuitems   &&                             r   r  ZJobViewer.update_sensitivity  sp   336I%779$$//?$$//?""--{;%%00.A%%00.A&&11?C**557JK((335FG
""--{;>Q!4'z;$$e,;   !%//AADvD::&&-DJJ(($2EKKu%))E"Cc!$---',$,,,%*N)))(-%77(-%..0373D3DE)626JJ).&'',d3Cs""44;;SAG ),W%9 < !!$%*%%tL,=,=,@'A!'DE !#HHKM!>2N")00FFPC <<w7&&48 **H,0,E,E,/1 $$h/ * ""..>!N-.!112>*/0/001N+""#9:  &M   "!G"     Cs6   S/S! 	S3SS!S0/S03TTc                s(    V P                  V4       R # r    )r  )r   r
  r>   r   r  ZJobViewer.on_selection_changed@  s    +r   c           	     sb    V P                   P                  R R R R VVP                  4       4       R # r    )r   popupZget_time)r   r   r   Zevent_buttonr7   r   r  Z"JobViewer.show_treeview_popup_menuC  s*    ##T4t\%*^^%6	8r   c                sD    V P                   P                  R R R R W#4       R # r    )r   r  )r   r   r  r[  r7   r   r!  ZJobViewer.on_icon_popupmenuH  s    !!''tT4Nr   c                sv    \        V P                  P                  4       4      V n        V P	                  4        R # r    )rp   r   rP   r   r  r   r  r>   r   on_icon_hide_activateZJobViewer.on_icon_hide_activateK  s&    $'):$;!&&)r   c                s    / p\         P                  P                  4        F  w  r4VR 8X  d   K  WBV&   K  	  \        P                  ! R.RVR7      p\
        P                  ! ^
V P                  V4       R# )ZSYSTEM_CONFIG_PRINTER_UIzsystem-config-printerT)Z	close_fdsenvN)r  environr-   
subprocessZPopenr   r_  poll_subprocess)r   r  r  r5   valuep   &&    r   #on_icon_configure_printers_activateZ-JobViewer.on_icon_configure_printers_activateO  sh    ::++.KD11I /  79(,#7  "d&:&:A>r   c                s*    VP                  4       pVR J # r    )Zpoll)r   ZprocessZ
returncoder   r   r  ZJobViewer.poll_subprocessY  s    \\_
T!!r   c                s    V P                  4        V P                  '       d   V P                  P                  4        R # R # r    )r?  r   rG  r  r>   r   on_icon_quit_activateZJobViewer.on_icon_quit_activate]  s'    999IINN r   c                r   FNon_job_cancel_activate2r  r>   r   r   Z JobViewer.on_job_cancel_activateb  s    $$U+r   c                r   )TNr  r  r>   r   r   Z JobViewer.on_job_delete_activatee  s    $$T*r   c                sX   V P                   '       d   \        V P                  V P                  V P                  V P
                  V P                   V4      pV P                  P                  V4       VP                  R V P                  4       VP                  RV P                  4       R# R# )rc   rb   N)rl   r_   r   rn   r   ro   r   rM   r   on_canceljobs_finishedon_canceljobs_error)r   rm   rD  r   r   r  Z!JobViewer.on_job_cancel_activate2h  st    ;;;$dootyy$))&*oot{{IOBHHOOR JJ
D$?$?@JJT%=%=> r   c                s    VP                  4        V P                  P                  V4      pV P                  V V P                  4        R # r    )r`   r   r  rp  )r   canceljobsoperationir   r   r  Z JobViewer.on_canceljobs_finishedp  s8    ##&HHNN/0HHQKr   c                s    V P                  4        \        V4      \        P                  8X  dL   VP                  w  rEV\        P
                  8w  d'   V\        P                  8w  d   V P                  WE4       R # Vhr    )rp  rK   rA   r\   r   r   r   rM  )r   r  ri  r   r   r   r^   r   r  ZJobViewer.on_canceljobs_errorv  s[    :&XXFQT***T'''##Q*	r   c                    \         P                  ! V P                  V P                  V P                  V P
                  R 7      pT P                   F@  pTP                  \        R4      4        TP                  TR4       TP%                  4        KB  	  ?T P#                  4        R#   \         d     R# i ; i  \        P                   dv   pTP                  w  rET\        P                  8w  d'   T\        P                  8w  d   T P!                  YE4       T P#                  4        TP%                  4         Rp? R# Rp?ii ; i)rq  Nzholding jobZ
indefiniter  rB   r   rn   r   ro   rC   rl   r   rq   ZsetJobHoldUntilrA   r\   r   r   r   rM  rp  r   r   r  rE   ri  r   r   r  r   r   ZJobViewer.on_job_hold_activate  s   	##T__*.))*.))04AA [[E- 01	!!5,7  ! %  		 == ...+++''.##&  #+   AB' .B9'B65B69EA)D>>Ec                r  )rq  Nzreleasing jobzno-holdr  r  r  r   r   Z!JobViewer.on_job_release_activate  s   	##T__*.))*.))04AA [[E/ 23	!!5)4  ! %  		 == ...+++''.##&  #r  c                s    \         P                  ! V P                  V P                  V P                  V P
                  R 7      pV P                   F  pVP                  V4       K  	  ?T P                  4        R#   \        P                   d;   pTP                  w  rET P                  YE4       T P                  4         Rp?R# Rp?i\         d     R# i ; i)rq  N)r  rB   r   rn   r   ro   rl   Z
restartJobrA   r\   r   rM  rp  rC   r  r  r   r   Z!JobViewer.on_job_reprint_activate  s    	##T__*.))*.))04AA e$ % 	 }} 	VVFQ&" 		s$   A'A; ;C/CCCCc                sj    \         P                  ! V P                  V P                  V P                  V P
                  R 7      pT P                   EF  p TP                  T4      pTR,          p TR,          p\        ^T^,           4       EFN  pTP                  YST4      pTP                  R4      p	TP                  R4      p
TP                  RR4      pT
f   \        R	4      \        T4      ,           p
TR
8X  d   T
R,           p
M]TP                  R4      R8w  d   YP!                  RR4      ,           p
M.TP                  R4      R8w  d   YP!                  RR4      ,           p
T	Eeg   \"        P$                  ! \        R4      T P                  \"        P&                  P(                  R7      pTP+                  \"        P,                  \"        P.                  P0                  \"        P2                  \"        P.                  P4                  4       TP7                  T
4       TP9                  R4       TP;                  4       pT\"        P.                  P4                  8X  d)   TP=                  4       p \>        P@                  ! Y4       M T\"        P.                  P0                  8X  d    TPI                  4        \J        PL                  ! T	4       EKB  \G        R4         R# 	  EK  	  ?T PW                  4        R#   \         d     R# i ; i  \         d    TP                  R^ 4      p ELi ; i  \B        \>        PD                  3 d    \G        RT,           4        Li ; i  \N        PP                   d>   pTPR                  w  ppT PU                  TT4       T PW                  4         Rp? R# Rp?ii ; i)rq  Nrt  znumber-of-documentszdocument-countZfilezdocument-namezdocument-formatr  Z	retrievedzapplication/postscriptz.pszapplication/vnd.zapplication/vndzapplication/Z.z	Save File)re   rf   r;  TzUnable to save file z%Unable to retrieve file from job filer   ),r  rB   r   rn   r   ro   rC   rl   r~  rH   r  rH  ZgetDocumentrq   r  findZreplacer   ZFileChooserDialogZFileChooserActionZSAVErs   r   rt   r  Z
STOCK_SAVEr  Zset_current_nameZset_do_overwrite_confirmationrg  Zget_filenameshutilZcopyfileZIOErrorZErrorr   r`   r  ZunlinkrA   r\   r   rM  rp  )r   r  rE   ri  r.   r  Zdocument_countZdocument_numberdocumentZtempfiler5   Zformatr   rj   Zfile_to_saver   r      &&               r   r   Z"JobViewer.on_job_retrieve_activate  s   	##T__*.))*.))04AA [[E7((/!"34E%*+@%AN (-Qq0@'AO]];OH'||F3H#<<8D%\\*;R@F | ~c/.BB!%==#'%<D#[[);<B#'..9JB*O#OD#[[8B>#'..*M#MD+!$!6!6an:>//363H3H3M3M"O **$'$4$4c6F6F6M6M$'NNC4D4D4G4GI //5<<TB#)::<#s'7'7':'::+1+>+>+@LP & G &)9)9)@)@@ (		(+"#JKS (B !t }  		   E%*YY0@!%DNEH %,V\\#: P *+A,+N OP == A##Q*##&	sz   AK7 M 0	L	9G4M .L-AM M 7LL	L*&M )L**M --MM MM  N251N--N2c                s   aaa \         P                  ! ^4      oRVVV3R llpVP                  RV4      VP                  RV4      3# )rd   c                 sl   < SP                  R 4      '       d   \        P                  ! SV .SO5!   R# R# r  )Zacquirer   Zidle_add)r:  r   r   callback	only_onces   &&r   handle_eventZ5JobViewer._submenu_connect_hack.<locals>.handle_event  s.      %((  (D848 )r   zbutton-press-eventr   r    )	threadingZ	Semaphorer   )r   r:  r  r   r  r  s   &&fj @r   r  ZJobViewer._submenu_connect_hack  sF    ''+		9 	9 2LAj,79 	9r   c                s    \         P                  ! V P                  V P                  V P                  V P
                  R 7      pV P                   F  pVP                  WBR7       K  	  ?T P                  4        R#   \        P                   d;   pTP                  w  rVT P                  YV4       T P                  4         Rp?R# Rp?i\         d     R# i ; i)rq  )r  job_printer_uriN)r  rB   r   rn   r   ro   rl   ZmoveJobrA   r\   r   rM  rp  rC   )r   r  r  rE   ri  r   r   s   &&&    r   r  ZJobViewer.on_job_move_activate  s    	##T__*.))*.))04AA 		%	I % 	 }} 	VVFQ&" 		s$   A(A< <C/CCCCc                s    \         P                  ! V P                  V P                  V P                  R 7      pR.pRR.pT P                   Ff  pTP                  TTR7      pTP                  R4      pTP                  TTR7      p TR,          p	T P                  YXP                  R4      YyR
4       Kh  	  R#   \
         d     R# i ; i  \         d    \        R4       RR	.p	 LVi ; i)rq  Frt  ru  rv  rZ   rX   rw  rx  ry  TN)rA   rB   rn   r   ro   rC   rl   r~  r  r[   rH   r   r  )
r   r  rE   Z
jattrs_reqZ
pattrs_reqri  r  r   r  r  
   &&        r   r   Z&JobViewer.on_job_authenticate_activate,  s    	dii&*ii,0OO=A ((
*L9
[[E''>H ( JF**/0C++3BL , NF>%+,@%A" ##UJJ,E%(dD !  		  > / 0&0*%=">s#   7B8 	C
8CC
C'&C'c                s    V P                   P                  4        V P                  '       d   V P                  P                  4        V P                  4        R # r    )r%  r   r1  rX  )r   Z
toolbuttonr>   r   on_refresh_clickedZJobViewer.on_refresh_clickedH  s7    ???OO##&&&)r   c                s:    \         P                  ! V P                  V P                  V P                  R7      pT P                   EF  pY0P                  9  g   K  \        P                  ! 4       p\        P                  ! \        T4      R7      pT P                  P                  YE4      p\        P                  ! 4       pTP                  T4       \        P                   ! 4       pTP#                  ^ \%        R4      T^ R7       \        P                   ! 4       pTP#                  ^\%        R4      T^R7       \        P&                  ! \        \        4      p	TP)                  T	4       TP+                  4       P-                  \        P.                  P0                  4       T	P3                  ^ \        P4                  P6                  4       Y3T P                  T&   T P9                  Y2R7       EK  	  T P:                  P=                  4        R#   \
         d     R# i ; i)	z=For every selected job create notebook page with attributes. rq  Frh   ZNamer   ZValue)connN)rA   rB   rn   r   ro   rC   rl   r   r   ZScrolledWindowr   r  r9  Zappend_pageZTreeViewr8  r   Zinsert_column_with_attributesrq   Z	ListStorer  r	  r  r  NONEr  r  Z	ASCENDINGr}  r2  r   )
r   r  rE   ri  Zscrolledwindowri   Z
page_indexZattr_treeviewr<  
attr_storer  r   r   Z$JobViewer.on_job_attributes_activateO  s   	dii&*ii,0OO=A [[EOO+!$!3!3!5		E
3!]]66~M
 #""=1++.;;Aqy<@q < J++.;;Aqz<@q < J ]]34
''
3++-66s7H7H7M7MN--q#,,2H2HI*4)A&1151A' !* 	!!**-1  		s   7H HHc                sX   Ve   TpM8 \         P                  ! V P                  V P                  V P                  R7      pWP                  9   dx   V P                  V,          w  rE VP                  V4      pTP                  4        TP                  4        F*  w  rxTR9   d   K  TP                  T\        T4      .4       K,  	  R# R#   \
         d     R# i ; i  \         d     R# \         P                   d-    T P                  P                  T4       T P                  T  R# i ; i)z)Update attributes store with new values. Nrq  F)zjob-idzjob-printer-up-time)rA   rB   rn   r   ro   rC   r   r~  r  r\   r9  rI  clearr-   rM   r  )	r   ri  r  rE   r  rK  r.   r5   r  	   &&&      r   r}  Z&JobViewer.update_job_attributes_viewero  s   AOO$))*.))04A OO#!%!7Z	**51 ${{}<<!!4U"45  - $    " ==  ))$/OOE*s/   7C	 &C 	CCD))D)<)D)(D)c                st    VP                  R \        P                  4      pV\        P                  8  d   R# R# )rr  FT)r  rA   r  )r   jobdatastater   r   job_is_activeZJobViewer.job_is_active  s,    [$*?*?@D)))r   c                s:   R pVfw   V P                   ei   V P                   P                  4       pRpV P                  P                  V. 4       F!  pWPP                   8X  g   K  V P                   p M	  Vf   R V n         Ve6   V P                  P                  V. 4       F  pVf   TpK  WS8  g   K  TpK  	  VEe3   VP	                  4       pV\
        P                  8  Ed   \
        P                  V,          pVP                  4       p \        P                  P                  4       pVP                  V^^ 4      p	V	P                  VVP                  4       ^,          VP                  4       ^,          V	P                  4       ^,          V	P                  4       ^,          VP                  4       ^,          VP                  4       ^,          RR\         P"                  P$                  ^4       V# V#   \&        P(                   d    \+        RT,          4        T# i ; i)NFg      ?r   )worst_reasonget_printerr   r  	get_levelr   ZREPORTZ
LEVEL_ICONr  r   r  r  r   r  r  r  r   r  r  r   r   r   )
r   r   r   r  Zfoundr  levelr   r   emblemrQ  r   add_state_reason_emblemZ!JobViewer.add_state_reason_emblem  s   ?t00<''336GE4488'2F...#'#4#4L G #$(!4488'2F'#)L*#)L	 G # **-E{)))"--e4?MM558E"__dB:F$$f&,&6&6&9A&=&,&7&7&:Q&>&,&6&6&9A&=&,&7&7&:Q&>&,&6&6&9A&=&,&7&7&:Q&>&)3&/&:&:&C&CSJ v ~~ ? 6 =>?s   	C"G/ /'HHc                s   V P                   '       g   R # Vf'   \        V P                  P                  4       4      ^ 8  pV'       dt   V P                  pV P                  P                  4        FH  w  r4VP                  R\        P                  4      pV\        P                  8X  g   K<  V P                  p M	  MV P                  p V P                  V4      pV#    \        4         T# ; i)Nrr  )r   rp   r   rP   r  r-   r  rA   r  r  r  r  r  r  )r   	have_jobsr   ri  r  r  r  r   get_icon_pixbufZJobViewer.get_icon_pixbuf  s    {{{TYY^^./!3I^^F"&))//"4 k43G3GHT444!66F	 #5 &&F	!116:F 	! s   C C)c                s   V P                   '       g   R # VfN   \        V P                  4      pV^ 8X  d   \        R4      pM%V^8X  d   \        R4      pM\        R4      V,          pV P                  P                  V4       R # )NzNo documents queuedz1 document queuedz%d documents queued)r   rp   r   rq   r  Zset_tooltip_markup)r   tooltipr  r   r   set_statusicon_tooltipZ JobViewer.set_statusicon_tooltip  sf    {{{?DIIH1}12Q/012X=**G4r   c                s>   \        4       pV P                  P                  4        F(  w  r4\        V4      ^ 8  g   K  VP	                  V4       K*  	  \        RV,          4       \        4       p\        V4      '       dc   \        4       pV P                   F6  pV P                  V,          R,          pW29   g   K%  VP	                  V4       K8  	  \        RV,          4       . pV F%  pVP                  V P                  V,          4       K'  	  RV n	        \        V4      ^ 8  d5   V^ ,          pV F  p	W8  g   K  T	pK  	  Wn	        \        RV,          4       \        P                  ! 4        V P                  P                  ^ 4       V P                  e:   V P                  P                  4       w  rV P                  P                  ^ V4       MRpRp^ p^ pV P                   F^  p V P                  V,          R,          pT\"        P$                  8X  d   T^,           pK>  T\"        P&                  8X  g   KU  T^,           pK`  	  V^ 8  g   V^ 8  d0   \)        R4      W3,          pV P                  P                  ^ V4       V P*                  '       db   V P,                  '       gP   V P/                  VR	7      pV P0                  P3                  V4       V P5                  4        V P7                  VR
7       \        P8                  ! 4        R#   \          d     EK8  i ; i)r    zUpset printers: %sjob-printer-namezMy upset printers: %sNzWorst reason: %sr  rr  zprocessing / pending:   %d / %dr  )r  )rS   r   r-   rp   r8  r   r   r   rL   r  r   rW  r   Zpopget_descriptionZpushrH   rA   r  r  rq   r   r   r  r  r  r  r  rY  )r   r  Zupset_printersr   reasonsZmy_upset_printersri  Z
my_reasonsr  r  re   r  Zstatus_messageZ
processingZpendingZ	job_stater   r  r   update_statusZJobViewer.update_status  s    $ : : @ @ CGG}q ""G, !D 	(>9:E #))))E*+=>,%))73	 *
 /2CCD
(Gt99'BC ) !
a%a=L$(#)L % !-*\9:A(#00@@CUNNG,GNJG)) $		% 0 =I  7 77!+aJ$"6"66%kG * aWq[!"#D!EH]!]##A~6;;;t:::))Y)?FOO++V4**-'''9!   s   'LLLc                s    VP                  4       pV\        P                  8  d   R # . ROpVP                  4       V9   d   R # V P	                  V4       R # )N)Zotherzcom.apple.print.recoverableconnecting-to-devicezcups-remote-pendingzcups-remote-pending-heldzcups-remote-processingzcups-remote-stoppedzcups-remote-canceledzcups-remote-abortedzcups-remote-completedzcups-waiting-for-job-completed)r  r   ZWARNING
get_reasonnotify_printer_state_reason)r   r  r  Z	blacklistrF   r   (notify_printer_state_reason_if_importantZ2JobViewer.notify_printer_state_reason_if_important(  sL      #;&&&	8 9,((&1r   c                sR   VP                  4       pW P                  9   d   \        R \        V4      ,          4       R# VP	                  4       pV\
        P                  8X  g   VP                  4       R8X  d   \        P                  P                  pM\        P                  P                  pVP                  4       w  rV\        P                  P                  WVR4      pRVn        VP!                  V4       V P"                  '       d    VP%                  \        P&                  4       VP)                  RV P*                  4       WpP                  VP                  4       &   V P-                  4         VP/                  4        R#   \0        P2                   d    \5        4         R# i ; i)z Already sent notification for %sNr  r   Tr>  )	get_tupler   r   r   r  r   ZERRORr  r   UrgencyZNORMALLOWr  Notificationr{   user_notifiedset_urgencyr   Zset_timeoutZEXPIRES_NEVERr   #on_state_reason_notification_closedr  r   r   r   r  )r   r  tupler  Zurgencyre   r   rC  s   &&      r   r  Z%JobViewer.notify_printer_state_reasonO  sB     #333:T6]JK  #[&&& $::nn++Gnn((G..1**..YG#  '*"""$$f&:&:;h"FF	H?K''(8(8(;<&&)	! ~~ 	! 	!s   1F F&%F&c                sj    \        R \        V4      ,          4       RVn        V P                  4        R# )zNotification %s closedTN)r   r   r>  r  )r   rC  r  r/   r   r  Z-JobViewer.on_state_reason_notification_closedk  s,    ,t\/BBC"&&)r   c                s   V P                   P                  V/ 4      pVP                  R \        R4      4      pVP                  R4      pVe   VP                  R4      pVfk   R.p\        P                  ! V P
                  V P                  V P                  V P                  R7      p VP                  VVR7      pTP                  R4      pVe+   \        P                  P                  V4      w  rV	R9  d   R# VP                  R\        R4      4      p\        P                   P#                  \        R4      \        R	4      VV3,          R
4      pVP%                  \        P&                  P(                  4       VP+                  RV P,                  4       Wn        WP0                  V&   V P3                  4         VP5                  4        R#   \        P                   d     R# i ; i  \6        P8                   d    \;        4         R# i ; i)r  rT  rt  Nrv  rq  rX   r  zDocument printedz1Document `%s' has been sent to `%s' for printing.r   r>  )ZsocketZippZhttpr  )r   r  rq   r  rB   r   rn   r   ro   r[   rA   r\   r  r  r  r   r  r{   r  r   r  r   $on_completed_job_notification_closedri  r   r  r   r   r   r  )r   ri  ra  r  r  r  r  rE   r.   r  r  r   rC  s   &&           r   notify_completed_jobZJobViewer.notify_completed_jobq  s   iimmUB'77J)5gg01" ,/J!&''.2ii.2ii48OOE22IO 3 QE
 #YY5
%!'!7!7!D!AA''-q|<**..2D0E./ 1H /I/7/6/8/8 /89 	  &.."4"45h"GG	I"2>((/&&)	! 1 }} 2 ~~ 	! 	!s$   (G ;G) G&%G&)HHc                sX    VP                   pV P                  V V P                  4        R # r    )ri  r   r  )r   rC  r  ri  r   r   r  Z.JobViewer.on_completed_job_notification_closed  s'    "",,U3&&)r   c                s    V P                   P                  4        / V n        \        4       V n        / V n        \        4       V n        R # r    )r  r  r   rS   r   r   r;   r  )r   monr>   r   r&  ZJobViewer.on_refresh  s5    

	5!0!3r   c                s   VP                  R R4      p V P                  P                  V4      pV P                  '       d   WpP                  9  d   R# WuR&   W P
                  9  d   V P                  W%4       MkWP                  8X  d\   VP                  4        FG  w  rWP                  V,          9  g   K  WP                  V,          V&   \        RV: RV	: R24       KI  	  W P
                  9  d   R# V P                  V4      '       d   V P                  P                  V4       M+W P                  9   d   V P                  P                  V4       V P                  RR7       V P                   '       dd   V P                  V4      '       g   R# V P"                  P                  V. 4       F(  p
V
P$                  '       d   K  V P'                  V
4       K*  	  R# R#   \         d    Tp ELi ; i)	rt  r  Nr  zAdd Z=z	 (my job)Tr  )r  r  rR   rH   r   r   rn  r1  r-   r   r   r  r   r8  re  r  r   r   r  r  )r   r	  ri  	eventnamer   r  r   r   Zattrr  r  s   &&&&&&     r   r'  ZJobViewer.job_added  s   kk,b1	,,33S9G 72E2E#E&-"# %LL%)OO#&}}/yy//-2IIe$T*e DE  0 %w''  %(&&&##U+d+;;;%%w//4488'2F+++AA6J G	 ;  	G	s   G G.-G.c                sT   VP                  R R4      p V P                  P                  V4      pV P                  '       d   WpP                  9  d   R# WuR&   V P                  V4      '       d   V P                  P                  V4       M+W P                  9   d   V P                  P                  V4       V P                  W%4       V P                  4        W P                  9  d   R# V P                  V,          pV P                  '       d   VR8X  g$   VR8X  d|   VR,          \        P                  8X  d`   VR,          p\        V4      \         8w  d   V.pRp	V F  p
V
P#                  R	4      '       g   K  R
p	 M	  V	'       g   V P%                  V4       V P                  '       EdZ   VR8X  g6   VR8X  EdI   VR,          \        P&                  \        P(                  39   Ed   W P*                  9   Eg   R
pVR,          pV\        P,                  8X  g$   V\        P.                  8X  d   VR,          R8X  d   RpMVR,          pVR,          pVP1                  R4      R#8w  d   \3        R4      W3,          pMlVP1                  R4      R#8w  d   \3        R4      W3,          pMBVP1                  R4      R#8w  g   V\        P&                  8w  d   RpM\3        R4      WV3,          pV'       Ed   \5        R4       V P7                  RR
R7       \8        P:                  ! \3        R4      V P<                  R7      pVP?                  \3        R4      \8        P@                  PB                  \8        PD                  \8        P@                  PF                  4       VPI                  \8        P@                  PF                  4       VPK                  ^4       VPM                  R4       VPO                  \P        4       \8        PR                  PU                  R^4      pVPK                  ^4       \8        PV                  ! 4       pVPY                  \8        PZ                  \8        P\                  P^                  4       VPa                  VRR^ 4       \8        Pb                  PU                  R^4      pR\3        R4      ,           R,           \d        Pf                  ! X4      ,           p VR,          \        Ph                  8X  d,   VR,          pVR,          pV\3        R 4      V,          ,          p\8        Pj                  ! TR!7      pTPm                  R
4       TPo                  R
4       TPq                  ^ ^ 4       TPa                  TRR^ 4       TPa                  TRR^ 4       TPr                  Pa                  TRR^ 4       TPu                  R"T Pv                  T4       T P*                  P                  T4       TPy                  4        R# R# R# R# R# R#   \         d    Tp ELi ; i  \         d     ELi ; i)$rt  r  Nr  job-completedjob-state-changedrr  job-state-reasonsFjob-canceledTzjob-stoppedrs  ru  znotify-textr  zbackend errorszBThere was a problem sending document `%s' (job %d) to the printer.zfilter errorsz6There was a problem processing document `%s' (job %d).zbeing pausedz:There was a problem printing document `%s' (job %d): `%s'.zProblem detected)rO  zPrint Error)re   rf   Z	_Diagnosez"<span weight="bold" size="larger">z	</span>

zprinter-staterW   Z z*The printer called `%s' has been disabled.rh   rj   r   )=r  r  rR   rH   r   r  r   r8  re  rm  r  r   r   rA   IPP_JOB_COMPLETEDrK   r2   
startswithr  r  r  r   r  r  r  rq   r   r   r   rr   r   rs   rt   ru   ZSTOCK_OKr  rw   rx   ry   r  r  rz   r{   r|   r}   ZSTOCK_DIALOG_ERRORr~   r   r   r7  r	   ZescapeZIPP_PRINTER_STOPPEDr   Zset_use_markupr   r   r   r   rj  r   )r   r	  ri  r
  r   r  r   r   r  canceledr  Zmay_be_problemr  Znotify_textr  rN  r   r   r   r   Zmarkupr5   ri   s   &&&&&&                 r   r(  ZJobViewer.job_event  s4   kk,b1	,,33S9G 72E2E#E&-"#w''  %(&&&##U+( 		!))E" ;;;I8&*==";/43I3II/0GW~%")H!$$n55#H "
 ))51 KKK-'..K T%9%9%)%9%9%; ;111 "N[)F$1114,,,)*.BB!&. $M2":.##%56"<  "<  = (0 1G !%%72= !, -08/@AG!&&72= 4 44%*N  ! "3  4 (= >G ~./**DT*B1]+;37??D""AkNC4D4D4G4G$'LL#2B2B2E2EG++S-=-=-@-@A''+$$e,$$d+xx||UB/%%q)		$$c&<&<&)ll&9&9;ua8xx||UB/>M*+-:;"//734_-1I1II$^4#1 &6 $79=$> ?
 		/$$d+##T*##Q*ua8ueQ7&&eUA>
 $ @ @%I((,,e4"S m 2; / Y  	G	F   s$   X AX XXX'&X'c                s   V P                   '       d   VR 8X  g$   VR8X  d   VR,          \        P                  8X  dk   VR,          p\        V4       \	        V4      \
        8w  d   V.pRpV F  pVP                  R4      '       g   K  Rp M	  V'       g   V P                  V4       W P                  9   dG   V P                  P                  V P                  V,          4       V P                  V V P                  V W P                  9   d   V P                  P                  V4       W P                  9   d   V P                  V V P                  4        R# )r  r  rr  r  Fr  TN)r   rA   r  r   rK   r2   r  r  r   r  re  r   r   r   r  )r   r	  ri  r
  r   r  r  r  s   &&&&&   r   r)  ZJobViewer.job_removedo  s   ;;;I8&*==";/43I3II/0G W~%")H!$$n55#H "
 ))51MM!JJt}}U34e$		% $$$##U+OO#&r   c                s   VP                  4       w  r4VP                  4       p V P                  V,          pR Vn        VP                  V4       V P                  4        V P                  P                  4        V P                  '       g   R# V P                  P                  4        F@  w  rxV P                  V4      '       g   K  VR,          V8X  g   K.  V P                  V4        R# 	  R#   \         d    . pY`P                  T&    Li ; i)FNr  )r  r  r   rH   r  rM   r  r   r  r   r   r-   r  r  )	r   r	  r  re   r   r   rB  ra  rb  r  r   r*  ZJobViewer.state_reason_added  s    ..1$$'	4**73A
  %	&  #{{{ +IC%%t,,&'72==vF ,  	4A23&&w/	4s   C- -D
Dc                s   VP                  4       p V P                  V,          p TP	                  T4      pYE T P                  4        T P                  P                  4        T P                  '       g   R# TP                  4       p T P                  T,          p\        TRR4      R8w  d    TP                  4        T P                  T T P!                  4        R#   \         d    \        R 4        R# i ; i  \
         d    \        R4        R# i ; i  \        P                   d     Lpi ; i  \         d     R# i ; i)zPrinter not foundNzReason not foundr>  T)r  r   rH   r   r  r  r  r   r  r   r  r   r@  r   r   r   r  )r   r	  r  r   r  r  r  rC  s   &&&     r   r+  ZJobViewer.state_reason_removed  s-   $$'	009G
	v&A
 J  #{{{  #	::5ALh5= &&) //6**-=  	+,	  	*+	$ {{    		sX   C C: %D2 .D >D2 C76C7:DDD/,D2 .D//D2 2E Ec                sP    V P                   '       g   R # V P                  V4       R # r    )r   r  )r   r	  r  r/   r   r,  ZJobViewer.still_connecting  s    {{{((&1r   c                s   V P                   '       g   R #  V P                  V,          pR pV F  pVP                  4       R8X  g   K  Tp M	   Xe   VP                  4       pMc\	        R4       R pV P                  P                  4        F'  w  pppW8X  g   K  VR8X  g   K  \	        R4       WxV3p M	  Vf   \	        R4       R #  V P                  V,          p	\        T	RR 4      R8w  d    T	P                  4        RT	n        R # R #   \         d    \	        R4        Li ; i  \         d    \	        R4        R # i ; i  \        P                   d     L[i ; i)	Nr  z(Couldn't find state reason (no reasons)!z#Couldn't find state reason in list!zFound from notifications listzBUnexpected now_connected signal (reason not in notifications list)zUnexpected now_connected signalr>  T)r   r   r  rH   r   r  r   rP   r@  r   r   r   r>  )
r   r	  r   r  r  r]   r  r  r  rC  rQ  r   r-  ZJobViewer.now_connected  sf   {{{	D009GF<<?&<<F  $$'E=>E 66;;><A)?$? ?@"qME	 ? } A B	::5AL
 L(D1T9""% #'L :7  	DBC	D.  	9:	 ;; sA   ,D D D D$ -E D! D!$D>=D>EEc                <    V P                   P                  V4       R # r    )r  rD   r   r	  r   r/   r   r.  ZJobViewer.printer_added	  s    **G4r   c                s<    V P                   P                  W$4       R # r    )r  rO   )r   r	  r   r
  r   s   &&&&&r   r/  ZJobViewer.printer_event	  s    00'Ar   c                r  r    )r  rQ   r  r/   r   r0  ZJobViewer.printer_removed	  s    --w7r   c           	     s\    VP                  R \        VP                  V^ 4      4      4       R# )r   N)r   r  r  )r   r=  r<  r  rc  rb  s   &&&&&*r   r   Z"JobViewer._set_job_job_number_text	  s"    &#ua'@"ABr   c           	         VP                  V^ 4      p V P                  V,          pTP                  RTP	                  R\        R4      4      4       R#   \         d     R# i ; i)r    Nr   job-originating-user-namerT  r  r   rH   r   r  rq   r   r=  r<  r  rc  rb  ri  ra     &&&&&*  r   r   ZJobViewer._set_job_user_text	  s`    q)	))E"C 	&#''+F+,Y<#9 	:  		   A A#"A#c           	     r  )r    Nr   r  rT  r  r  r  r   r   Z JobViewer._set_job_document_text	  sZ    q)	))E"C 	&#''*a	l"CD  		r  c                s.   VP                  V^ 4      p V P                  V,          P                  R4      pTR8X  d   R\	        R4      ,           pMRpTP                  RT P                  T,          R,          T,           4       R#   \         d     R# i ; i)	r    r  Nzprinter-stopped - Zdisabledr  r   r  )r  r   r  rH   rq   r   )	r   r=  r<  r  rc  rb  ri  r  r  	   &&&&&*   r   r   ZJobViewer._set_job_printer_text%	  s    q)	ii&**+>?G ''Qz]*FF&$))E"23E"Fv"MN  		s   "B BBc                s    VP                  V^ 4      p V P                  V,          p\        R4      pRT9   d   \	        TR,          4      R,           pTP                  RT4       R#   \         d     R# i ; i)r    NrT  job-k-octetsZkr   )r  r   rH   rq   r  r   )	r   r=  r<  r  rc  rb  ri  ra  Zsizer  r   r   ZJobViewer._set_job_size_text2	  sp    q)	))E"C |S N+,s2D&$'  		s   A& &A54A5c                s    V P                   V,          pTP                  R\        P                  4      p\        T4      pT\        P                  8H  ;'       d    TP                  RR4      R8H  pR pT'       d   \        R4      pEM&T\        P                  8X  Edq   \        R4      pTP                  R4      pTEe    TP                  R4      pTR8w  Ed   \        P                  ! 4       p	\        TR T 4      p
Yx^,           R  P                  R4      pTR8w  d9   Y^,           ,          p\        Yx^,           T 4      p\        Y{^,           R  4      pM\        Yx^,           R  4      p^ pT	P                  pYP                  8  gA   YP                  8X  d:   YP                  8  g!   YP                  8X  d   YP                  8  d
   T^,          pT	P                  T	P                   TYT^ ^ R3	p\"        P$                  P                  R4      pR	\"        P$                  R&   \        P&                  ! T4      pTf   \"        P$                  R MT\"        P$                  R&   \        P(                  ! T4      p\        R
4      \        P*                  ! RT4      ,          pTR8X  d   \        R4      pMTR8X  d   \        R4      pMTR8X  d   \        R4      pMTR8X  d   \        R4      pMTR8X  d   \        R4      pMTR8X  d   \        R4      pM \        P.                  \        R4      \        P                  \        R4      \        P0                  \        R4      \        P2                  \        R4      \        P4                  \        R4      \        P6                  \        R4      /T,          pTf   \        R4      pT#   \         d     R # i ; i  \,         d     ELCi ; i  \         d     LBi ; i) Nrr  rs  r{  ru  zHeld for authenticationZHeldr   ZTZZUTCzHeld until %sz%Xzday-timezHeld until day-timeZeveningzHeld until eveningZnightzHeld until night-timezsecond-shiftzHeld until second shiftzthird-shiftzHeld until third shiftZweekendzHeld until weekendZPendingZ
ProcessingZStoppedZCanceledZAbortedZ	CompletedrT  r   )r   rH   r  rA   r  r   r  rq   r  r[  ZgmtimeZtm_mdayZtm_hourZtm_minZtm_secZtm_yearZtm_monr  r  Zmktimer]  r\  r  r  r  r  ZIPP_JOB_ABORTEDr  )r   ra  rb  r  rP  r  r  ZuntilZcolon1r`  ZhhZcolon2ZmmZssZdayr  Zold_tzZ
simpletimeZlocals   &&                 r   _find_job_state_textZJobViewer._find_job_state_text>	  s]   	99S>D ;(?(?@L$"3"33 2 2!XX'7@12 	 /0E$###fIEHH./E $"ZZ-F|"kkn %.1!&z{!3!8!8#!>!R<"qj0F!$eQJv&>!?B!$eQJK&8!9B!$eQJK&8!9B!"B!kk,;;. ::o!ZZ/BO1HC #SZZ "Aq" 6!#!5+0

4(%)[[$%7
!> "

4 0/5BJJt, $
 ;!"?!3!%e!<"= 
"/0)#./'!12.(34-'23)#./..)111\?..)//:..)00!K.C
 DEF =iLE]  		d " ,  s7   N> ?GO BO" >OOOO"O0/O0c                s   VP                  V^ 4      p V P                  V,          pTP                  R\        P
                  4      p\        T4      pT\        P
                  8X  d   T P                  p	MT P                  p	T\        P                  8X  d    \        P                  P                  4       p
T
P                  \        P                  R^ 4      pT	P                  4       pTP!                  T^ ^ TP#                  4       TP%                  4       TP#                  4       ^,          ^,
          TP%                  4       ^,          ^,
          RR\&        P(                  P*                  ^4       Tp	MTR,          pT P3                  YR7      p	TP5                  RT	4       R#   \         d     R# i ; i  \,        P.                   d$    \1        R\        P                  ,          4        L]i ; i)	r    Nrr  r   r   r  )r   r   g      &@)r  r   rH   r  rA   r  r   r  r  r  r   r  r  r   r   r  r  r  r  r   r  r  r   r   r   r  r   )r   r=  r<  r  rc  rb  ri  r  rP  r   r   r  r  r      &&&&&*        r   r  ZJobViewer._set_job_status_icon	  s   q)	99U#D ;(?(?@L''',,D>>D!!!L114#*?*?Kyy|  $1"&.."3"&//"4"&.."3a"7!";"&//"4q"81"<"%s"+"6"6"?"?F 
 -.G///GD8T*=  		. >> L2S5J5JJKLs$   F CF0 F-,F-05G('G(c                s   VP                  V^ 4      p V P                  V,          p TR,          pTR,          pT P                  P                  T. 4      p	\        T	4      ^ 8  dF   T	^ ,          p
T	R,           F  pY8  g   K  Tp
K  	  T
P                  4       w  rTRT,           ,          pTP                  RT4       R#   \         d     R# i ; i  \         d    T P                  T4      pYuR&    Li ; i)r    Nrz  r  :rd   NNr  r   )	r  r   rH   r  r   r  rp   r  r   )r   r=  r<  r  rc  rb  ri  r   r   r  r  r  re   r9   r  r   r  ZJobViewer._set_job_status_text	  s    q)	99U#D	('D
 )*,,00'2>=1"1:L!"++(#)L & +::=OUEEM!D64('  		
  	(,,e4D#' 	(s"   B? 	C ?CC C43C4)-r2  r   r   r6  r   r   r   r   ro   rn   r  r  r  r   r   r   rl   r   r   r   r   r%  r   r   r1  r   r9  r   r   r   r   r   r   r  rE  r
  r   r   r  r   r  r  r   rd  r  )r  r  r  rt  rr  rU  ru  r  r:   )NNFFTNNr    rk  )Ur#   r$   r%   r&   rS   r|  r   r   r   r   r   r?  r$  r   r5  rM  r   rS  rX  rj  rh  rn  rp  rm  r  r  r  r  r  r  r  r  r  r  r!  r  r  r  r  r   r   r  r  r  r   r   r   r   r  r  r   r  r   r}  r  r  r  r  r  r  r  r  r  r  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r   r   r   r   r   r  r  r  r'   r(   r)   r*   r   r   r   s  s    ! #4 5 	++44dB?
Le7N	@.	Q.@N8t	5  FD&
d#LeCN+ZI>@""H;J]'~,8
O*?"
,+?
44&DL9&D8*.@6>)V05=@%2N!80!d*4'KRT#l@6$L2-'^5B8C:EO
(Qf"+H) )r   r   )Br   r  rA   r#  Z	dbus.glibZdbus.servicer  ZgiZrequire_versionZgi.repositoryr   r   r   r   r   r   Zguir   r%  r  r  r   r  r  r  Zsysr[  Zurllib.parser  Zxml.saxr	   Zdebugr   ZstatereasonrL  Z	functoolsr
   r  r   r  r  ZgettextZinstallr   r   r   Z
pkgdatadirZpkgdatar  r   ZSEARCHING_ICONZinitZSchemar{   ZSchemaFlagsr  ZSchemaAttributeTypeZSTRINGZINTEGERr,   r   r+   r3   r;   r_   r   r:   r   r   <module>r     s   *        	   8U #    !  #      
   
         X x%$J  v~~1A1A B #



	' 0 1:}}(()JFL^L^LcLc-3V5O5O5V5V-5v7Q7Q7X7X-5v7Q7Q7X7X-79S9S9Z9Z-3V5O5O5W5W-5v7Q7Q7X7X-79S9S9Z9Z-2F4N4N4U4U	*++    1 1_ _DMF'// MF^Y!) Y!)o	  Js   8I 	I*)I*