
    Kc\[                       d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZ	  ej        dd           d dl	m
Z
 n	#  dZ
Y nxY w ej        dd           d dl	mZ 	  ej        d	d
           d dl	mZ  ej        dd
           d dl	mZ  ej        ej                   n9# e$ r1Z ede            ed            ej        d           Y dZ[ndZ[ww xY w	  ej        dd           d dl	mZ  ej                     ej                                                            ej        j                   n#  Y nxY wd Z eej                  dk    r+ej        d         dk    r e              ej        d            d dlZ ej        d            ej        ej                   d dl Z 	  e j!        e j"        d           n0# e j#        $ r# dej$        d<    e j!        e j"        d           Y nw xY wd dl%Z% e%j&        e j'        e j(                   d dl)Z)d dl	m*Z* d dl	m+Z+ d dl,m-Z- d dl.T d dl/Z0d dl1Z0d dl2Z0d dl3Z3d dl4Z4d dl5Z5d dl6Z6d dl7Z7d dl8Z8d dl8T d dl9Z9d dl:m;Z; d dl<T d dl=T d dl>Z>d dl?Z?d d l?m@Z@mAZA d dlBZBd dlCZC eCj                     e jD        ZEejF        G                    eEd!          ZHejF        I                    eE           dZJdZK e+jL        d"           d# ZM G d$ d%          ZN G d& d'eN          ZO G d( d)eN          ZP G d* d+e-          ZQd, ZReSd-k    rd dlTZT	  eTjU        ej        dd         dg d.          \  ZVZWn*# eTjX        $ r  e              ej        d           Y nw xY wdZYeVD ]@\  ZZZ[eZd/k    r e\d0            e)j]        e^           neZd1k    re[ZYeZd2k    r e_e[          ZKA eReY           dS dS )3    NPolkitz1.0)r   F	GdkPixbufz2.0)r   Gdkz3.0)r   Gtk)r   zsystem-config-printer:z?This is a graphical application and requires DISPLAY to be set.   Handy1)r   c                  $    t          d           d S )Na*  
This is system-config-printer, a CUPS server configuration program.

Options:

  --debug                 Enable debugging output.
  --show-jobs <printer>   Show the print queue for <printer>
  --embedded              Enable to start in Embedded mode.
   --help                  Show this message.
)print     9/usr/share/system-config-printer/system-config-printer.py	show_helpr   <   s#    	 < = = = = =r   z--helpz1.9.46 CLC_ALL)domain	localedir)GObject)GLib)GtkGUI)*)ServerSettings)busyreadyicons/zsystem-config-printerc                  H    t          j                    } | d         dk    rdS | S )Nr   /	localhost)cups	getServer)hosts    r   CUPS_server_hostnamer#   x   s&    >DAw#~~{Kr   c                        e Zd Zd Zd Zd ZdS )ServiceStartc                     t          j                    }|                    | j        | j                  }t          j        ||          }|S N)dbus	SystemBus
get_objectNAMEPATH	Interface)selfifacebusobjproxys        r   
_get_ifacezServiceStart._get_iface   s<    nnndi33U++r   c                     	 |                      t          j                  }|                                }n#  Y dS xY wdS )NFT)r3   r(   INTROSPECTABLE_IFACE
Introspect)r.   r2   
introspects      r   	can_startzServiceStart.can_start   sC    	OOT%>??E))++JJ	55ts   36 ;c                 h    |                      | j                  }|                     |||           d S r'   )r3   IFACE_start)r.   reply_handlererror_handlerr2   s       r   startzServiceStart.start   s1    
++E=-88888r   N)__name__
__module____qualname__r3   r8   r>   r   r   r   r%   r%   ~   sA            9 9 9 9 9r   r%   c                        e Zd ZdZdZdZd ZdS )SysVServiceStartz!org.fedoraproject.Config.ServiceszQ/org/fedoraproject/Config/Services/ServiceHerders/SysVServiceHerder/Services/cupsz-org.fedoraproject.Config.Services.SysVServicec                 4    |                     ||           d S )Nr<   r=   )r>   r.   r2   r<   r=   s       r   r;   zSysVServiceStart._start   s,    -"/ 	 	1 	1 	1 	1 	1r   N)r?   r@   rA   r+   r,   r:   r;   r   r   r   rC   rC      s2        	,D	\D
9E1 1 1 1 1r   rC   c                   $    e Zd ZdZdZdZdZd ZdS )SystemDServiceStartzorg.freedesktop.systemd1z/org/freedesktop/systemd1z org.freedesktop.systemd1.Managerzorg.cups.cupsd.servicec                 B    |                     | j        d||           d S )NfailrE   )	StartUnitCUPS_SERVICErF   s       r   r;   zSystemDServiceStart._start   s4    )6&3&3 	 	5 	5 	5 	5 	5r   N)r?   r@   rA   r+   r,   r:   rL   r;   r   r   r   rH   rH      s7        	#D	$D
,E)L5 5 5 5 5r   rH   c            
           e Zd Zej         ed          ej         ed          ej         ed          ej         ed          iZ	dZ
dZdZ fdZd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdWdZd Zd Z d Z!d Z"d Z#dXd!Z$d" Z%d# Z&d$ Z'd% Z(d& Z)dXd'Z*d( Z+d) Z,d* Z-d+ Z.d, Z/d- Z0d. Z1d/ Z2d0 Z3d1 Z4d2 Z5d3 Z6d4 Z7d5 Z8d6 Z9d7 Z:d8 Z;d9 Z<d: Z=d; Z>d< Z?d= Z@d> ZAd? ZBdWd@ZCdA ZDdB ZEdC ZFdWdDZGdE ZHdF ZIdG ZJdH ZKdI ZLdJ ZMdK ZNdL ZOdM ZPdXdNZQdO ZRdP ZSdQ ZTdR ZUdS ZVdT ZWdU ZXdV ZY xZZS )YGUIIdle
ProcessingBusyStoppedr   r      c                 ~#   t          t          |                                            	 t          j        t          j                  | _        t          j        t          j                  | _        n#  t                       dt          j        d<   t          j        t          j        d           t          j        t          j                  | _        t          j        t          j                  | _        Y nxY wi | _        t          j                    | _        t          j                    | _        t          j                    | _        d | _        d | _        t1          | j        f          | _        d | _        t1                      | _        d| _        |                     g ddgg dg dg d	d
dgdt<          j                   t@          r| j!        "                                 | j!        #                                d         }tH          j%        &                    t@                    }tH          j'        (                    | j!        |           |)                    |           | j!        *                    |           |+                                 || _!        | j,        -                    d| j.                   tH          j/        0                    d           d}d | _1        td          r=	 td          j3        4                    |d d           | _1        n# tj          j6        $ r Y nw xY wtI          j7                    | _8        | j1         | j1        -                    d| j9                   | j8        -                    d| j9                   | j:        ;                    | j8        ddd           tI          j<        d          }|=                    dtH          j>        t          d          d t          d          | j@        fdtH          jA        t          d          d t          d          | jB        fdtH          jC        t          d          d d | jD        fdtH          jE        t          d           d d | jF        fd!tH          jG        d d d | jH        fg           |=                    d"d t          d#          d d | jI        fd$tH          jJ        t          d%          d&d | jK        fd'tH          jL        d d d | jM        fd(tH          jN        t          d)          d d | jO        fd*tH          jP        d d d | jQ        fd+tH          jE        t          d,          d d | jR        fd-tH          jS        t          d.          d d | jT        fg           |U                    d/d t          d0          d d | jV        fd1d t          d2          d d | jW        fg           |X                    d3d t          d4          fd5d t          d6          fd7d t          d8          fd9d t          d:          fgd;| jY                   |Z                                D ]}|[                    d           d<D ],}|\                    |          }|[                    d=           -tI          j]                    | _^        | j^        _                    |d>           | j^        `                    d?           | j^        a                                 | j!        b                    | j^        c                                           tI          jd                    | _e        | je        f                    t          d@                     | je        g                    dA           | je        h                    d=           tI          ji                    }| j^        \                    dB          }|j                                }| j^        \                    dC          }|j                                }	|k                                 |	k                                 |l                    |dd;dd;           |l                    |	dd;d;dD           | je        m                    |           | je        -                    dE| jD                   | jn        )                    | je                   | jn        )                    tI          jo                               tI          jp                    | _q        | jq        f                    t          dF                     | jq        g                    dG           | jq        -                    dE| jr                   | jn        )                    | jq                   | jn        +                                 tI          ji                    }
dHD ]}|dIk    rItH          js        t                    t          dJ                    }|[                    d=           || _u        n?|stI          jv                    }n)|\                    |          }|j                                }|k                                 |
w                    |           | jx        y                    |
           tI          ji                    }dKD ]T}|\                    |          }|j                                }|k                                 |w                    |           U| ju        y                    |           tI          ji                    | _z        dLD ]o}|stI          jv                    }n)|\                    |          }|j                                }|k                                 | jz        w                    |           p| j{        y                    | jz                   g | _|        t          j~                    x| _        }|-                    dM| j                   |-                    dN| j                   |-                    dO| j                   | j                            t<          j                   | j                            t<          j                   | j        g                    d           	 t          j        | j!                  | _        n# t          $ r
 d | _        Y nw xY w| j                            dP          | _        |                                  d| _        d3| _        tI          ji                    }dQD ]@}|\                    |          }|j                                }|w                    |           A|+                                 | j                            |           t          j                            dR          rt)                      | _        nt-                      | _        tI          j        t0          j        t4          j        t8          t8                    | _        | j                            | j                   | j                            dS           | j                            dT           | j                            d;           | j                            dD           | j                            dU           | j                            d=           | j        -                    dV| j                   | j        -                    dW| j                   | j        -                    dX| j                   | j        -                    dY| j                   | j        -                    dZ| j                   |                     | j                   | j                            tX          j        j        tH          j        &                    d[dd          gtX          j        j                   | j        -                    d\| j                   | j        -                    dE| j                   | j        -                    dE| j@                   | j        -                    dE| jD                   to          j                    | _        | j        -                    d]| j                   |                                  	 |                                  nV# t          j        $ rD}|j        \  }d | _        |                                  t          || j!                   Y d }~nd }~ww xY w|                                  t          | j                  d^k    r| j!                            d_d`           nit          | j                  dDk    r| j!                            dad`           n4t          | j                  d;k    r| j!                            dadb           | j!        k                                 d S )cNr   r   r   F)PrintersWindowhboxMenuBarview_area_vboxview_area_scrolledwindowdests_notebookdests_iconviewbtnAddFirstPrinterbtnStartServicebtnConnectNoServicestatusbarMaintoolbarserver_menubar_itemprinter_menubar_itemview_discovered_printersAboutDialog)ConnectDialogchkEncryptedcmbServername
