3
NZ                 @   s`   d dl T ddlT d dlmZ d dlmZ d dlT d dlT d dlT d Z	dZ
dZG dd deZdS )	    )*   )device)
to_unicode   c               @   sV   e Zd ZeeeZe Zdd Zdd Zdd Z	dd Z
d	d
 Zdd ZdddZdS )PrinterNameComboBoxc             C   sX   t j| | d| _d| _i | _d | _d| _t| _t	 | _
| j
j  | j
j  | j  d S )N F)QWidget__init__printer_name
device_uriprinter_indexinitial_printerupdating%PRINTERNAMECOMBOBOX_TYPE_PRINTER_ONLYtypZUserSettingsuser_settingsloaddebuginitUi)selfparent r   +/usr/share/hplip/ui5/printernamecombobox.pyr
   /   s    

zPrinterNameComboBox.__init__c             C   s   t | }|jd t| | _| jjd |j| j tddtjtj}|j| t	| | _
ttjtj}|jd |jd |j| j
j j  | j
j| | j
jd |j| j
 | jj| jd | j
jd j| j d S )N
HBoxLayout	NameLabel   r   ComboBoxzPrinter:zconst QString &)ZQHBoxLayoutZsetObjectNameZQLabelr   Z	addWidgetZQSpacerItemZQSizePolicyZMinimumZaddItemZ	QComboBoxr   Z	ExpandingZ	PreferredZsetHorizontalStretchZsetVerticalStretchZsetHeightForWidth
sizePolicyZhasHeightForWidthZsetSizePolicysetText_PrinterNameComboBox__trZcurrentIndexChangedZconnectComboBox_currentIndexChanged)r   r   Z
SpacerItemr   r   r   r   r   ?   s"    





zPrinterNameComboBox.initUic             C   s   |t ttfkr|| _d S )N)r   !PRINTERNAMECOMBOBOX_TYPE_FAX_ONLY(PRINTERNAMECOMBOBOX_TYPE_PRINTER_AND_FAXr   )r   r   r   r   r   setType]   s    zPrinterNameComboBox.setTypec             C   s
   || _ d S )N)r   )r   r   r   r   r   setInitialPrinterd   s    z%PrinterNameComboBox.setInitialPrinterc             C   s:  | j tkr$| jj| jd dg}n>| j tkrH| jj| jd dg}n| jj| jd ddg}tj|| _| j	j
  | jr,| jd kr| jj| _d| _zzd}xdt| jD ]V\}}|j| j	|j< | jj||j | jd k	ot|jj t| jj krd | _|}qW | jjd
 W d d	| _X | jj| n
| jj  d S )NzPrinter Name:Zhpz	Fax Name:ZhpfaxzPrinter/Fax Name:Tr   r   F)r   r   r   r   r    r"   r   ZgetSupportedCUPSPrintersZprintersr   clearr   r   last_used_printerr   	enumerater   namer   Z
insertItemr   lowerZsetCurrentIndexPrinterNameComboBox_noPrintersemit)r   Z	be_filterkipr   r   r   updateUih   s4    




&zPrinterNameComboBox.updateUic             C   sL   t || _| jrd S | j| j | _| j| j_| jj  | jj	| j| j d S )N)
r   r   r   r   r   r   r(   Zsave"PrinterNameComboBox_currentChangedr-   )r   tr   r   r   r!      s    


z0PrinterNameComboBox.ComboBox_currentIndexChangedNc             C   s   t jd||S )Nr   )ZqApp	translate)r   scr   r   r   Z__tr   s    zPrinterNameComboBox.__tr)N)__name__
__module____qualname__Z
pyqtSignalstrr2   r,   r
   r   r$   r%   r1   r!   r    r   r   r   r   r   *   s   
,r   N)Zbase.gZui_utilsbaser   Zbase.sixextr   ZPyQt5.QtCoreZPyQt5.QtGuiZPyQt5.QtWidgetsr   r"   r#   r	   r   r   r   r   r   <module>   s   