;ò
\µa@c           @   sN  d  k  Z  d  k Z d  k Z d e i j o e i i d ƒ n d Z d k l Z l Z d  k i	 Z	 e	 i
 e ƒ d „  Z d  k Z y, e i e i d d d d g ƒ \ Z Z Wn* e i j
 o e ƒ  e i d ƒ n Xe Z xV e D]N Z e d	 d
 j o e ƒ  e i d	 ƒ n e d	 d j o e d Z qê qê Wd  k Z y e i ƒ  Wn6 e j
 o* e i i e d ƒ ƒ e i d ƒ n Xd  k Z d  k Z d  k Z d  k Z d  k Z d  k  Z d  k! Z! d  k" Z" d  k# Z# d  k$ Z$ d  k% Z% d  k& Z& d  k' Z' d  k( Z( e i) i* e ƒ e i+ d e' i, ƒ d Z- y  e i) i. e- d d e ƒZ/ Wn e i) i. d d e ƒZ/ n Xe i0 i1 e i0 i2 ƒ Z3 e i0 i1 e i0 i4 ƒ Z5 d „  Z6 d f  d „  ƒ  YZ7 e o{ e i8 d ƒ o d GHe i d ƒ n e7 d d ƒ Z9 e9 i: ƒ  e9 i$ i; d e ƒ e9 i$ i< i= d ƒ o e i> ƒ  qJn e7 ƒ  d  S(   Ns   /usr/share/printconf/utils	   printconf(   s   _s   N_c           C   s	   d GHd  S(   Ns˜   usage: system-config-printer [OPTIONS]