btnConnect)ConnectingDialoglblConnectingpbarConnecting)NewPrinterNameentDuplicateNamebtnDuplicateOkInstallDialog
lblInstall)rU   rc   rd   rh   rk   rn   )r   r   zdelete-eventprinterz,org.opensuse.cupspkhelper.mechanism.all-editznotify::allowedznotify::permission   PrinterManagerActionGroup)nameconnect-to-serverz_Connect...zChoose a different CUPS serverserver-settingsz_Settings...zAdjust server settingsnew-printer_Printer	new-class_Classquitrename-printer_Renameduplicate-printer
_Duplicatez<Ctrl>ddelete-printerset-default-printerzSet As De_faultedit-printercreate-classz_Create classview-print-queuezView Print _Queueenable-printerE_nabledshare-printer_Sharedfilter-nameNamefilter-descriptionDescriptionfilter-locationLocationfilter-manufacturerzManufacturer / Modelr   )rt   rz   r   r   r   r   r   Ta  
<ui>
 <accelerator action="connect-to-server"/>
 <accelerator action="server-settings"/>
 <accelerator action="new-printer"/>
 <accelerator action="new-class"/>
 <accelerator action="quit"/>

 <accelerator action="rename-printer"/>
 <accelerator action="duplicate-printer"/>
 <accelerator action="delete-printer"/>
 <accelerator action="set-default-printer"/>
 <accelerator action="edit-printer"/>
 <accelerator action="create-class"/>
 <accelerator action="view-print-queue"/>
 <accelerator action="enable-printer"/>
 <accelerator action="share-printer"/>
 <accelerator action="filter-name"/>
 <accelerator action="filter-description"/>
 <accelerator action="filter-location"/>
 <accelerator action="filter-manufacturer"/>
</ui>
Addzlist-add/new-printer
/new-classrS   clickedRefreshzview-refresh)rt   ru   NnewNrz   r   _New)rv   rx   )r   r}   r{   r   Nr   r   r   r   Nr   printer-addedzprinter-modifiedzdialog-canceled
Connection)r   r   r   r   z/usr/lib/systemd         zkey-press-eventzitem-activatedzselection-changedzbutton-press-eventz
popup-menuqueuezdrag-data-getzdialog-closed   i  iY  i     )superr   __init__locale	getlocaleLC_MESSAGESlanguageLC_CTYPEencodingnonfatalExceptionosenviron	setlocaler   printersr    r!   connect_servergetEncryptionconnect_encryptgetUserconnect_usermonitorpopulateList_timersetserversserver_is_publishingchangedupdating_widgets
getWidgetsconfigPACKAGEPlugWindowIdrU   hideget_childrenr   Plugr   	Containerremoveaddset_transient_forshow_allrh   connecton_connectingdialog_deleteWindowset_default_icon_nameedit_permissionr   
Permissionnew_syncr   GError
LockButtonunlock_buttonpolkit_permission_changedrV   
pack_startActionGroupadd_actionsSTOCK_CONNECT_on_connect_activateSTOCK_PREFERENCESon_server_settings_activateSTOCK_PRINTon_new_printer_activateSTOCK_DND_MULTIPLEon_new_class_activate
STOCK_QUITon_quit_activateon_rename_activate
STOCK_COPYon_duplicate_activateSTOCK_DELETEon_delete_activate
STOCK_HOMEon_set_as_default_activateSTOCK_PROPERTIESon_edit_activateon_create_class_activate
STOCK_FINDon_view_print_queue_activateadd_toggle_actionson_enabled_activateon_shared_activateadd_radio_actionson_filter_criterion_changedlist_actionsset_sensitive
get_action	UIManager
ui_managerinsert_action_groupadd_ui_from_stringensure_updateadd_accel_groupget_accel_groupMenuToolButtonbtnNew	set_labelset_icon_nameset_is_importantMenucreate_menu_itemshowattachset_menur_   SeparatorToolItem
ToolButtonrefreshbuttonon_btnRefresh_clickedMenuItemnew_with_mnemonicmenuItemNewSeparatorMenuItemappendr`   set_submenuprinter_context_menura   
jobviewers
newprinterNewPrinterGUInewPrinterGUIon_new_printer_addedon_printer_modifiedon_new_printer_not_addedrc   set_program_nameset_versionVERSIONauthconnr   RuntimeErrorr^   get_context_idstatus_context_idsetup_toolbar_for_search_entrycurrent_filter_textcurrent_filter_modesearch_entryset_drop_down_menupathexistsrH   servicestartrC   	ListStorer   TYPE_PYOBJECTr   PixbufstrmainlistrZ   	set_modelset_column_spacingset_row_spacingset_pixbuf_columnset_text_columnset_tooltip_columnset_has_tooltipdests_iconview_key_press_eventdests_iconview_item_activated dests_iconview_selection_changed!dests_iconview_button_press_eventdests_iconview_popup_menuenable_model_drag_sourcer   ModifierTypeBUTTON1_MASKTargetEntry
DragActionCOPYdests_iconview_drag_data_getr\   on_start_service_clickedr]   r[   printerpropertiesPrinterPropertiesDialogpropertiesDlgon_properties_dialog_closedconnect_signalspopulateList	HTTPErrorargsshow_HTTP_ErrorsetConnectedlenset_default_size)r.   vbox
PlugWindowedit_actionprinter_manager_action_groupactionactnewmenunewprinteritemnewclassitemserver_context_menuaction_nameitemnew_menunpmenues	__class__s                     r   r   zGUI.__init__   s   vt%%(((	>",V-?@@DM",V_==DMM	>#&BJx fmR000",V-?@@DM",V_==DMMM"n..#144 LNN"&D/122$(!uu !&: : : ,_, , ,
0 0 00 0 0 .*,? -  -D  &~E 	 "	/ "	/ "	/H  		-$$&&&&3355a8Dl33JM  !4d;;;NN4   11*===!!!",D 	%%~'+'F	H 	H 	H 	
(()444D# 	'-'8'A'A;CG(O (O$$;    !^..+ ((*;*.*HJ J J 	""$8$($B	D 	D 	D##T%7rJJJ O"=>>> 	%$00$c&7=9I9Iq9::)+ #C$91^;L;Lq12213 :tT9;c4akktT79tT&(3) 	* 	* 	* 	%00!49tT46$cnaooD$"<>!3#3TtT46&:K8L8LtT<>!5ttT24!7?9K9KtT:<#S^Q7J5K5KtT>@3 	 	 	  	%77!4:tT57 $)tT46: 	 	 	 	%66aii0%tQ}-=-=>"D!J--8&a0F.G.GH	9
 d6	8 	8 	8 3??BB 	) 	)F  %((((. 	% 	%F /996BBCt$$$$-**++-I2NNN**	 	 	2 	%%(((++T_-L-L-O-OPPP (++qxx(((!!:...$$d+++(++++^<<0033++\::..111a333aAq111g&&&Y(DEEE$+&&&#/22333 ^..$$a	ll333((.999""It/IJJJ$,---   !hkk$ 	. 	.K e##|55aii@@""D)))#'    2,//5@@+NN..11IILLL&&---- ,,.ABBB8;;) 	# 	#K1<<kJJF**--DIILLLOOT""""$$h///$'HKK!
0 	4 	4K  2,//5@@+NN..11IILLL%,,d3333!--t/HIII #-":"<"<<R


OT%>???


&(@AAA


%t'DEEE 	))&.999$$V^444&&y111	 +D,?@@DII 	 	 	DIII	 "&!3!B!B" " 	++...#% #0  x{{3 	 	K 2<<kJJF**--DKK,,d3337>>,-- 	3 3 5 5D 0 2 2D g&;&/&6&)&)+ +
 	%%dm444..333++R000--q111++Q///..222++D111##%6%)%H	J 	J 	J##%5%)%G	I 	I 	I##%8%)%J	L 	L 	L##%9%)%K	M 	M 	M##\%)%C	E 	E 	E--t/BCCC44c6F6S 8;7J7J7TUWX7Y7Y6Z69n6I		K 	K 	K
 	##_%)%F	H 	H 	H$$i1NOOO (()T5MNNN'')-)E	G 	G 	G /FII""O$($D	F 	F 	F 		4~ 	4 	4 	46DQDIAt233333333		4 	""00#s;;;;$-  1$$00#s;;;;$-  1$$00#s;;; 	  """""sQ   AA1 1BC7'&L L L %r rrBAB BAC/B+:AC*C*AC/c                    | j                                         }|                                }||                    |d          }||k    rj|                    |          }| j                             |ddd           | j                             |d d           | j                             |           n|                    |          }||t          d S )NrS   T      ?Fr   cellstart_editing)
rZ   	get_modelget_iter_first	get_valueget_pathscroll_to_path
set_cursoritem_activated	iter_nextr  )r.   r   modeliterrs   r   s         r   display_properties_dialog_forz!GUI.display_properties_dialog_for%  s    #--00##&&??D!,,Du}}~~t,,#22D$SIII#..T>C / E E E#22D999??D))D  < <r   c                    t          j                    }|                    d           | j                            |d           | j                            |dd           t                      | _        | j                            d| j	                   t          j
                    }|                    | j                   | j                            |d           | j                                         d S )NFr   expandTsearch)r   r  set_drawr_   insertchild_set_propertyToolbarSearchEntryr  r   on_search_entry_searchToolItemr   r   )r.   	separator	tool_items      r   r  z"GUI.setup_toolbar_for_search_entry6  s    ),,	E"""Y+++''HdCCC.11!!8T-HIIILOO	t()))Y+++     r   c                 <    || _         |                                  d S r'   )r  rA  )r.   UNUSEDtexts      r   rq  zGUI.on_search_entry_searchE  s"    #' r   c                 `    |                                 | _        |                                  d S r'   )get_namer  rA  )r.   rv  selected_actions      r   r   zGUI.on_filter_criterion_changedI  s.    #2#;#;#>#> r   c                    |                                 }|                    |          }|                    |d          }|                    |d          }|                                  	 | j                            || j        | j        | j                   d S # t          j
        $ r~}|j        \  }}|                                  t          ||| j                   |t          j        k    r/d | _	        |                                  |                                  Y d }~d S d }~wt"          $ r1 |                                  | j                                         Y d S w xY w)NrS   r   r"   
