
    Kc8                     V    d dl mZ d dlZd dl mZ d dlmZ ddlT  G d de          ZdS )	    )GtkN)GObject)TimedOperation   )*c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	ChooseNetworkPrinterc                    t                               | |d           |                     t          d          t          d                    }t	          j                    }t	          j        t          d          t	          j                    d          }t	          j        t          d          t	          j                    d          }t	          j        t          d	          t	          j                    d
          }|                    dd           |                    dd           |                    dd           |	                    |           |	                    |           |	                    |           |
                    d           t	          j                    }|                    t          j        j        t          j        j                   |                    t          j        j                   |                    |           |                    |ddd           || _        |                    ||            d S )NzChoose network printerzChoose Network PrinterzPlease select the network printer you are trying to use from the list below. If it does not appear in the list, select 'Not listed'.Namer   )textLocationr   Information   	resizableT)Question__init__initial_vbox_r   TreeViewTreeViewColumnCellRendererTextset_propertyappend_columnset_rules_hintScrolledWindow
set_policy
PolicyType	AUTOMATICset_shadow_type
ShadowTypeINadd
pack_starttreeviewnew_page)selftroubleshooterpage1tvnamelocationinfosws           E/usr/share/system-config-printer/troubleshoot/ChooseNetworkPrinter.pyr   zChooseNetworkPrinter.__init__   s   41IJJJ!!1%=#>#>#$ &< $= $=> >
 \__!1V99#&#7#:#:D D D%q}}'*';'>'>QH H H!1]#3#3#&#7#:#:D D D;---{D111;---
$
(###
$
4   ""
s~/1IJJJ
CN-...
"dD!,,,-----    c                    | j         j        }|d         rdS |                    dd          sdS |d         }t          j        t
          t
          t
          t          j                  }|| _        | j	        
                    |           |                    d           }|                    |dt          d          ddd	dd
d	  	         | j                                         }	 t          t           j        d|i|          | _        | j                                        }t          |j        |          | _        | j                                        }d }g }	|                                D ]\  \  }
}}|
||
d|}n|
}|2t          |j                  | _        | j                                        }|
|vrt          d          }t          d          }nN||
         }|                    dt          d                    }|                    dt          d                    }|	                    ||||f           |	                    d            |	D ]9\  }}}}|                    d           }|                    |d|d|d	|d
|	  	         :n0# t           j        $ r Y nt           j        $ r Y nt4          $ r Y nw xY wdS )Ncups_queue_listedFremote_server_cupsremote_server_try_connectr   z
Not listedr    r      host)kwargsparent)r8   /Unknownzprinter-infozprinter-locationc                     | d         S )Nr    )xs    r.   <lambda>z.ChooseNetworkPrinter.display.<locals>.<lambda>o   s
    1Q4 r/   )keyT)r'   answersgetr   	ListStorestrr   TYPE_PYOBJECTmodelr$   	set_modelappendsetr   
get_windowr   cups
ConnectionoprungetDestsitemsgetPrinterssort	HTTPErrorIPPErrorRuntimeError)r&   r@   serverrE   iterr8   cdestsprinters
dests_listr*   instancedestqueuer,   r+   printers                    r.   displayzChooseNetworkPrinter.display:   s   %-&' 	5{{0%88 	545s""&46 6 
'''||T""		4AlOOQAr1a@@@$//22*	$do.4f-=-35 5 5DG A$aj@@@DGGKKNNEHJ*/++.. B B& x$<''+ttXX6EE E#,am<<DG#w{{~~Hx''Y<<D ||HH&tnG";;~q||DDD&{{+=q||LLH!!E8T4#@AAAAOOO000/9 J J+xt||T**		4E1h4DIIIIJ ~ 	 	 	D} 	 	 	D 	 	 	D	 ts   !F1J K $K 4	K ?K c                 F    | j                             d|          | _        d S )Nzcursor-changed)r$   connect	signal_id)r&   handlers     r.   connect_signalsz$ChooseNetworkPrinter.connect_signals}   s     ..0@'JJr/   c                 D    | j                             | j                   d S N)r$   
disconnectrb   r&   s    r.   disconnect_signalsz'ChooseNetworkPrinter.disconnect_signals   s       $.11111r/   c                 j    | j                                                                         \  }}|dS dS )NFT)r$   get_selectionget_selected)r&   rE   rV   s      r.   can_click_forwardz&ChooseNetworkPrinter.can_click_forward   s4    m1144AADDt<5tr/   c                 D   | j         j                            dd          si S | j                                                                        \  }}|si S |                    |d          }|dk    r  G d d          }d ||          j        dS d||j        |j	        d	S )
Nr2   Fr5   r   c                       e Zd Zd Zd ZdS )7ChooseNetworkPrinter.collect_answer.<locals>.enum_destsc                 J    g | _         |                    | j        d            d S rf   )rX   foreacheach)r&   rE   s     r.   r   z@ChooseNetworkPrinter.collect_answer.<locals>.enum_dests.__init__   s%    !#DJMM49d33333r/   c                     |                     |d          }|r(| j                            |j        |j        f           d S d S )Nr5   )	get_valuerX   rG   r*   r[   )r&   rE   pathrV   	user_datar\   s         r.   rs   z<ChooseNetworkPrinter.collect_answer.<locals>.enum_dests.each   sO     ??D!44D G
))DIt}+EFFFFFG Gr/   N)__name__
__module____qualname__r   rs   r<   r/   r.   
enum_destsrp      s7        4 4 4G G G G Gr/   r{   )remote_cups_queue_listedremote_cups_dests_availableT)r|   remote_cups_destremote_cups_queueremote_cups_instance)
r'   r@   rA   r$   rk   rl   ru   rX   r*   r[   )r&   rE   rV   r\   r{   s        r.   collect_answerz#ChooseNetworkPrinter.collect_answer   s    "*..0DeLL 	Im1144AADDt 	Ia((199G G G G G G G G 274>J4F4F4LO O O 26)-*.)-1]= = =r/   c                 8    | j                                          d S rf   )rL   cancelrh   s    r.   cancel_operationz%ChooseNetworkPrinter.cancel_operation   s    r/   N)
rx   ry   rz   r   r_   rd   ri   rm   r   r   r<   r/   r.   r	   r	      s        . . .:A A AFK K K2 2 2  = = =8    r/   r	   )	gi.repositoryr   rJ   r   timedopsr   baser   r	   r<   r/   r.   <module>r      s   ,        ! ! ! ! ! ! # # # # # #    J J J J J8 J J J J Jr/   