Options:
 --add-with-url URL  Add a new printer described by URL
 --help              Display this usage message(    (    (    (    s&   /usr/share/printconf/util/queueTree.pys   help_message"   s    i   s    s   add-with-url=s   helpi    s   --helps   --add-with-urls&   You must be root to run this program.
s   system-config-printers   /usr/share/printconf/s   gui/system-config-printer.glades   domains   system-config-printer.gladec         C   sV   t  i |  d t  i t  i | ƒ } | i |  ƒ | i t  i	 ƒ | i
 ƒ  | i ƒ  d S(   s   Put up an error dialog.i    N(   s   gtks   MessageDialogs   windows   MESSAGE_ERRORs
   BUTTONS_OKs   msgs   ds   set_transient_fors   set_positions   WIN_POS_CENTER_ON_PARENTs   runs   destroy(   s   windows   msgs   d(    (    s&   /usr/share/printconf/util/queueTree.pys   complaina   s     !
s	   queueTreec           B   sU  t  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z 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 e d „ Z e h  e e e d „ Z d „  Z d „  Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ d# „  Z% RS($   s   The main queue tree window.i    c         C   s.  | |  _  t i i t i i t i i t i i t i i t i i	 g |  _ |  i i
 t i i ƒ |  _ d d d d d d g |  _ t d „  |  i ƒ |  _ d |  _ t |  _ t |  _ t i d	 ƒ |  _ |  i i t d
 ƒ t i ƒ  d ƒ | o |  i i ƒ  n t i } t i ƒ  o! |  i  ƒ  t i! ƒ  t i" } n t i d ƒ t i d ƒ t i d ƒ t i d ƒ t i d ƒ t i d ƒ t i d ƒ g |  _# t i d ƒ t i d ƒ t i d ƒ g |  _$ t i d ƒ |  _% t i& d t i' ƒ o |  i% i( t i ƒ n t i d ƒ |  _) t i& d t i' ƒ o |  i) i( t i ƒ n t d „  |  i# ƒ t d „  |  i$ ƒ |  i i* d |  i+ ƒ t i, d |  i- ƒ t i, d |  i. ƒ t i, d |  i. ƒ t i, d |  i/ ƒ t i, d  |  i0 ƒ t i, d! |  i1 ƒ t i, d" |  i1 ƒ t i, d# |  i1 ƒ t i, d$ |  i2 ƒ t i, d% |  i3 ƒ t i, d& |  i4 ƒ t i, d' |  i5 ƒ t i, d( |  i5 ƒ t i, d) |  i5 ƒ t i, d* |  i6 ƒ t i, d+ |  i6 ƒ t i, d, |  i6 ƒ t i, d- |  i7 ƒ t i, d. |  i7 ƒ t i, d/ |  i8 ƒ t i, d0 |  i8 ƒ t i, d1 |  i9 ƒ t i, d2 |  i: ƒ t i, d3 |  i; ƒ xE d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? g D] } t i, | |  i< ƒ qpWt i= t i> i? t@ t@ tA iB t i> i? ƒ |  _C |  iC iD d t iE ƒ t i d@ ƒ |  _F |  iF iG |  iC ƒ t iH t dA ƒ t iI ƒ  dB d ƒ} | iK t i" ƒ | iD d ƒ |  iF iL | ƒ t iH t dC ƒ t iM ƒ  dD dE ƒ} |  iF iL | ƒ t iH t dF ƒ t iM ƒ  dD d ƒ} |  iF iL | ƒ t iH t dG ƒ t iI ƒ  dB dH ƒ} | iK t i" ƒ | iD dH ƒ |  iF iL | ƒ h  |  _N xv dI dJ f dK dL f dM dN f dO dP f dQ dR f dS dT f dU dV f g D]/ \ } } t i> iP dW tQ | f ƒ |  iN | <qNW|  iN dJ iR ƒ  |  iN dX <|  iN dX iS d ƒ tT iT |  t ƒ |  _T tU iU |  t ƒ |  _U tV iV |  t ƒ |  _V |  iW ƒ  |  _X |  iY ƒ  |  iZ | ƒ | o t i[ ƒ  n d  S(Y   Ns   printconf-local-printer.htmls   printconf-ipp-printer.htmls   printconf-lpd-printer.htmls   printconf-smb-printer.htmls   printconf-ncp-printer.htmls    printconf-jetdirect-printer.htmlc         C   s   |  i S(   N(   s   xs	   type_name(   s   x(    (    s&   /usr/share/printconf/util/queueTree.pys   <lambda>|   s    i    s   queueTreeWindows   Printer configuration - %si   s   edit_buttons   delete_buttons
   edit_queues   delete_queues   pop_edits
   pop_deletes   pop_sharings   default_buttons   set_as_defaults   pop_set_as_defaults	   cups_tests!   /usr/share/cups/data/testprint.pss	   jpeg_tests)   /usr/share/gimp-print/samples/profile.jpgc         C   s   |  i t i ƒ S(   N(   s   xs   set_sensitives   gtks   FALSE(   s   x(    (    s&   /usr/share/printconf/util/queueTree.pys   <lambda>¤   s    s   destroys   on_quit_activates   on_new_button_clickeds   on_new_queue_activates   on_queue_view_cursor_changeds    on_queue_view_button_press_events   on_edit_button_clickeds   on_edit_queue_activates   on_pop_edit_activates   on_queue_view_row_activateds   on_queue_view_row_expandeds   on_queue_view_row_collapseds   on_default_button_clickeds   on_set_as_default_activates   on_pop_set_as_default_activates   on_delete_button_clickeds   on_delete_queue_activates   on_pop_delete_activates   on_apply_activates   on_apply_button_clickeds   on_sharing_activates   on_pop_sharing_activates   on_import_ppd_activates   on_queueTreeWindow_delete_events   on_browse_help_activates   on_cups_test_activates   on_letter_ps_test_activates   on_a4_ps_test_activates   on_ascii_test_activates   on_euc_test_activates   on_jis_test_activates   on_sjis_test_activates   on_euc_ps_test_activates   on_jis_ps_test_activates   on_sjis_ps_test_activates   on_duplex_test_activates   on_jpeg_test_activates
   queue_views
   Queue names   texts   Shareds   pixbufi   s   Defaults   Descriptioni   s   printer-D.pngs   printer-defaults   printer-DS.pngs   printer-default-statics   printer-DO.pngs   printer-default-overriddens   printer-S.pngs   printer-statics   printer-O.pngs   printer-overriddens   printer-shared.pngs   printer-shareds   printer-unshared.pngs   printer-unshareds	   %s/gui/%ss   empty(\   s   hiddens   selfs   printconf_confs   queue_typess   locals   ipps   lpds   smbs   ncps	   jetdirects   indexs   smb_page_indexs   queue_type_help_pagess   maps   queue_type_namess   foomatic_readys   Nones   default_iters   confs   xmls
   get_widgets   toplevels	   set_titles   _s   oss   unames   show_alls   gtks   FALSEs   importeds   cups_imports   import_neededs   use_foomatics   import_cups_queuess   TRUEs   local_queue_widgetss   existing_queue_widgetss	   cups_tests   accesss   R_OKs   set_sensitives	   jpeg_tests   connects   destroys   signal_connects   quits   new_button_clickeds   queue_chosens   button_presseds   edit_button_clickeds   row_activateds   row_expandeds   row_collapseds   default_button_clickeds   delete_button_clickeds   applys   sharing_button_clickeds   import_ppd_activates   deletes   browse_helps   tests	   TreeStores   gdks   Pixbufs   strs   gobjects   TYPE_PYOBJECTs   queue_stores   set_sort_column_ids   SORT_ASCENDINGs
   queue_views	   set_models   TreeViewColumns   CellRendererTexts   cols   set_resizables   append_columns   CellRendererPixbufs   pixbufs   names   pixbuf_new_from_files   pkgdatas   copys   fills   addQueues	   editQueues
   shareQueues   get_active_spoolers   active_spoolers   populate_trees   need_to_apply_changess   mainloop(   s   selfs   hiddens   importeds   tests   cols   name(    (    s&   /usr/share/printconf/util/queueTree.pys   __init__l   sÌ    	?			$	

]-	
	
	
	
	
	
	
	
	
	
	
+ 	F '
c         C   s|   t  i  t  i t  i ƒ t i d ƒ } xB | i ƒ  D]4 } | i d ƒ o | i	 d ƒ d i
 ƒ  } Pq2 q2 W| i ƒ  | Sd S(   s1   Find out which print spooler is currently active.s&   /usr/sbin/alternatives --display prints    link currently points tos   .i   N(   s   signals   SIGCHLDs   SIG_DFLs   oss   popens   fs	   readliness   ls
   startswiths   splits   strips   whichs   close(   s   selfs   fs   ls   which(    (    s&   /usr/share/printconf/util/queueTree.pys   get_active_spooler  s      	
c         G   sí   |  i oØ t i |  i d t i t i t d ƒ ƒ } | i	 t d ƒ t i
 ƒ | i	 t d ƒ t i ƒ | i	 t d ƒ t i ƒ | i ƒ  } | i ƒ  | t i j p | t i j o t i Sn | t i j o |  i ƒ  qâ n t i Sd S(   s=   Callback for the window being deleted.  Ask for confirmation.i    sG   Do you want to save the changes
you made to your printer configuration?s   _Don't saves   _Cancels   _SaveN(   s   selfs
   need_applys   gtks   MessageDialogs   toplevels   MESSAGE_QUESTIONs   BUTTONS_NONEs   _s   sures
   add_buttons   RESPONSE_NOs   RESPONSE_CANCELs   RESPONSE_YESs   runs   responses   destroys   RESPONSE_DELETE_EVENTs   TRUEs   applys   FALSE(   s   selfs   argss   sures   response(    (    s&   /usr/share/printconf/util/queueTree.pys   delete'  s     

 c         G   s   t  i ƒ  d  S(   N(   s   gtks   mainquit(   s   selfs   args(    (    s&   /usr/share/printconf/util/queueTree.pys   destroy>  s    c         G   s    |  i ƒ  o |  i ƒ  n d  S(   N(   s   selfs   deletes   destroy(   s   selfs   args(    (    s&   /usr/share/printconf/util/queueTree.pys   quitA  s    c   	      C   sö  |  i i ƒ  \ |  _ |  _ |  i i ƒ  |  _ |  i } | i	 ƒ  xœ|  i i
 ƒ  D]‹} |  i | } | d } | i t ƒ } | i | d | ƒ y | i | d | d i ƒ Wn n X| i | d | ƒ d } y  x | d D] } d } PqÞ WWn n X|  i i | d	 |  i | ƒ | |  i j o[ d
 } | d o
 d } n | d o
 d } n |  i i | d |  i | ƒ | |  _ qP | d o! |  i i | d |  i d ƒ qP | d o! |  i i | d |  i d ƒ qP qP Wt |  _ |  i ƒ  d S(   s;   Fill in the queue treeview from the existing configuration.s   queuei   i   s   queue_descriptioni   s   printer-unshareds   sharings   printer-sharedi   s   printer-defaults   editables   printer-default-statics   overrides   printer-default-overriddeni    s   printer-statics   printer-overriddenN(   s   selfs   confs
   get_queuess	   name_dicts
   alias_dicts   get_default_queue_names   default_queue_names   queue_stores   stores   clears   keyss   names
   queue_dicts   queues   appends   Nones   iters	   set_values   values   shareds   alloweds   pixbufs   default_iters   browsed_iters   populate_browsed_queues(	   s   selfs   names   pixbufs   iters   queues   alloweds   shareds
   queue_dicts   store(    (    s&   /usr/share/printconf/util/queueTree.pys   populate_treeH  sR     	
 
 	

	c         C   s  |  i d j o d Sn y t i ƒ  } Wn d Sn X| o d Sn |  i }
 |  i oA x> |
 i |  i ƒ o& |
 i	 |  i d ƒ } |
 i | ƒ q\ Wn h  } xm| i ƒ  D]_}	 yó | |	 d oÃ | |	 d } |  i i |	 ƒ ož x› |
 D] } |
 i | i ƒ } |
 i | d ƒ } | |	 j oX | o
 | d j o | | |	 <| } n |  i | d d i } |
 i | d	 | ƒ Pqí qí Wqˆn |	 |  i i ƒ  j o w­ n Wn
 q­ n X|  i i |	 ƒ o q­ n |  i oe |
 i t ƒ |  _ |
 i |  i d |  i d
 ƒ |
 i |  i d t d ƒ ƒ |
 i |  i d	 d ƒ n |
 i |  i ƒ } d
 } |	 |  i j o
 d } n |
 i | d |  i | ƒ |
 i | d |	 ƒ |
 i | d	 d ƒ y |
 i | d	 | |	 d ƒ Wn n Xy* | |	 o |
 i | d	 | |	 ƒ n Wq­ q­ Xq­ W| |  _ d S(   se   Update the list of browsed queues.  Also displays error messages
        for any queue that has them.s   cupsNi    s   printer-state-messagei   s   Ready to print.s   queues   queue_descriptioni   s   emptys   Browsed queuess    s   printer-defaults   printer-location(    s   selfs   active_spoolers   pycupss
   get_queuess   cups_queuess   queue_stores   stores   browsed_iters   iter_has_childs   iter_nth_childs   iters   removes   errorss   keyss   eachs   errs	   name_dicts   has_keys   rows   get_iters   paths   is	   get_values   names   descriptions   values	   set_values   appends   Nones   pixbufs   _s   default_queue_name(   s   selfs   errorss   names   errs   is   cups_queuess   descriptions   pixbufs   iters   eachs   stores   row(    (    s&   /usr/share/printconf/util/queueTree.pys   populate_browsed_queuesz  s|     	
   


c         C   sW   yI |  i i t i ƒ |  i i i t ƒ x t i ƒ  o t i	 ƒ  q, WWn n Xd S(   s    Set the main window insensitive.N(
   s   selfs   toplevels   set_sensitives   gtks   FALSEs   windows
   set_cursors   busy_cursors   events_pendings   mainiteration(   s   self(    (    s&   /usr/share/printconf/util/queueTree.pys   busyÌ  s      c         C   s8   y* |  i i i t ƒ |  i i t i ƒ Wn n Xd S(   s   Set the main window sensitive.N(   s   selfs   toplevels   windows
   set_cursors   ready_cursors   set_sensitives   gtks   TRUE(   s   self(    (    s&   /usr/share/printconf/util/queueTree.pys   readyÖ  s     c         C   sØ   |  i oÉ t i d ƒ } t i d ƒ } | i t d ƒ ƒ | i |  i	 ƒ |  i
 o | i t i ƒ n | i t i ƒ | i ƒ  t i i ƒ  x t i ƒ  o t i ƒ  q” W|  i i ƒ  | i ƒ  d |  _ n d S(   so   Demand-load the foomatic database.  If it is already loaded,
        this does nothing; otherwise it is loaded.s
   waitDialogs
   wait_labels+   Loading printer information.
Please wait...i   N(   s   selfs   foomatic_readys   xmls
   get_widgets   waits
   wait_labels   set_texts   _s   set_transient_fors   toplevels   hiddens   set_positions   gtks   WIN_POS_CENTERs   WIN_POS_CENTER_ON_PARENTs   show_nows   gdks   window_process_all_updatess   events_pendings   mainiterations   confs   foomatic_init_overviews   hide(   s   selfs
   wait_labels   wait(    (    s&   /usr/share/printconf/util/queueTree.pys   use_foomaticá  s"     

 
c         C   sª   | o d |  _ n
 d |  _ t i d ƒ i | ƒ t i d ƒ i | ƒ |  i i ƒ  i ƒ  \ } } | } | p | i | ƒ o t i } n t i d ƒ i | ƒ d S(   s   Called to set button sensitivity.  If true is zero everything
        is up to date, otherwise changes have been made that have not been
        applied yet.i   i    s   apply_buttons   applys   testN(   s   trues   selfs
   need_applys   xmls
   get_widgets   set_sensitives
   queue_views   get_selections   get_selecteds   stores   iters   tests_availables   iter_has_childs   gtks   FALSE(   s   selfs   trues   iters   tests_availables   store(    (    s&   /usr/share/printconf/util/queueTree.pys   need_to_apply_changesù  s     	c            s¦   | i ƒ  i ƒ  \ } } |  i | ƒ ‰ t ‡ d †  |  i	 ƒ |  i
 | ƒ ‰  t ‡  d †  |  i ƒ t i d ƒ i |  i o | i | ƒ ƒ ˆ  o |  i ƒ  n d S(   sx   Called when a queue has been chosen.  All of the widgets that
        act on an existing queue are made sensitive again.c            s   |  i ˆ  ƒ S(   N(   s   xs   set_sensitives	   is_normal(   s   x(   s	   is_normal(    s&   /usr/share/printconf/util/queueTree.pys   <lambda>  s    c            s   |  i ˆ  ƒ S(   N(   s   xs   set_sensitives   is_local(   s   x(   s   is_local(    s&   /usr/share/printconf/util/queueTree.pys   <lambda>  s    s   testN(   s   treeviews   get_selections   get_selecteds   stores   iters   selfs   is_normal_queues	   is_normals   maps   existing_queue_widgetss   is_local_queues   is_locals   local_queue_widgetss   xmls
   get_widgets   set_sensitives
   need_applys   iter_has_childs   populate_browsed_queues(   s   selfs   treeviews   is_locals   iters   stores	   is_normal(    (   s   is_locals	   is_normals&   /usr/share/printconf/util/queueTree.pys   queue_chosen  s     

+c         C   sª   t  i |  i d t  i t  i t d ƒ ƒ } | i ƒ  } | i
 ƒ  | t  i j o d Sn |  i i | ƒ d } | |  i j o
 d } n t i t d |  i | ƒ d Sd S(   sL   Called to make an imported queue editable.  Returns zero
        on success.i    sD   This is an imported printer. Do you want to create a local override?i   s   printer-overriddens   printer-default-overriddenN(   s   gtks   MessageDialogs   selfs   toplevels   MESSAGE_INFOs   BUTTONS_YES_NOs   _s   overrides   runs   responses   destroys   RESPONSE_YESs   confs   override_queues   names   pixbufs   default_queue_names   stores	   set_values   iter(   s   selfs   names   pixbufs   overrides   response(    (    s&   /usr/share/printconf/util/queueTree.pys   make_queue_editable  s     

c         C   s,   |  i } | i | d ƒ o d Sn d Sd  S(   Ni   i   i    (   s   selfs   queue_stores   stores	   get_values   iter(   s   selfs   iters   store(    (    s&   /usr/share/printconf/util/queueTree.pys   is_local_queue2  s    	c         C   s   |  i } | i | ƒ Sd  S(   N(   s   selfs   queue_stores   stores   iter_has_childs   iter(   s   selfs   iters   store(    (    s&   /usr/share/printconf/util/queueTree.pys   is_normal_queue8  s    	c         G   s/   |  i ƒ  |  i ƒ  |  i i ƒ  |  i ƒ  d S(   s   New button handler.N(   s   selfs   busys   use_foomatics   addQueues   addQueueDruids   populate_browsed_queues(   s   selfs   args(    (    s&   /usr/share/printconf/util/queueTree.pys   new_button_clicked?  s
     

c         G   sß   |  i i ƒ  i ƒ  \ } } |  i | ƒ o d Sn | i | d ƒ } |  i	 | } | d o |  i | ƒ o d Sq{ n |  i ƒ  |  i ƒ  |  i i | ƒ o/ |  i t i ƒ |  i i ƒ  \ |  _	 |  _ n |  i ƒ  d S(   s   Edit button handler.Ni   s   editable(   s   selfs
   queue_views   get_selections   get_selecteds   stores   iters   is_normal_queues	   get_values   names	   name_dicts
   queue_dicts   make_queue_editables   busys   use_foomatics	   editQueues   editQueueDialogs   need_to_apply_changess   gtks   TRUEs   confs
   get_queuess
   alias_dicts   populate_browsed_queues(   s   selfs   argss   names   iters
   queue_dicts   store(    (    s&   /usr/share/printconf/util/queueTree.pys   edit_button_clickedI  s     

c         C   sñ   |  i } | i | ƒ } |  i | ƒ o | i | ƒ oC | i	 | ƒ o | i
 | ƒ n |  i ƒ  | i | d ƒ d Sn | | i d ƒ j o |  i ƒ  nM | | i d ƒ j o |  i ƒ  n) | i | ƒ d j o d Sn |  i ƒ  d S(   s   Handle double-clicks in the tree view.  In the status column
        treat a double-click as 'set as default'; otherwise edit the
        queue.i    Ni   i   (   s   selfs   queue_stores   stores   get_iters   paths   iters   is_local_queues
   iter_depths   views   row_expandeds   collapse_rows   populate_browsed_queuess
   expand_rows   columns
   get_columns   sharing_button_clickeds   default_button_clickeds   edit_button_clicked(   s   selfs   views   paths   columns   iters   store(    (    s&   /usr/share/printconf/util/queueTree.pys   row_activated`  s      	"
c         C   sM   y |  i o d  Sn Wn d |  _ n X|  i ƒ  | i | d ƒ |  ` d  S(   Ni   i    (   s   selfs   expanding_rows   populate_browsed_queuess   views
   expand_rows   path(   s   selfs   views   iters   path(    (    s&   /usr/share/printconf/util/queueTree.pys   row_expanded{  s    

c         C   s   |  i |  i ƒ d  S(   N(   s   selfs   need_to_apply_changess
   need_apply(   s   selfs   views   iters   path(    (    s&   /usr/share/printconf/util/queueTree.pys   row_collapsed†  s    c         G   sÞ   |  i i ƒ  i ƒ  \ } } | i | d ƒ } | |  i j o d Sn |  i	 i
 | ƒ | i | d |  i d ƒ |  i o! | i |  i d |  i d ƒ n | |  _ | |  _ |  i t i ƒ |  i | ƒ o |  i ƒ  n d S(   s   Default button callback.i   Ni    s   printer-defaults   empty(   s   selfs
   queue_views   get_selections   get_selecteds   stores   iters	   get_values   names   default_queue_names   confs   set_default_queue_names	   set_values   pixbufs   default_iters   need_to_apply_changess   gtks   TRUEs   is_local_queues   populate_browsed_queues(   s   selfs   argss   names   iters   store(    (    s&   /usr/share/printconf/util/queueTree.pys   default_button_clicked  s     
!		c         G   s'  |  i d |  i ƒ |  i i ƒ  i ƒ  \ } } | oe |  i | ƒ oK | i	 | d ƒ } |  i | } | d o |  i | ƒ o d SqŒ q– qš t } n |  i i | ƒ o |  i t i ƒ n |  i ƒ  d } y+ x$ |  i | d d D] } d } Pqê WWn n X|  i i | d	 |  i | ƒ d S(
   s   Sharing button callback.s   cupsi   s   editableNs   printer-unshareds   queues   sharings   printer-sharedi   (   s   selfs   spooler_warn_unlesss   toplevels
   queue_views   get_selections   get_selecteds   stores   iters   is_normal_queues	   get_values   names	   name_dicts
   queue_dicts   make_queue_editables   Nones
   shareQueues   shareQueueDialogs   need_to_apply_changess   gtks   TRUEs   populate_browsed_queuess   shareds   alloweds   queue_stores	   set_values   pixbuf(   s   selfs   argss   names   iters   alloweds   shareds
   queue_dicts   store(    (    s&   /usr/share/printconf/util/queueTree.pys   sharing_button_clicked¢  s.     

 	c         G   s€  |  i i ƒ  i ƒ  \ } } |  i | ƒ o d Sn | i | d ƒ } |  i	 i
 |  i | d ƒ |  i	 i ƒ  \ |  _ |  _ |  i	 i ƒ  |  _ | i | ƒ |  i i | ƒ o— |  i | } | i t ƒ } | i | d | ƒ | |  i j oT | d o | i | d |  i d ƒ qA| d o t | d |  i d ƒ qAqEn |  i ƒ  t d	 „  |  i ƒ |  i t i ƒ |  i ƒ  d S(
   s   Delete button callback.Ni   s   queues   editablei    s   printer-statics   overrides   printer-overriddenc         C   s   |  i t i ƒ S(   N(   s   xs   set_sensitives   gtks   FALSE(   s   x(    (    s&   /usr/share/printconf/util/queueTree.pys   <lambda>à  s    (   s   selfs
   queue_views   get_selections   get_selecteds   stores   iters   is_normal_queues	   get_values   names   confs   delete_queue_and_fix_defaults	   name_dicts
   get_queuess
   alias_dicts   get_default_queue_names   default_queue_names   removes   has_keys
   queue_dicts   appends   Nones	   set_values   pixbufs   store_set_values   fix_default_markers   maps   existing_queue_widgetss   need_to_apply_changess   gtks   TRUEs   populate_browsed_queues(   s   selfs   argss   names   iters
   queue_dicts   store(    (    s&   /usr/share/printconf/util/queueTree.pys   delete_button_clickedÄ  s0     	
	
c         C   s{   |  i } | i ƒ  } x_ | oW | i | d ƒ |  i j o( | |  _ | i | d |  i	 d ƒ Pn | i
 | ƒ } q Wd S(   s   Fix up 'default' marker.i   i    s   printer-defaultN(   s   selfs   queue_stores   stores   get_iter_firsts   iters	   get_values   default_queue_names   default_iters	   set_values   pixbufs	   iter_next(   s   selfs   iters   store(    (    s&   /usr/share/printconf/util/queueTree.pys   fix_default_markeræ  s     	 	c         C   s%  | i ƒ  |  i i | | ƒ } | i ƒ  t	 d ƒ } d } | d t	 d ƒ d 7} | | i i d d ƒ 7} | d 7} d }	 |	 d t	 d	 ƒ d 7}	 |	 | i i d d ƒ 7}	 |	 d 7}	 t i t d
 t i t i | ƒ } t i ƒ  }
 |
 i ƒ  |
 i d ƒ |
 i | ƒ |
 i ƒ  t i ƒ  } | i |
 ƒ | i  d d ƒ t i! ƒ  } | i# i$ | ƒ | i% | ƒ t i ƒ  } | i ƒ  | i d ƒ | i |	 ƒ | i ƒ  t i ƒ  } | i | ƒ | i  d d ƒ t i! ƒ  } | i# i$ | ƒ | i% | ƒ | i) t i* ƒ | i# i+ ƒ  | i, ƒ  | i- ƒ  d S(   s`   Show the printer/driver notes.  This is a helper function,
           used by the other modules.s&   Notes from the Linux Printing Databasesf   <HTML><HEAD><META CONTENT="text/html; charset=UTF-8" HTTP-EQUIV="Content-Type"><BODY BGCOLOR="white">
s   <H3>s   Printer notes:s   </H3>
s   ens    s   </BODY></HTML>
s   Driver notes:i    s	   text/htmli  iÈ   iX  N(.   s   callers   busys   selfs   confs   foomatic_printer_driver_lookups   ids   drivers   notess   readys   _s   messages   source1s   printer_comments_dicts   gets   source2s   driver_comments_dicts   gtks   MessageDialogs   Nones   MESSAGE_INFOs
   BUTTONS_OKs   dialogs   gtkhtml2s   Documents   html1s   clears   open_streams   write_streams   close_streams   Views   view1s   set_documents   set_size_requests   ScrolledWindows   window1s   vboxs
   pack_starts   adds   html2s   view2s   window2s   set_positions   WIN_POS_CENTERs   show_alls   runs   hide(   s   selfs   ids   drivers   callers   view1s   view2s   window1s   window2s   notess   source2s   html1s   html2s   source1s   dialogs   message(    (    s&   /usr/share/printconf/util/queueTree.pys
   show_notesõ  sR     








c         C   s}  |  i i i i ƒ  } | i ƒ  y | i | i d ƒ ƒ Wn n X| i	 d t
 d ƒ ƒ t i ƒ  } xD | D]< } t i | ƒ } | i | ƒ | i ƒ  | i t i ƒ ql W| i t i ƒ | i | ƒ d | d <| oA | d i |  i i i i j o! | d d i |  i i i i j oA | d d i } |  i i i | i } | i | i | ƒ ƒ n | i | i d ƒ ƒ | Sd S(	   s  
        Populate optionmenu with a list of manufacturer's names.
        If queue is also given, the history is set to the appropriate
        manufacturer.  This is a helper function, used by other modules.

        Returns a list corresponding to the menu items.
        s   Generici    s&   Generic (click to select manufacturer)s   filter_types   filter_datas   mf_types
   printer_idN(    s   selfs   confs   foomatics   make_model_dict_dicts   keyss   mfr_lists   sorts   pops   indexs   inserts   _s   gtks   Menus   mfr_menus   mfrs   MenuItems   menuitems   adds   shows   set_sensitives   TRUEs
   optionmenus   set_menus   queues   values   driverss   filter_types   mf_types   ids   id_dicts   makes   set_history(   s   selfs
   optionmenus   queues   mfr_menus   mfrs   menuitems   mfr_lists   id(    (    s&   /usr/share/printconf/util/queueTree.pys   populate_mfr_optionmenu)  s0     
 

Kc         C   s"  | o0 | i t ƒ x  t i ƒ  o t i ƒ  q Wn t } | }
 | i ƒ  |  i i i } | o/ | d i | i j o | d d i | i j o7 | d d i }
 | o |  i i i |
 i } qÌ n | o | o |  i i i | i } n | o
 d } n | d j o	|  i i i } | i t ƒ } | i | d | i ƒ | i | d | t f ƒ | o/ | d i | i j o | d d i | i j o
 | } n |  i i i } | i t ƒ } | i | d | i ƒ | i | d | t f ƒ | o | d i | i j o
 | } qn |  i i i } |  i i i | i ƒ  }	 |	 i! ƒ  x„ |	 D]| } | i t ƒ } | i | d | ƒ |  i i i | | i } | i | d | | f ƒ | | | <| |
 j o
 | } qVqVWd „  } | i% d t i& ƒ | i' d | ƒ | o | i t( ƒ n | Sd	 S(
   ss  
        Set up the printer model tree.  This is a helper function,
        used by the other modules.

        store:            TreeStore to populate
        queue (optional): Current queue
        id_dict (opt):    Dictionary of foomatic IDs to populate
        mfr (opt):        Manufacturer to list models for
        id (opt):         Foomatic ID to select
        s   filter_types   filter_datas   mf_types
   printer_ids   Generici    i   c         C   s,   t  i |  i | d ƒ |  i | d ƒ ƒ Sd  S(   Ni    (   s   pycupss
   model_sorts   stores	   get_values   iter_as   iter_b(   s   stores   iter_as   iter_b(    (    s&   /usr/share/printconf/util/queueTree.pys   model_sort_func•  s    N()   s   windows
   set_cursors   busy_cursors   gtks   events_pendings   mainiterations   Nones   selectable_iters   ids	   select_ids   stores   clears   selfs   confs   driverss   foomatics   ds   queues   values   filter_types   mf_types   mfrs   id_dicts   makes   texts   appends   iters	   set_values   labels   raws   make_model_dict_dicts   keyss   modelss   sorts   models
   iter_models   model_sort_funcs   set_sort_column_ids   SORT_ASCENDINGs   set_sort_funcs   ready_cursor(   s   selfs   stores   queues   id_dicts   mfrs   ids   windows   models   ds   modelss	   select_ids   model_sort_funcs   iters
   iter_models   selectable_iter(    (    s&   /usr/share/printconf/util/queueTree.pys   populate_model_storeT  sb      
9
9

 
	c         C   st   |  i | j o d Sn t d ƒ |  i } t i | d t i t i	 | ƒ } | i t i ƒ | i ƒ  | i ƒ  d S(   sV   Warn that the option about to be modified doesn't apply
        to the active spooler.NsV   You are changing an option
that has no effect in the print
spooler you are using (%s).i    (   s   selfs   active_spoolers   spoolers   _s   msgs   gtks   MessageDialogs   windows   MESSAGE_WARNINGs
   BUTTONS_OKs   ds   set_positions   WIN_POS_CENTERs   runs   destroy(   s   selfs   spoolers   windows   ds   msg(    (    s&   /usr/share/printconf/util/queueTree.pys   spooler_warn_unless¡  s     
c         G   s  |  i ƒ  t i d ƒ } t i d ƒ } | i t d ƒ ƒ | i |  i	 ƒ | i
 t i ƒ | i ƒ  t i i ƒ  x t i ƒ  o t i ƒ  qu W|  i i ƒ  |  i i ƒ  } | i ƒ  |  i ƒ  | oB t i |  i	 d t i t i t d ƒ ƒ } | i ƒ  | i ƒ  n |  i t i ƒ d S(   s%   Save changes and restart lpd service.s
   waitDialogs
   wait_labels    Applying changes.
Please wait...i    s   Failed to write queues.N(    s   selfs   busys   xmls
   get_widgets   waits
   wait_labels   set_texts   _s   set_transient_fors   toplevels   set_positions   gtks   WIN_POS_CENTER_ON_PARENTs   show_nows   gdks   window_process_all_updatess   events_pendings   mainiterations   confs   save_queuess   restart_lpds   successs   hides   readys   MessageDialogs   MESSAGE_ERRORs
   BUTTONS_OKs   bads   runs   destroys   need_to_apply_changess   FALSE(   s   selfs   argss   successs   bads
   wait_labels   wait(    (    s&   /usr/share/printconf/util/queueTree.pys   apply³  s.     

 


c         C   s  |  i i ƒ  } | i ƒ  \ }
 } |
 i | ƒ o d Sn |
 i | d ƒ } | i ƒ  i ƒ  i | ƒ } d d d d d d d	 d
 d d d d d d d g | } | i ƒ  d i ƒ  i d d ƒ } | d d j o
 | } n t d | } |  i d ƒ \ } } } |  i ƒ  t i d ƒ |  i ƒ  |  i i | | ƒ } | o] |  i | ƒ t i  |  i! d t i" t i# t$ d ƒ | | f | ƒ } | i& ƒ  | i' ƒ  nvt i  |  i! d t i( t i) t$ d ƒ | | f ƒ } | i& ƒ  } | i' ƒ  |  i | ƒ \ } } } | t i. j o| | } t0 | ƒ } | i2 | ƒ | i3 | ƒ } | i5 ƒ  t i  |  i! d t i( t i# t$ d ƒ ƒ } t i7 ƒ  }	 | i9 i: |	 ƒ t i; ƒ  } t i= ƒ  } | i? | ƒ | i@ | ƒ | iA t iB ƒ | iC t iB ƒ |	 iD | ƒ | iE ƒ  | i& ƒ  | i' ƒ  n |  iF ƒ  d S(   s$   Send a test page to the print queue.Ni   s!   /usr/share/cups/data/testprint.pss   ----separator----s   testpage.pss   testpage-a4.pss   testpage.ascs   testpage.eucs   testpage.jiss   testpage.sjiss   testpage.big5s   test-euc.pss   test-jis.pss   test-sjis.pss   test-big5.pss
   duplex.ascs)   /usr/share/gimp-print/samples/profile.jpgi    s   _s    s   /s   tests/s   debugs/   There was a problem sending %s
to '%s' queue:

s*   Sent %s
to '%s' queue.  Does it look okay?s5   Here are the messages that appeared in the error log:(G   s   selfs
   queue_views   get_selections	   selections   get_selecteds   stores   iters   iter_has_childs	   get_values   names   menuitems
   get_parents   get_childrens   indexs   pages	   get_labels   replaces   labels   testfiles   pkgdatas   set_cups_loglevels   loglevels   lognames   errorlog_starts   busys   times   sleeps   readys   confs   print_test_pages   errs   gtks   MessageDialogs   toplevels   MESSAGE_ERRORs
   BUTTONS_OKs   _s   bads   runs   destroys   MESSAGE_INFOs   BUTTONS_YES_NOs   dones   responses   xs   errorlog_ends   RESPONSE_NOs   errorlog_sizes   files   errorlogs   seeks   reads   datas   closes   dialogs   ScrolledWindows   windows   vboxs
   pack_starts   TextViews   textviews
   TextBuffers   buffers   set_texts
   set_buffers   set_editables   FALSEs   set_cursor_visibles   adds   show_alls   populate_browsed_queues(   s   selfs   menuitems	   selections   dones   errorlog_sizes   errorlog_starts   indexs   errorlog_ends   labels   windows   stores   buffers   datas   responses   names   errs   loglevels   errorlogs   iters   bads   lognames   textviews   dialogs   xs   pages   testfile(    (    s&   /usr/share/printconf/util/queueTree.pys   testÓ  sh     7"








c      
   C   s  |  i d j o d d d f Sn d } d } d } d } d	 }
 y t |
 ƒ i ƒ  } Wn g  } n Xx† t
 t | ƒ ƒ D]r } | | }	 |	 i | ƒ o( |	 t | ƒ i ƒ  } d
 | | | <n |	 i | ƒ o |	 t | ƒ i ƒ  } qx qx Wd } | d j o? y1 t i | ƒ \
 } } } } } } } } } } Wq@q@Xn | d j o? y1 t i | ƒ \
 } } } } } } } } } } WqŒqŒXn | | | f Sd S(   s}   Set the LogLevel setting in cupsd.conf, and return a tuple of
        the old setting, the error log file name, and its size.s   cupss    s	   /dev/nulli    s	   LogLevel s   infos	   ErrorLog s   /var/log/cups/error_logs   /etc/cups/cupsd.confs   LogLevel %s
s   debugN(   s   selfs   active_spoolers   loglevel_keywords   oldlevels   errorlog_keywords   errorlogs   cupsd_conf_filenames   files	   readliness	   cupsdconfs   ranges   lens   is   lines
   startswiths   strips   levels   sizes   oss   stats   x(   s   selfs   levels   loglevel_keywords   is   errorlogs	   cupsdconfs   errorlog_keywords   oldlevels   xs   lines   cupsd_conf_filenames   size(    (    s&   /usr/share/printconf/util/queueTree.pys   set_cups_loglevel#  sB     
 
1 1c         C   s   t  i d |  i i i ƒ d  S(   Ns   file://%s/index.html(   s   gnomes   url_shows   selfs   confs   printconf_help_dir(   s   selfs   menuitem(    (    s&   /usr/share/printconf/util/queueTree.pys   browse_help[  s    c         C   sJ   | i d j o d Sn t i d ƒ } | i t t t | i | i ƒ d S(   s(   Activate the pop-up menu on right-click.i   Ns
   queuePopup(   s   events   buttons   xmls
   get_widgets   popups   Nones   time(   s   selfs   views   events   popup(    (    s&   /usr/share/printconf/util/queueTree.pys   button_pressedb  s
     c         C   s:  t  i ƒ  } | i t  i ƒ x(t  i o| i ƒ  } | t  i j o d GH| i	 ƒ  d Sn | i
 ƒ  } yZ t | ƒ } | i ƒ  } | i d ƒ o, t |  i t d ƒ | ƒ | i	 ƒ  d Sn PWq t j
 oG }	 |	 i t i j o+ t i i | d ƒ d }
 | i |
 ƒ qBq t |  i t d ƒ ƒ | i	 ƒ  d Sq Xq W| i	 ƒ  d „  } t } t } xX | i" ƒ  D]J } | i d ƒ o | | ƒ } qs| i d	 ƒ o | | ƒ d
 } qsqsW| o
 d } n | o
 d } n | i | d ƒ o | d t$ | ƒ } n d } xI | d j o; d | } d | } t i i( | ƒ o Pn | d 7} qWt | d ƒ i) d | d | d | d d d g ƒ | t i* d <t i+ d | ƒ d j ob t  i, |  i d t  i- t  i. t d ƒ ƒ }
 |
 i/ |  i ƒ |
 i0 t  i1 ƒ |
 i ƒ  |
 i	 ƒ  n t |  i t d ƒ ƒ d S(   s   Import PPD.s   Bye!Ns   *PPD-Adobe:s#   '%s' does not look like a PPD file.s   /s"   File cannot be opened for reading.c         C   sC   |  i d ƒ } | d j o d Sn |  d | i ƒ  i d ƒ Sd  S(   Ns   :iÿÿÿÿs    i   s   "'(   s   ss   finds   offsets   strip(   s   ss   offset(    (    s&   /usr/share/printconf/util/queueTree.pys   ppd_val”  s    s   *Manufacturer:s   *ShortNickName:s    (PPD)s   [PPD]s    i   i    s   ppd%ds,   /usr/share/foomatic/db/source/printer/%s.xmls   ws   <printer id="printer/%s">s     <make>%s</make>s     <model>%s</model>s"     <functionality>A</functionality>s     <driver>ppd</driver>s
   </printer>s   PPDs$   /usr/sbin/foomatic-ppdload "$PPD" %ss   PPD imported.s   PPD import failed.(2   s   gtks   FileSelections   selectors   set_select_multiples   FALSEs   TRUEs   runs   responses   RESPONSE_OKs   destroys   get_filenames   filenames   files   fs   readlines   line1s
   startswiths   complains   selfs   toplevels   _s   IOErrors   es   errnos   EISDIRs   oss   paths   dirnames   ds   completes   ppd_vals   Nones   mfrs   mdls	   readliness   ls   lens   ns   ids   ps   existss
   writeliness   environs   systems   MessageDialogs   MESSAGE_INFOs
   BUTTONS_OKs   set_transient_fors   set_positions   WIN_POS_CENTER_ON_PARENT(   s   selfs   imgmenuitems   mdls   ppd_vals   mfrs   ids   line1s   filenames   selectors   es   ds   fs   ls   ns   ps   response(    (    s&   /usr/share/printconf/util/queueTree.pys   import_ppd_activateo  s€      

	
	

	 

 

4
(&   s   __name__s
   __module__s   __doc__s   __init__s   get_active_spoolers   deletes   destroys   quits   populate_trees   populate_browsed_queuess   busys   readys   use_foomatics   need_to_apply_changess   queue_chosens   make_queue_editables   is_local_queues   is_normal_queues   new_button_clickeds   edit_button_clickeds   row_activateds   row_expandeds   row_collapseds   default_button_clickeds   sharing_button_clickeds   delete_button_clickeds   fix_default_markers
   show_notess   Nones   populate_mfr_optionmenus   populate_model_stores   spooler_warn_unlesss   applys   tests   set_cups_loglevels   browse_helps   button_presseds   import_ppd_activate(    (    (    s&   /usr/share/printconf/util/queueTree.pys	   queueTreei   sF    ¬					2	R	
								
						"	"		4+M		 	P	8		s   smb:s:   Only smb: URLs are supported by --add-with-url at present.s   hiddens   urls   visible(?   s   gettexts   syss   times   paths   appends   domains   rhpl.translates   _s   N_s	   translates
   textdomains   help_messages   getopts   argvs   optionss   argss   errors   exits   Nones   add_with_urls   eachs   printconf_confs   init_queue_edit_or_dies   IOErrors   stderrs   writes   errnos   oss   signals   gnome.uis   gnomes   gtks	   gtk.glades   gtkhtml2s   gobjects   cups_imports   addQueues	   editQueues
   shareQueues   printconf_versions   pycupss   glades   bindtextdomains   program_inits   versions   pkgdatas   XMLs   xmls   gdks   Cursors   WATCHs   busy_cursors   LEFT_PTRs   ready_cursors   complains	   queueTrees
   startswiths   toplevels   use_foomatics   addQueueDruids   windows   get_propertys   mainloop("   s   pkgdatas   domains   eachs   addQueues   gtkhtml2s   printconf_versions   help_messages	   editQueues
   shareQueues   errnos   gtks   gettexts   cups_imports   N_s	   translates   busy_cursors   xmls   add_with_urls   argss   syss   toplevels   printconf_confs   getopts   complains   _s   pycupss   ready_cursors   gnomes   signals   times	   queueTrees   gobjects   oss   options(    (    s&   /usr/share/printconf/util/queueTree.pys   ?   sŠ   					, 																ÿ ÿ ÿ ÿ b