encryptionparent)r_  get_iterra  desensitise_main_window_widgetsr>  r   r   r   rU   r    IPPErrorrC  sensitise_main_window_widgetsshow_IPP_ErrorIPP_SERVICE_UNAVAILABLErE  rA  r  r   update)	r.   iconviewr   rg  rh  rs   objectrW  ms	            r   r0  z!GUI.dests_iconview_item_activatedM  s   ""%%~~t$$a(($**,,///	##T0C040D,0,? $ A A A A A } 	 	 	VFQ..111Aq$"5666D000 	!!$$$!!$$$FFFFF 	 	 	..111 L"""FF	s   +-B E )A3D"":E E c                 .    |                                   d S r'   r  r.   r1   s     r   r?  zGUI.on_properties_dialog_closedi      **-----r   c                    d| _         | j                                        }|r|                                }nd}|sd S |                                }d}d}d}d}d}	|                                }
|D ]d}|
                    |          }|
                    |d          }|
                    |d          }|j        rd}|j	        rd}nd}|j
        rd}bd}	et          |          }| j                            d                              |dk               | j                            d                              |dk               | j                            d                              |dk    o|            t          j                                                    }|dk    s|| j        |k    rd}nd}| j                            d	                              |           | j                            d
          }|                    |dk    o|            |                                D ]9}t)          |t*          j                  r|                    |dk    o|o|           :|                    |p|            | j                            d          }|                    |dk    o|            |                                D ]9}t)          |t*          j                  r|                    |dk    o|o|	           :|                    |p|	            | j                            d                              |dk    o|            | j                            d                              |dk               d| _         d S )NTFr   rS   /edit-printerr   /duplicate-printer/rename-printer/set-default-printer/enable-printer/share-printer/delete-printer/create-class)r   r   get_permissionget_allowedget_selected_itemsr_  r  ra  
discoveredenabled	is_sharedrF  r   r   r   userdefaultUserDefaultPrintergetdefault_printerget_proxies
isinstancer   CheckMenuItemset_inconsistent
set_active)r.   r  
permissioncan_editpathsany_disabledany_enabledany_discovered
any_sharedany_unsharedrg  r   rh  r  rs   nuserdefset_default_sensitivityrL  widgets                       r   r1  z$GUI.dests_iconview_selection_changedl  s    $'6699
 	!--00HHH 	F++..
""%% 	$ 	$D>>4((D__dA..F??D!,,D  &!%~ $"# $!

#KK""O44BBAFKKK""$899GGaPPP""$566DDF)>)	+ 	+ 	+ 03377::FF_!5!=!=&+##&*#""$:;;II#	% 	% 	% ++->??a!e:N(:;;;((++ 	Q 	QF63#455 Q''Q)O;)O<PPP>=-=>>>++-=>>a!e:N(:;;;((++ 	P 	PF63#455 P''Q)N:)N,OOO>=-=>>>""$566DDE(.(	* 	* 	* 	""O44BBAEJJJ %r   c           	      F    | j                             d d d d d dd           d S Nr   )r  popup_for_device)r.   r  s     r   r3  zGUI.dests_iconview_popup_menu  s6    !22D$d,0!Q	8 	8 	8 	8 	8r   c           	      4   |j         dk    r|                    t          |j                  t          |j                            }|                                }||                                 n|||vrx|                                 |                    |           |                                }|D ]!}t          |          t          j        k    r n"|                    ||d           | j                            d d d d d |j         |j                   dS Nr   F)buttonget_path_at_posintxyr  unselect_allselect_path	get_cellstyper   CellRendererTextrd  r  r  time)r.   r  event
click_pathr  cellsr]  s          r   r2  z%GUI.dests_iconview_button_press_event  s$   <!!113==36==B BJ//22E!%%((((5((%%((($$j111 **--!  DT{{c&::: ;##Zu===%66dD$-15<M M Mur   c                    t          j                    }|j        t          j        k    s*|j        t          j        k    s|j        t          j        k    rI|                                |z  dk    r.| j        	                    d          
                                 dS |j        t          j        k    rI|                                |z  dk    r.| j        	                    d          
                                 dS dS )Nr   r  Tr  F)r    accelerator_get_default_mod_maskkeyvalr   KEY_BackSpace
KEY_DeleteKEY_KP_Delete	get_stater   r   activateKEY_F2)r.   r  r  	modifierss       r   r/  z"GUI.dests_iconview_key_press_event  s    8;;	\S...\S^++\S...oo)+11O&&(9::CCFFF4\SZ''oo)+11O&&(9::CCFFF4ur   c                 F   |dk    r|                                 }|                                }d}|D ]1}	||                    |                    |	          d          dz   z  }2t	          |          dk    r|                    dd|           d S d S t                       d S )Nr   r   rS   
r      )r_  r  ra  r  rF  r   r   )
r.   r  contextselection_datainfo	timestamprg  r  selected_printer_namesr   s
             r   r:  z GUI.dests_iconview_drag_data_get  s    199&&))E//22E%'" F F&OOU^^T%:%:A>>EF&& *++a//""GQ0FGGGGG 0/      r   c                     | j                                         }t          |                                          D ]@}|                    |          }|                    |                    dd                     Ad S )Nr   r   )rZ   get_accessiblerangeget_n_accessible_childrenref_accessible_childset_nameget_text)r.   iv_acciaccs       r   #dests_iconview_set_accessible_namesz'GUI.dests_iconview_set_accessible_names  sy    $336688;;<< 	0 	0A--q11CLL#,,2..////	0 	0r   c                 "   	 t          | j        | j        | j                  | _        | j                            d| j                   d S # t          j        t          j	        f$ r Y d S t          $ r | j                                         Y d S w xY w)Nr|  zproblems-clicked)r   r   r   rU   serverSettingsr   on_problems_button_clickedr    r  rB  r  r   r  )r.   menuitems     r   r   zGUI.on_server_settings_activate  s    
	#"0t7J=A=Q9=9L#N #N #ND '');)-)HJ J J J Jt~. 	 	 	FF 	# 	# 	#L""""""	#s   AA
 
B("BBc                 
   t          | j                  }t                      }| j                            t          d          |z             |rt          d          |z  }nt          d          }| j                            | j        |           | j	        | j
        fD ]}|                    |           dD ]1}| j                            |          }|                    |           2|r#| j        r| j                                         t          j        d| j        | j                  | _        | j                            d| j                   | j                            d| j                   | j                            d	| j                   | j                            d
| j                   | j                            d| j                   t3          j        | j        j                   | j                            | j                   |rV| j                                        r!| j                             | j!                   d S | j                             d            d S | j                             d            d S )NzPrint Settings - %szConnected to %szNot connected)/server-settingsr   r   F)monitor_jobsr"   r}  r   zprinter-eventzprinter-removedzcups-connection-errorzcups-connection-recovered)"boolr    r#   rU   	set_titler   r^   pushr  r   r  r   r   r   r   cleanupMonitorr   r   r   printer_addedprinter_eventprinter_removedcups_connection_errorcups_connection_recoveredr   idle_addrefreshr>  set_monitor_using_polkitr   set_permissionr   )r.   	connectedr"   
status_msgr  rR  rL  s          r   rE  zGUI.setConnected   s   OO	#&&%%a(=&>&>&EFFF 	,,--4JJ?++J 6
CCC{') 	, 	,F  ++++* 	- 	-K _//==F  ),,,, 	:| ($$'''"?151D7;7KM M MDL L  /43EFFFL  /43EFFFL  "3T5IJJJL  "9"&"<> > >L  "="&"@B B BM4</000**DL999 	5y&&)) 9"1143GHHHHH"11488888 --t44444r   c                    | j                                         }|r|                                }nd}| j                            |           | j                            |           dD ]1}| j                            |          }|                    |           2|r|                     | j	                   d S dD ]1}| j                            |          }|                    d           2d S )NT)r   r   )r  r  r  r  r  r  r  F)
r   r  r  r   r   r[   r   r   r1  rZ   )r.   r  rv  r  r  rL  rM  s          r   r   zGUI.polkit_permission_changed0  s   '6699
 	!--00HHH!!8,,,--x888% 	) 	)F/,,f55Cx(((( 	*1143FGGGGG- * * o00&99!!5))))* *r   c                     | j                             d            t          | j                   }|                                 |S r'   )r   discardlistsort)r.   known_serverss     r   
getServerszGUI.getServersK  s?    T"""T\**r   Tc                 v   0 t                      0 j                                        } j                                        }|D ]B}|                    |          }|                    |d          }0                    |           C j        rd} j                            |            j        	                    t          d                     	 t          j         j                   _         j                                         _        n\# t          j        $ rJ}|j        \  }}	t%          ||	 j                   i  _        d  _        |t          j        k    rd}Y d }~nd }~ww xY w j                                          j                            d           |rd  _        ni  _        d  _         j                                        D ]1\  }}
 j                            |
                                           2t3          j                                                    }g }g }g }g } j                            d          }|                    d             j        }t?           j                   dk    rZi }tC          j"         j         tB          j#                  } j$        dk    r8|%                                D ]"}|&                    |          ||         ||<   #n j$        d	k    r@|                                D ]*\  }}
|&                    |
j'                  ||         ||<   +n j$        d
k    r@|                                D ]*\  }}
|&                    |
j(                  ||         ||<   +nY j$        dk    r@|                                D ]*\  }}
|&                    |
j)                  ||         ||<   +ntU                       |} j+        ,                                s*i }|                                D ]\  }}
|
j-        s|
||<   |}t]          |                                          D ]q\  }}
|
j/        r3|
j0        r|1                    |           )|1                    |           ?|
j0        r|1                    |           \|1                    |           r|2                                 |2                                 |2                                 |2                                  j3        4                                 t          d          dft          d          dft          d          dft          d          dft          d          dft          d          dft          d          dft          d          dfd}tj          j6        7                                }||||fD ]I}|s|D ]?}d}||         }|j-        r|j0        rd}nd}n|j0        rd}ntp          j9        :                    |j;                  }|j<        dv r |j=        >                    d          rd}nrd}no|j<        dk    rd}na|j<        dk    rd }nS|j<        d!v rd"}nG|j;        >                    d#          rd"}n*|j;        >                    d$          rd"}n|j<        d%k    rd}||         \  }}tk          j?        tj          j@        jA                  \  }}}	 |B                    ||d          }n# t          jD        $ r d }t          d&fD ]=} 	 t          jG        H                    | |d'          } n# t          jD        $ r Y :w xY w|g	 |B                    d|d          }nN#  t          jG        I                    t          jJ        jK        dd(||          }|L                    d           Y nxY wY nw xY wd }!d }"| j        k    rd)}!n||k    rd*}!|"s|jM        }#|#                    d+g           }$d }%|$D ]:}&|&d,k    r n1|&d-k    rd.}"t          jO        |jP        |&          }'|%|'}%2|'|%k    r|'}%;|%r!|%Q                                }(|%jR        |(         }"|"s	|jS        sd.}"|jT        r}|U                                })|)L                    d           |V                    |)dd|W                                |X                                ddd/d/t          jY        jZ        d0           |)}|!rtk          j?        tj          j@        jA                  \  }}}	 |B                    |!|dz  d          }*|U                                })|*V                    |)dd|*W                                |*X                                ddd/d/t          jY        jZ        d1           |)}n'# t          jD        $ r t          d2|!z             Y nw xY w|"r&tk          j?        tj          j@        jA                  \  }}}	 |B                    |"|dz  d          }+|U                                })|+V                    |)|)W                                dz  |)X                                dz  |+W                                |+X                                |)W                                dz  |)X                                dz  d/d/t          jY        jZ        d1           |)}n'# t          jD        $ r t          d2|"z             Y nw xY w j3        1                    ||||g3           AK j                                        }0 fd4},|\                    |,d             j]        }- j        r( j         s  j3        ^                                s j_        }-n j`        }- ja        dk    p ja        d         d5k    }.d }/|.r+ jb        c                                }.|.st          d6          }/nt          d7          }/ jd        e                    |.            jd        f                    |/            jg        h                    |-            i                                 d S )8NrS   Fzobtaining queue detailsTr  )labelr   r   r   r   r   zNetwork printer (discovered)zi-network-printerzNetwork class (discovered)Printerrp   FaxClasszNetwork printerzNetwork print share)discovered-printerdiscovered-classlocal-printer	local-faxlocal-classipp-printersmb-printernetwork-printerr  r  r  r	  )ippippsr   r
  smbr  hpfaxr  )socketlpddnssdr  zhp:/net/zhpfax:/net/implicitclassr   z.pngr  zemblem-defaultzemblem-favoritezprinter-state-reasonsnonepausedzmedia-playback-pauseg      ?      zNo %s icon available)rowc                 t    |                      |d          }|v rj                            |           d S d S NrS   ra  rZ   r  )rg  r   rh  rv  rs   selected_printersr.   s        r   maybe_selectz&GUI.populateList.<locals>.maybe_select\  sG    ??D!,,D(((#//66666 )(r   r   zService framework not availablez%Cannot start service on remote server)jr   rZ   r  r_  r  ra  r   r    _set_prompt_allowed_begin_operationr   cupshelpersgetPrintersr   
getDefaultr  r  rC  r  rU   r  _end_operationitemsr   r!   r  r  r  r   r   set_propertiesrF  r  recompileIr  keysrl  r  locationmake_and_modelr   rb   
get_activer  r  remoteis_classr
  r  r'  clearr   	IconThemeget_defaulturllibparseurlparse
device_urischemenetloc
startswithicon_size_lookupIconSizeDIALOG	load_iconr   r   iconpathr   r%  new_from_filer   
ColorspaceRGBfillother_attributesstatereasonStateReasonrs   	get_level
LEVEL_ICONr  	rejectingcopy	composite	get_width
get_height
InterpTypeBILINEAR
debugprintforeachDESTS_PAGE_DESTSr`  DESTS_PAGE_NO_PRINTERSDESTS_PAGE_NO_SERVICEr   r"  r8   r\   r   set_tooltip_textrY   set_current_pager  )1r.   prompt_allowedr  rg  r   rh  rs   kill_connectionrW  r  rp   r  local_printerslocal_classesremote_printersremote_classesdelete_actionprinters_setprinters_subsetpatternPRINTER_TYPEthemer   r  r  parsedtipiconresultwhpixbufp
def_emblememblemattrsreasonsworst_reasonreasonrlevelrI  default_emblemother_emblemr  pager8   tooltip_textr  s1   `                                               @r   rA  zGUI.populateListQ  s   EE#6699#--00 	) 	)D>>4((D??D!,,D!!4((((9 	(#OI))>:::I&&*C(D(DEEE+ + 7	 B B (,y';';'>'>$$= + + +Aq!T%8999 "'+$444&*O+ I$$'''I))4000 ! 	DM#'D !]0022 	2 	2MD'LW..00111103377::224EFF$$d$333} ())A-- Oj$":BDAAG'=88(--00 C CD~~t,,80<T0B-C )-AAA%1%7%7%:%: C CMD'~~w|44@0<T0B-C )->>>%1%7%7%:%: C CMD'~~w'788D0<T0B-C )-BBB%1%7%7%:%: C CMD'~~w'=>>J0<T0B-C "$$$*L,77:: 	+ O!-!3!3!6!6 4 4g) 4,3OD)*L!,"4"4"6"677 	2 	2MD'~ 2# 3^%:%:4%@%@%@%@%,,T2222# 2]%9%9$%?%?%?%?$++D1111 	   >??13   <==13  	ll')  hh')  jj')   12213   56613   12213- 2 )),,'&(') H	G H	GH %X  CG CG&%d+$ 4 413_ 4(DD#\22F4EFFF}77!=33K@@ 1#2DD#0DD%//,'11**DDD0*55jAA 40*55mDD 40/993*40d!$!5s|7J!K!KA,"__dAq99FF{ , , ,!F&1 ! !!%.%5%C%CDEAtttFM &N &NF!E#{ ! ! ! D! ~,%*__iA%F%FFF,%.%5%9%99;O;S591a&D &DF"KKOOOOO%,( "
4///!1JJW__!2J @"3E#ii)@"EEG#'L") - -!V++!E!X--%;F$'3V[&II'/+,LL--+,L# @ , 6 6 9 9!-!8!? 4fn 43F# "!;;>>DIIqMMM$$dAq&,&6&6&8&8&:K:K:M:M&'C&/&:&CSJ J J "F I%(%93<;N%O%ONVQI).*ac1)M)M%{{~~&00$12@2J2J2M2M2@2K2K2N2N23Q25s2;2F2O257 7 7 "&; I I I"$:Z$GHHHHHI  E%(%93<;N%O%ONVQE',!Q'G'G%{{~~$..040A0AA0E040B0BQ0F0<0F0F0I0I0<0G0G0J0J040A0AA0E040B0BQ0F03S090D0M03	5 	5 	5 "&; E E E"$:V$CDDDDDE $$664*E$FFFFGCGL #--00	7 	7 	7 	7 	7 	7 	|T*** $9 	A, 3M003332-D,; 7,Q/36 L J -77::	  H#$%F#G#GL !HII ..	::: 11<@@@,,d3330033333s   <D E* A E%%E*"[::^>$\=;^>=]^>]^>]-,^>-A	^8	6^>=^>Bf!f<;f<*Ck!k%$k%c                     | j                             t          |                                pd          dk               d S )Nr   r   )rg   r   rF  get_active_textr.   r  s     r   on_connect_servername_changedz!GUI.on_connect_servername_changed|  s<    %%sF,B,B,E,E,K'L'Lq'PQQQQQr   c                    |                                  }| j        j        r| j        j                                        pt	          j                    }t          j        t                    }| j        	                    |           | j        
                    d           |D ]}| j                            |           | j                                         | j                                                            |           | j                            t	          j                    t          j        k               | j                                                            d           | j                                         | j                            | j                   | j                                        }| j                                         |t
          j        j        k    rd S | j                                        rt	          j        t          j                   nt	          j        t          j                   t	          j                    | _        | j                                                                         }| j!        "                    tG          d          |z             | j$                            | j                   | j$                                         tK          j&        d| j'                   || _(        t	          j)        | j(                   t	          j*        d           t	          j+                    | _,        t[          j.        | j/        | j        f          | _0        d S )Nr   Tz<i>Opening connection to %s</i>(   r   )1r  r>  rp   r!   r    r   r#  r&  rf   r(  set_entry_text_columnappend_textr   	get_childset_textre   r  r   HTTP_ENCRYPT_ALWAYSset_activates_default
grab_focusrd   r   rU   runr   ResponseTypeOKr-  setEncryptionHTTP_ENCRYPT_IF_REQUESTEDr   r  ri   
set_markupr   rh   r   timeout_addupdate_connecting_pbarr   	setServersetUserr   r   _threadstart_new_threadr   connect_thread)r.   r  r   current_serverstoreserverresponse
servernames           r   r   zGUI.on_connect_activate  s   //##,4 A,4>>@@.!^-- 	 s##$$U+++00!444 	3 	3F**62222!!!$$&&//@@@$$d&8&:&:&*&>'? 	@ 	@ 	@ 	$$&&<<dCCC%%(((,,d.ABBB%))++!!!s'***F'')) 	?t78888t=>>>#144'1133<<>>
%%a(I&J&J)3'4 	5 	5 	5//0CDDD""$$$"d9:::(t*+++R LNN%6t|7;7J6LN Nr   c                     d}t          j                     	 | j                            d          sd}n| j                                         t          j                     n# t          j                     w xY w|S )NTvisibleF)r   threads_enterrh   get_propertyrj   pulsethreads_leave)r.   rets     r   r  zGUI.update_connecting_pbar  s|    	!(55yAA -#)),,,    C    
s   6A! !A6c                 0    |                      |           dS )NT)on_cancel_connect_clickedr.   r  r  s      r   r   zGUI.on_connectingdialog_delete  s    &&///tr   c                 F    d| _         | j                                         dS )z
        Stop connection to new server
        (Doesn't really stop but sets flag for the connecting thread to
        ignore the connection)
        N)r  rh   r   rx  s     r   r  zGUI.on_cancel_connect_clicked  s'     #""$$$$$r   Nc                    t          j        | j                   | j        d         dk    rW	 t          j        | j        | j                  }~n4# t          $ r t          j        d           Y n t                       Y nxY w	 t          j        || j        | j                  }n# t          $ r}| j
        t          j                    k    rY d}~dS t          j                     	 | j                                         d| _         |                                  |                                  t'          d||           t          j                     n# t          j                     w xY wY d}~dS d}~wt           j        $ r}|j        \  }}| j
        t          j                    k    rY d}~dS t          j                     	 | j                                         d| _         |                                  |                                  t'          |||           t          j                     n# t          j                     w xY wY d}~dS d}~w t                       Y nxY w| j
        t          j                    k    rdS t          j                     	 | j                                         || _         |                                  |                                  nt# t           j        $ rR}|j        \  }d| _         |                                  |                                  t1          ||           Y d}~nd}~w t                       Y nxY wt          j                     dS )zV
        Open a connection to a new server. Is executed in a separate thread!
        r   r   )r"   r}  r   N)r    r  r   r   r   r   r  r  r   r  r  r  	get_identr   r  rh   r   rE  rA  r  r  r  rC  rB  rD  )r.   r~  
connectionrX  rW  s        r   r   zGUI.connect  s    	T&'''q!S((%!_43F9=9MO O O

 J - - -,,,,,%!$$$$$	!!,V262E8<8LN N NJJ  	 	 	"g&7&9&999666666$%**,,, 	!!###!!###tQ///!####!####FFFFF} 	 	 	VFQ"g&7&9&999666666$%**,,, 	!!###!!###q!V,,,!####!####FFFFF	!     '"3"5"555vv	!!&&((("DI~ 	' 	' 	'6DQDIAv&&&&&&&&	!     s   !A A?.A?!B& &
I#0E1E1&AE?E1E((E11I#&I/IAH0I0III#AK! !M0AL==Mc                     d}|dk    rM	 t          j        d           | j                                         dS # t          $ r |dz  }Y nw xY w|dk    KdS dS )z0Reconnect to CUPS after the server has reloaded.r      N)r  sleepr    _connectr  )r.   attempts     r   	reconnectzGUI.reconnect  sx     ll
1	""%%%   1 lllllls   -9 A
Ac                 8    | j                                          dS )zClose Connect dialogN)ConnectWindowr   rx  s     r   on_btnCancelConnect_clickedzGUI.on_btnCancelConnect_clicked(  s    !!!!!r   c                     | j         D	 t          j        | j                  | _         n# t          $ r Y nw xY w|                                  |                                  d S r'   )r    r  r   rU   r  rE  rA  r.   r  s     r   r  zGUI.on_btnRefresh_clicked.  sr    9$/0CDD		    s   ( 
55c                 n   t          j                    }|| j        k    r*|                                 |                                  d S t          j        | j        | j        |t          d          | j        t          d          t          d          t          d          t          d          	  	         d S )NzSet Default Printerz;Do you want to set this as the system-wide default printer?z'Set as the _system-wide default printerz"_Clear my personal default settingz#Set as my _personal default printer)	r  r  r  r0  rA  UserDefaultPromptset_default_printerr   rU   )r.   rs   r  s      r   "set_system_or_user_default_printerz&GUI.set_system_or_user_default_printer:  s     0334'''MM   F%t'?'+'8'+'()>'?'?'+':'( *L (M (M'( *; (< (<'()M'N'N'()N'O'O
	Q 
	Q 
	Q 
	Q 
	Qr   c                 D   | j         |         }d}| j                            t          d                     	 |                                }n# t          j        $ rB}|j        \  }t          || j                   | j        	                                 Y d }~d S d }~wt          j
        $ rD}|j        \  }}t          ||| j                   | j        	                                 Y d }~d S d }~ww xY w| j        	                                 |r|                                  	 |                                  d S # t          j        $ rX}|j        \  }d | _        |                                  |                                  t          || j                   Y d }~d S d }~ww xY w)NFzsetting default printer)r   r    r   r   setAsDefaultrB  rC  rD  rU   r$  r  r  r  rA  rE  )r.   rs   rp   reloadrW  rX  msgs          r   r  zGUI.set_default_printerO  s   -%	""A&?$@$@AAA	)),,FF~ 	 	 	6DQQ 3444I$$'''FFFFF} 	 	 	vHQ1c4#6777I$$'''FFFFF		 		  ###  	NN	4~ 	4 	4 	46DQDIAt2333333333	4s<   A C/7BC/+9C**C/"D8 8FAFFc                    | j         rt          j        | j                    d | _         | j        r| j                                         t          | j                  dk    r7| j        d                                          t          | j                  dk    7| j        	                                 | j
        	                                 t          j                     | `| `d S r  )r   r   source_remover   r  rF  r  on_delete_eventr>  destroyr  r   	main_quitr'  r   r  s      r   r   zGUI.on_quit_activater  s    " 	9 7888"&< 	$L  ###4?##a''OA..111 4?##a'' 	""%%%""%%%MMMMr   c                     | j         |                             d          }t          |          dk    r3t          t	          d          t	          d          | j                   dS dS )	Nr   limitr   zCannot RenamezThere are queued jobs.r~  FT)r   
jobsQueuedrF  show_error_dialogr   rU   )r.   rs   jobss      r   is_rename_possiblezGUI.is_rename_possible  sm    }T"--Q-77::>>q11 !9::&*&9; ; ; ; 5tr   c           
         | j         |                             d          }t          |          dk    rt          j        | j        ddt          j        j        t          j        j	        t          d                    }|                    t          d                     |                                }|                                 |t          j        j        k    rdS dS )	z
        Renaming deletes job history. So if we have some completed jobs,
        inform the user and let him confirm the renaming.
        r   r  r   TzRenaming will lose historyr~  modaldestroy_with_parentmessage_typebuttonsrw  z;Completed jobs will no longer be available for re-printing.F)r   jobsPreservedrF  r   MessageDialogrU   MessageTypeWARNINGButtonsType	OK_CANCELr   format_secondary_textr  r  r  CANCEL)r.   rs   preserved_jobsdialogre  s        r   rename_confirmed_by_userzGUI.rename_confirmed_by_user  s    
 t,:::CC!##&t/B.258_5L030I-./K-L-L	N N NF ((! -L +M +M N N NZZ\\FNN)000utr   c                 f   | j                                         }|d S |\  }}}|d S t          |          t          j        k    r\| j                                         }|D ]!}t          |          t          j        k    r n"t          |          t          j        k    rd S | j                                         }|                    |          }|                    |d          }	| 	                    |	          sd S | 
                    |	          sd S |                    dd           g }
|
                    |                    d| j                             |
                    |                    d| j                             |
| _        g | _        | j                             ||d           d S )NrS   editableTzediting-startedzediting-canceled)rZ   
get_cursorr  r   r  r  r_  r  ra  r  r  set_propertyr
  r   printer_name_edit_startprinter_name_edit_cancelrename_sigidsrename_entry_sigidsrd  )r.   rv  tupleresr   r]  r  rg  rh  rs   idss              r   r   zGUI.on_rename_activate  s   #..11=F!dD<F;;#...'1144E  ;;#"666E 7T{{c222#--00~~t$$a((&&-- 	F,,d33 	F:t,,,

DLL"3!%!=? ? 	@ 	@ 	@

DLL"4!%!>@ @ 	A 	A 	A #% &&dD99999r   c                    t          dt          |          dt          |                     t          |t          j                  r|                    d| j                  }| j                            ||f           | j	        
                                }|                    |          }|                    |d          }|                    d| j        ||          }| j                            ||f           d S d S )Nzediting-started with cell=z, editable=r   rS   zediting-done)rO  reprr  r   Entryr   printer_name_editingr  r
  rZ   r_  r  ra  printer_name_editing_done)r.   r]  r  r   idrg  rh  rs   s           r   r  zGUI.printer_name_edit_start  s   
4[[[[8___& 	' 	' 	' h	** 
	=!!)T-FGGB$++h^<<<'1144E>>4((D??D!,,D!!."&"@"&. .B $++h^<<<<<
	= 
	=r   c                     |                                 x}}|                    dd          }|                    dd          }|                    dd          }||k    r/t          d|d         z             |                    |           d S d S )Nr   r   # zremoved disallowed character %sr   )r  replacerO  r  )r.   entrynewnameorignames       r   r  zGUI.printer_name_editing  s    "^^---(//#r**//#r**//#r**w9HRLHIIINN7##### r   c                 x   t          t          |                     |                                }t          d|d|           	 |                     ||           |                    d           |                    dd           | j        D ]}|                    |           | j        D ]\  }}|                    |           d S # |                    d           |                    dd           | j        D ]}|                    |           | j        D ]\  }}|                    |           w xY w)Nzedited: z -> Fr  )	rO  r  r  rename_printerstop_editingr  r  
disconnectr  )r.   r  r]  rs   r  r  r1   s          r   r  zGUI.printer_name_editing_done  sh   D$KK   ..##
$$$8999	$w///u%%%z5111( % %$$$$3 $ $R####$ $	 u%%%z5111( % %$$$$3 $ $R####$s   C A.D9c                    t          dt          |          z             |                    d           |                    dd           | j        D ]}|                    |           | j        D ]\  }}|                    |           d S )Nzediting-canceled (%s)Tr  F)rO  r  r  r  r  r  r  )r.   r]  r  r1   s       r   r  zGUI.printer_name_edit_cancel  s    +dDkk9:::4   :u---$ 	! 	!BOOR    / 	  	 GCNNB	  	 r   c                 
    |                                                                  k    rd S 	  j                            | j         j         j                   n\# t          $ r Y nPt          j        $ r?}|j	        \  }}t          || j                                                     Y d }~d S d }~ww xY w                     |          sd S  j                            t          d                      j        j        j        }|s	  j        j                            d                                |          s: j        j                            d            j                                         d S nV# t          j        $ rD}|j	        \  }}t          || j                    j                                         Y d }~d S d }~ww xY w                               r j                                         |s j        j        r	 | j        j        _         j        j                            d           nq# t          j        $ r(}|j	        \  }t1          | j                   Y d }~n?d }~wt          j        $ r*}|j	        \  }}t          || j                   Y d }~nd }~ww xY w j                                                                           d S  j        j        s/ j                                                                           d S |s	  j        j                            d           nq# t          j        $ r(}|j	        \  }t1          | j                   Y d }~n?d }~wt          j        $ r*}|j	        \  }}t          || j                   Y d }~nd }~ww xY w j        |k    rd}	  j        j                                        }nq# t          j        $ r(}|j	        \  }t1          | j                   Y d }~n?d }~wt          j        $ r*}|j	        \  }}t          || j                   Y d }~nd }~ww xY w|r                                  	  j                            |           nq# t          j        $ r(}|j	        \  }t1          | j                   Y d }~n?d }~wt          j        $ r*}|j	        \  }}t          || j                   Y d }~nd }~ww xY w j                                          fd}	                                   j                                        }
|
                    |	d            d S )Nr|  zrenaming printerFTc                 x    |                      |d          }|k    rj                            |           d S d S r  r  )rg  r   rh  rv  rs   new_namer.   s        r   select_new_printerz.GUI.rename_printer.<locals>.select_new_printera  sF    ??D!,,Dx#//66666  r   ) lowerr>  loadr   r   rU   r  r    r  rC  r  rA  r  r   r   rp   rH  setAcceptingr$  duplicate_printerr   r  rs   rB  rD  r  r  r  deletePrinterrZ   r_  rP  )r.   old_namer  rW  r  rH  r  rX  r  r  rg  s   ` `        r   r  zGUI.rename_printer  s@   >>x~~////F	##X*.*=040D,0,? $ A A A A  	 	 	D} 	 	 	VFQAq$"5666   FFFFF		 &&11 	F	""A&8$9$9:::&.8	 	
"*77???..99 &.;;TBBBI,,///F =   6C3(;<<<	((+++	 !!8,, 	L"""  	A!3!; 	AA6>D&.3&.;;TBBBB~ = = =6DQ#Q(;<<<<<<<<} A A A vHQ"AsD,?@@@@@@@@A I$$'''   F!) 	I$$'''   F  		=="*77>>>>> 9 9 9vD$788888888= = = =6C3(;<<<<<<<<= 8++F=+3@@CC> 9 9 9vD$788888888= = = =6C3(;<<<<<<<<=
  "!!!	9I##X....~ 	5 	5 	56DQQ 344444444} 	9 	9 	9vHQAsD$788888888	9
 		  ###	7 	7 	7 	7 	7 	7 	#--00)400000s   -A 
B7*B784B22B7A,E; ;G
9G		G0H? ?J-I11J- J((J-L= =N+M//N+ N&&N+<O Q	*PQ	 QQ	#Q> >S,R00S, S''S,c                     || j         j        _        g | j         j        _        | j                             | j         j        d| j                  }|S )NT)saveallr~  )r>  rp   rs   class_memberssave_printerrU   )r.   r  r  s      r   r  zGUI.duplicate_printerk  sW    *2"'35"0  --d.@.H6:595H . J J 
r   c                 t   | j         }|                                }| j                                         }|                    |d                   }|                    |d          }| j                            |           | j                            | j	                   | j        
                                }| j                                         |t          j        j        k    rd S 	 | j                            || j        | j        | j	                   n\# t&          $ r Y nPt(          j        $ r?}|j        \  }}	t/          ||	| j	                   |                                  Y d }~d S d }~ww xY w|                     | j                                                   | j                                         d S )Nr   rS   r|  )rZ   r  r_  r  ra  rl   r  rk   r   rU   r  r   r   r  r  r>  r  r   r   r  r    r  rC  r  rA  r  r  r   r  )
r.   rv  r  r  rg  rh  rs   re  rW  r  s
             r   r   zGUI.on_duplicate_activateu  s   &++..#--00~~uQx((a((&&t,,,--t/BCCC$((**  """S%,,,F	##T*.*=040D,0,? $ A A A A  	 	 	D} 	 	 	VFQAq$"5666   FFFFF		 	 5 > > A ABBBs   )-D 
E0#E014E++E0c                 P   |                                 }|}|                    dd          }|                    dd          }|                    dd          }||k    r|                    |           | j                            t          j        | j        |                     d S )Nr   r   r  r  )r  r  r  rm   r   r  checkNPNamer   )r.   r  rw  new_texts       r   on_entDuplicateName_changedzGUI.on_entDuplicateName_changed  s      ##C,,##C,,##C,,>>OOH%%%))"4=(;;	= 	= 	= 	= 	=r   c                 .    |                                   d S r'   )delete_selected_printer_queuesr.   rv  s     r   r   zGUI.on_delete_activate  s    ++.....r   c                    | j                                         }| j                                         }g }t          |          }|dk    r|                    |d                   }|                    |d          }|                    |d          }|j        rt          d          |z  }nt          d          |z  }|                    |           nTt          d          }|D ]B}	|                    |	          }|                    |d          }|                    |           Ct          j
        | j        ddt          j        j        t          j        j        |          }
|
                    t          d	          t          j        j        t          d
          t          j        j                   |
                    t          j        j                   |
                                }|
                                 |t          j        j        k    rd S 	 |D ]_}| j                            t          d          |z             | j                            |           | j                                         `nU# t.          j        $ rC}|j        \  }}| j                                         t;          ||| j                   Y d }~nd }~ww xY w| j                                         d S )Nr   r   rS   zReally delete class '%s'?zReally delete printer '%s'?z$Really delete selected destinations?Tr  _Cancel_Deletezdeleting printer %s) rZ   r  r_  rF  r  ra  r/  r   r
  r   r  rU   r  r  r  NONEadd_buttonsr  REJECTACCEPTset_default_responser  r  r    r   r  r$  r  rC  r  r   r  )r.   r  rg  	to_deleter  itrr1   rs   message_formatr   r  re  rW  r  s                 r   r  z"GUI.delete_selected_printer_queues  s   #6699#--00	KK66..%(++C//3**C??C++D| K"#$?"@"@4"G"#$A"B"BT"Id####EFFN ( (nnd++Q//  $''''"$*=)-4030G+.?+?(6	8 8 8
 	AiLL#*:*AiLL#*:*A	C 	C 	C##S%5%<===S%,,,F	8! , ,	**A.C,D,Dt,KLLL	''...	((++++, } 	8 	8 	8vHQI$$'''1c4#677777777	8
 	s   A"I; ;K
9KKc                    | j         rd S |                                }| j        }|                                }|                                }g }|D ]B}|                    |          }|                    |d          }	|                    |	           C|D ]}	| j        	                    t          d          |	j        z             	 |	                    |           n[# t          j        $ rI}
|
j        \  }
}t          j        |
|| j                   | j                                         Y d }
~
 n"d }
~
ww xY w| j                                         | j                                         d S )Nr   modifying printer %s)r   r-  rZ   r  r_  r  ra  r
  r    r   r   rs   
setEnabledr  rC  errordialogsr  rU   r$  r   r  )r.   toggle_actionenabler  r  rg  r   r   r  rp   rW  r  s               r   r   zGUI.on_enabled_activate  s     	F)),,&++..""%% 	& 	&D..$''CoosA..GOOW%%%% 	( 	(GI&&*@(A(AGL(PQQQ""F++++=   A+Q43FGGG	((+++ I$$''''s   CD6->D11D6c                    | j         rd S |                                }| j        }|                                }|                                }g }|D ]B}|                    |          }|                    |d          }	|                    |	           Cd}
|D ]}	| j        	                    t          d          |	j        z             	 |	                    |           d}
nV# t          j        $ rD}|j        \  }}t          ||| j                   | j                                         Y d }~ n"d }~ww xY w| j                                         |
rc|ra| j        F	 |	                                 |	j        d         }|| _        n# t          j        t*          f$ r Y nw xY w|                                  |                                  d S )Nr   Fr  Tzserver-is-sharing-printers)r   r-  rZ   r  r_  r  ra  r
  r    r   r   rs   	setSharedr  rC  r  rU   r$  r   getAttributesrC  KeyErroradvise_publishdefer_refresh)r.   r  sharer  r  rg  r   r   r  rp   successrW  r  ri  s                 r   r   zGUI.on_shared_activate  s     	F##&&&++..""%% 	& 	&D..$''CoosA..GOOW%%%% 	( 	(GI&&*@(A(A*1,)7 8 8 8!!5)))=   Aq!T%8999	((+++ I$$'''' 	#u 	#(0
)),,,01MNA01D--x0   D """
 	s*   
C""D519D00D5(F F F c                 z    | j         s3t          t          d          t          d          | j                   d S d S )NzPublish Shared PrinterszShared printers are not available to other people unless the 'Publish shared printers' option is enabled in the server settings.r  )r   show_info_dialogr   rU   r.   s    r   r  zGUI.advise_publish#  s`    ( 	:a 9:: !B C C &*%8: : : : : :	: 	:r   c                    | j         }|                                }|                                }	 |                    |d                   }n# t          $ r Y d S w xY w|                    |d          }|                     |           d S )Nr   rS   )rZ   r  r_  r  
IndexErrorra  r  )r.   rv  r  r  rg  rh  rs   s          r   r   zGUI.on_set_as_default_activate-  s    &++..""%%	>>58,,DD 	 	 	FF	 a((//66666s   A 
AAc                 z    | j                                         }|                     | j         |d                    d S r  )rZ   r  r0  )r.   rv  r  s      r   r   zGUI.on_edit_activate9  s9    #6699**D,?qJJJJJr   c                    | j                                         }g }| j                                         }|D ]B}|                    |          }|                    |d          }|                    |           C| j                            d| j        | j	        | j
                  s| j                                         d S | j        j                                        }| j        j                                        }	|                                }|e|                    |          }
|                    |d          }|d         |v r*|	                    |           |                    |           |
}|cd S d S )NrS   classr|  r   )rZ   r  r_  r  ra  r
  r  initr   r   rU   r   r  tvNCNotMemberstvNCMembersr`  rf  r  r   )r.   rv  r  r  rg  r   rh  rs   	out_modelin_modelnextdatas               r   r   zGUI.on_create_class_activate=  s   #6699#--00 	( 	(D>>4((D??D!,,D  $''''!&&-1-@373G/3/B ' D D 	 L"""F&5??BB	%1;;>>''**&&--D==$**DAw-''&&&  $'''D r   c                 .   | j                                         }t          |          rg }| j                                         }|D ]B}|                    |          }|                    |d          }|                    |           Ct          j        d d d|| j	                  }|
                    d| j                   n8t          j        d d d| j	                  }|
                    d| j                   | j                            |           d S )NrS   F)my_jobsspecific_destsr~  finished)r0  r~  )rZ   r  rF  r_  r  ra  r
  	jobviewer	JobViewerrU   r   on_jobviewer_exitr  )	r.   rv  r  r1  rg  r   rh  rs   viewers	            r   r   z GUI.on_view_print_queue_activateW  s&   #6699;; 	@N'1144E - -~~t,,a00%%t,,,,($e9G151DF F FF NNJ(>????($e151DF F FFNNJ(>???'''''r   c           	          	 | j                             |          }| j         |= d S # t          $ r8 t          dt	          |          dt	          | j                              Y d S w xY w)Nz"Jobviewer exited but not in list:
r  )r  index
ValueErrorrO  r  )r.   r6  r  s      r   r5  zGUI.on_jobviewer_exitk  s    	L%%v..A""" 	L 	L 	LJ$(&MMMM43I3I3IK L L L L L L	Ls   "& >A('A(c                 .    |                                   d S r'   )rA  r  s     r   $on_view_discovered_printers_activatez(GUI.on_view_discovered_printers_activatet  s    r   c                 X    d| j         vr t          j        | j                  | _        d S d S )Ntroubleshooter)__dict__troubleshootr  on_troubleshoot_quitr=  rx  s     r   on_troubleshoot_activatezGUI.on_troubleshoot_activatew  s3    4=00"."2D4M"N"ND 10r   c                 
    | ` d S r'   )r=  )r.   r=  s     r   r@  zGUI.on_troubleshoot_quit{  s    r   c                    | j                             |           | j                            |           | j                            |           | j                            |           | j                            |           | j                            |           dD ]/}| j                            |                              |           0| 	                    d d            d S )N)z/connect-to-serverr  r   r   r  r  r  r  r  r  r  r  z/filter-namez/filter-descriptionz/filter-locationz/filter-manufacturer)
rZ   r   r   r[   r  rb   r  r   r   r   )r.   	sensitiverL  s      r   r  z!GUI.sensitise_main_window_widgets~  s    ))9555!!9-----y999(()444%33Y???''333/ 	J 	JF  O&&//==yIIII&&d33333r   c                 0    |                      d           d S NFr  r"  s    r   r  z#GUI.desensitise_main_window_widgets      **E22222r   c                     | j                             | j                   | j                                          | j                                          d S r'   )rc   r   rU   r  r   rx  s     r   on_about_activatezGUI.on_about_activate  sL    **D,?@@@r   c                     d| j         vr4t          j        | j        |                                          | _        d S d S )Nr=  r  )r>  r?  r  r@  
get_dialogr=  )r.   serversettingss     r   r  zGUI.on_problems_button_clicked  sN    4=00"."2D4M;I;T;T;W;W#Y #Y #YD 10r   c                 N   | j                             |           | j                            |           | j                            d                              |           | j                            d                              |           |                     d d            d S )Nr   r   )r   r   r[   r   r   r   )r.   rD  s     r   sensitise_new_printer_widgetsz!GUI.sensitise_new_printer_widgets  s    !!9-----y999""N33AA9MMM""L11??KKK&&d33333r   c                 0    |                      d           d S rF  rN  r"  s    r   desensitise_new_printer_widgetsz#GUI.desensitise_new_printer_widgets  rG  r   c                 2   t          | j                   |                                  | j                            d| j        | j        | j                  s-|                                  | j        	                                 t          | j                   d S )Nrp   r|  )r   rU   rQ  r  r(  r   r   rN  r   r  r   r.   r  rv  s      r   r   zGUI.on_new_printer_activate  s    d!""",,///!&&y,0,?262F.2.A ' C C 	# ..111L"""t"#####r   c                     |                                   | j                            d| j        | j        | j                  s/|                                  | j                                         d S d S )Nr'  r|  )	rQ  r  r(  r   r   rU   rN  r   r  rS  s      r   r   zGUI.on_new_class_activate  s    ,,///!&&w,0,?262F.2.A ' C C 	# ..111L"""""	# 	#r   c                 .    |                                   d S r'   rP  r  s     r   r  zGUI.on_new_printer_not_added  r  r   c           
      $   t          d|z             |                                  |                                  || j        vrt          d           d S | j                                        }|                                }||                    |d          }||k    r|                    |          }| j        	                    |ddd           | j        
                                 | j                            |d d           | j                            |           n|                    |          }|| j                            |           | j        j        r`| j        j        j        sO| j        j        j        s>	 |                     | j        || j        j                   n#  t-                       Y nxY w| j        j        r?t/          j        | j        ddt.          j        j        t.          j        j        t;          d	          
          }|                    t.          j        t.          j         j!        t;          d          t.          j         j"                   |#                                }|$                                 |t.          j         j"        k    rm| j        j%        &                                 d}		 | '                    |           d}	n# tP          $ r Y nw xY w|	r$| j        j)        *                                 d S d S d S d S )NzNew printer added: %szNew printer disappearedrS   Tr[  Fr\  ppdz$Would you like to print a test page?r  zPrint Test Page)+rO  rN  rA  r   rZ   r_  r`  ra  rb  rc  r  rd  r  rf  r>  r  rX  rp   r  r.  checkDriverExistsrU   r   r   r  r  QUESTIONr  r
  r   r  STOCK_CANCELr  NOYESr  r  r  r   ri  r  btnPrintTestPager   )
r.   r1   rs   rg  rh  r   r   qr  properties_showns
             r   r  zGUI.on_new_printer_added  sF   +d2333**---t}$$ 1222F #--00##&&OOT1--E}}~~t,,#22D$SIII#00333#..T>C / E E E#//666??D))D  	&&&" 	$#+6	$#+2	$$&&(;T,0,>,B ' D D D D$!##### ! 	C!$*=)-4030H+.?+?()*P(Q(Q	S S SA
 MM3+S-=-@.//1A1EG G GuuxxHIILLL3+///")..111#( 66==='+$$#   D $ C&7??BBBBB/	C 	C 0/C Cs   'F+ +F=K 
K'&K'c                 |    |                     d           | j                            | j        | j                   d S )NFrE   )r   r"  r>   on_start_service_replyr  s     r   r;  zGUI.on_start_service_clicked  sP    e$$$t/J/3/J 	  	L 	L 	L 	L 	Lr   c                 :    t          j        d| j                   d S )Nr   )r   timeout_add_secondsservice_started_try)r.   rC  s     r   rb  zGUI.on_start_service_reply  s     !T%=>>>>>r   c                     t          j                     	 |                     d            t          j                     n# t          j                     w xY wt	          j        d| j                   dS r  )r   r  r  r  r   rd  service_started_retryr"  s    r   re  zGUI.service_started_try  sl    	!&&---    C     !T%?@@@us	   > Ac                     | j         sot          j                     	 |                     d            | j                            d           t          j                     n# t          j                     w xY wdS )NTF)r    r   r  r  r\   r   r  r"  s    r   rg  zGUI.service_started_retry'  sw    y 	%   %**D111$22D999!$$$$!$$$$us   /A A4c                    t          j                    }| j        dk    s| j        d         dk    sdS |s	 | j                             |          }nS# t           j        $ rA}|j        \  }}|t           j        k    rY d}~dS |                     ||           Y d}~dS d}~ww xY wt          j        |          }t          j
        |           t          j        |          \  }}	t          |          dk    st          |	          dk    rLd}
t          |          dk    r	 t          j                    }d}
n#  Y nxY w|
rt          |          dk    r|d         }dt!          d          z   d	z   t!          d
          ||fz  z   }| j        }| j                            |           |                    |           |                                }|                                 |t.          j        j        k    r"	 |                    dd|           dS #  Y dS xY wdS t7          t!          d          t!          d          ||	|z   d         fz  |           dS dS )zCheck that the driver for an existing queue actually
        exists, and prompt to install the appropriate package
        if not.

        ppd: cups.PPD object, if already createdr   r   r   NFTz"<span weight="bold" size="larger">zInstall driverz	</span>

zGPrinter '%s' requires the %s package but it is not currently installed.zMissing driverzwPrinter '%s' requires the '%s' program but it is not currently installed.  Please install it before using this printer.)r    r!   r   getPPDr  rC  IPP_NOT_FOUNDr  PPDr   unlinkr!  missingPackagesAndExecutablesrF  installpackage
PackageKitr   rn   ro   r  r   r  r   r   r  r  InstallPackageNamer  )r.   r~  rs   rX  r  filenamerW  r  pkgsexescan_installpkpkginstall_textr  r  s                   r   rY  zGUI.checkDriverExists2  s    ""#{22#A&#--F  	 	9++D11=   6C***FFFFF''3///FFFFF (8$$CIh"@#FFt::>>S$ZZ!^^KDzzA~~'255B"&KKD +sDzzA~~1g D !"2 3 3!46C!D ! #C !D !D#'+!.!.
 +**<888((&111!::==s/222--q!S99999 32 "1%5#6#6#$ &0 $1 $1 %)%)D[!$4$6	$6 $*+ + + + +; ,^s5   A B B?BB D5 5D97H Hc                 X   t          d|z             | j                            |           | j        j        r	 |                     | j        j        || j        j                   n#  t                       Y nxY w	 | j        j        d         }|                                ct          d           |	                                 | j        j
                            |           | j                            | j                   d S d S # t          $ r Y d S  t                       Y d S xY wd S )NzPrinter modified by user: %srW  mediazInvalid media option: resetting)rO  r>  r  rX  rY  r  r   server_side_optionsget_current_valueresetr   r   r  rp   r  )r.   r1   rs   ppd_has_changedoptions        r   r  zGUI.on_printer_modifiedw  s]   2T9::: 	&&&! 	$$&&(:(A(,$2D2H ' J J J J$!#####
$+?H++..6 ABBBLLOOO&.22F;;;&33T\BBBBB	 76
    $!######+	$ 	$s   ,A' 'A9=BD 
D'D'c                       fd} j         rt          j         j                    t          j        d|           _         t	          d           d S )Nc                      d  _         t          j                     	                      d           t          j                     n# t          j                     w xY wdS NF)rV  )r   r   r  rA  r  r"  s   r   deferred_refreshz+GUI.defer_refresh.<locals>.deferred_refresh  sb    &*D#   %!!%!888!$$$$!$$$$5s   A A   zDeferred populateList by 200ms)r   r   r  r  rO  )r.   r  s   ` r   r  zGUI.defer_refresh  sh    	 	 	 	 	 " 	9 7888"&"2C9I"J"J455555r   c                 .    |                                   d S r'   )r  r"  s    r   printer_added_or_removedzGUI.printer_added_or_removed  s    r   c                 .    |                                   d S r'   r  r.   monrp   s      r   r  zGUI.printer_added      %%(((((r   c                     || j         v rH | j         |         j        di | |                     | j                   |                                  d S d S )Nr   )r   r  r1  rZ   r  )r.   r  rp   	eventnamer  s        r   r  zGUI.printer_event  sf    dm##)DM'")33U3331143FGGG)),,,,, $#r   c                 .    |                                   d S r'   r  r  s      r   r  zGUI.printer_removed  r  r   c                 h    d | _         |                                  |                     d           d S r  )r    rE  rA  r.   r  s     r   r  zGUI.cups_connection_error  s8    	%00000r   c                 V    t          d           t          j        | j                   d S )NzTrying to recover connection)rO  r   r  re  r  s     r   r  zGUI.cups_connection_recovered  s*    2333t/00000r   )Tr'   )[r?   r@   rA   r    IPP_PRINTER_IDLEr   IPP_PRINTER_PROCESSINGIPP_PRINTER_BUSYIPP_PRINTER_STOPPEDprinter_statesrQ  rR  rS  r   ri  r  rq  r   r0  r?  r1  r3  r2  r/  r:  r  r   rE  r   r  rA  ry  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   r5  r;  rA  r@  r  r  rI  r  rN  rQ  r   r   r  r  r;  rb  re  rg  rY  r  r  r  r  r  r  r  r  __classcell__)rY  s   @r   rN   rN      se       ,aaii2AAlOO,aaii/9@N
 n# n# n# n# n#`  "! ! !      8. . .F& F& F&P8 8 8  &  &! ! !0 0 0# # #.5 .5 .5`* * *6  g4 g4 g4 g4V	R R R0N 0N 0Nd    % % %I I I IV  $" " "	 	 	Q Q Q*4 4 4F   $    ,!: !: !:F= = = $ $ $$ $ $     p1 p1 p1h    >
= 
= 
=/ / /- - -`  :/ / /b: : :
7 
7 
7K K K  4( ( ((L L L  O O O     4 4 4 463 3 3     Y Y Y4 4 4 43 3 3	$ 	$ 	$# # #. . .?C ?C ?CDL L L
? ? ?  	 	 	C+ C+ C+ C+J$ $ $<6 6 6"  
) ) )- - -) ) )1 1 1
1 1 1 1 1 1 1r   rN   c                    t          j        t          j                            dt          j                                         t          j                     ddlm	}  |d           | r:t          j        d d d| g          }|                    dt          j                   nt                      }t          j                     	 t          j                     t          j                     d S # t          j                     w xY w)	N	CUPS_USERr   )DBusGMainLoopT)set_as_defaultF)r0  r1  r2  )r    r  r   r   r  r   r   threads_init	dbus.glibr  r3  r4  r   r   r  rN   r  mainr  )	show_jobsr  r6  
mainwindows       r   r  r    s    L"*..+t|~~>>???''''''M$'''' $dD%6?[B B B
CM2222UU



s   C/ /D__main__)z	embedded=debugz
show-jobs=z--debugTz--show-jobsz
--embedded)`r   sysr   r  r'  r  r(   girequire_versiongi.repositoryr   r   r   r   r(  argvr  rW  r   exitr   StyleManagerr2  set_color_schemeColorSchemePREFER_LIGHTr   rF  r    requireppdSetConformancePPD_CONFORM_RELAXEDr   r   r   Errorr   gettextinstallr   r   r!  r   r   guir   r  urllib.requestr3  urllib.parseurllib.errorr?  ro  r3  r  r   r  r  rL  r   rp  SearchCriterionrD  r  r   r   r<  	ppdippstr
pkgdatadirpkgdatar   joinr>  r
  rI  r   set_prgnamer#   r%   rC   rH   rN   r  r?   getopt
gnu_getoptoptsrC  GetoptErrorr  optoptargset_debuggingset_debugprint_fnrO  r  r   r   r   <module>r     s  2                    				Bx'''$$$$$$$FFF  ; & & & # # # # # #	Bue$$$!!!!!!Bue$$$!!!!!!CHch   	E#Q'''	ELMMMCHaLLLLLLLL
	Bw$$$######EJLLL	""$$55e6G6TUUUU	D= = = 3sx==??sx{h..ILLLCHaLLL  h     0 1 1 1 )FfmR((((| ) ) )BJxFfmR((((()  v~1A B B B B     ! ! ! ! ! !                 1 1 1 1 1 1 1 1 1 1 1 1                           ) ) ) ) ) )                     " " " " " " " "         	   

7<<(++    
  ( ) ) )  9 9 9 9 9 9 9 9*1 1 1 1 1| 1 1 1	5 	5 	5 	5 	5, 	5 	5 	5T 1 T 1 T 1 T 1 T 1& T 1 T 1 T 1l@  & zMMM&V&b)C )C )CD D
dd    	! I ' 'V)M4   )K):6666M!!I,3v;;LDOOOOO- sS   : A AB C$'CCAD6 6D:-G *G10G1'$M $M32M3