3
NZ#                 @   s   d dl Z d dlZd dlT d dlmZmZ d dlmZ d dlT ddl	T d dl
mZ d dlT d dlT d dlT ddlmZ ddlmZ ejZeryd d	lmZ W n ek
r   d
ZY nX esejd G dd deeZdS )    N)*)deviceutils)cups   )
to_unicode)	Ui_Dialog)DEVICEURICOMBOBOX_TYPE_FAX_ONLY)faxFzFax disabled.c               @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd1d&d'Zd(d) Zd*d+ Zd,d- Zd2d/d0Zd.S )3FaxSetupDialogc             C   sX   t j| | | j|  || _| j  d | _t | _| jj  | jj	  t
jd| j d S )Nr   )QDialog__init__ZsetupUi
device_uriinitUidevZUserSettingsuser_settingsloaddebugZQTimerZ
singleShotupdateUi)selfparentr    r   &/usr/share/hplip/ui5/faxsetupdialog.pyr   9   s    


zFaxSetupDialog.__init__c             C   s  | j jj| j | jjj| j | jjj| j | jj	t
 tjtjtj | jttdd | jrt| jj| j | jjd | jjd | jjt| j | jjd | jjt| j | jjd | jjj| j | jjd j| j | jjj| j | jjd j| j | jjj| j  | jjd j| j! | jjj| j" | jjd j| j# | j$j%t& j| j' d| _(d| _)d| _*d| _+d S )NZhp_logoZ128x1282   zconst QString &F),ZCancelButtonZclickedZconnectCancelButton_clickedFaxComboBoxZDeviceUriComboBox_noDevicesFaxComboBox_noDevicesZ DeviceUriComboBox_currentChangedFaxComboBox_currentChangedZsetTyper	   signalSIGINTSIG_DFLZsetWindowIconZQIconZload_pixmapr   ZsetInitialDeviceNameCompanyLineEditZsetMaxLengthFaxNumberLineEditZsetValidatorZPhoneNumValidatorVoiceNumberLineEditEmailLineEditeditingFinished#NameCompanyLineEdit_editingFinishedZtextChangedNameCompanyLineEdit_textChanged!FaxNumberLineEdit_editingFinishedFaxNumberLineEdit_textChanged#VoiceNumberLineEdit_editingFinishedVoiceNumberLineEdit_textChangedEmailLineEdit_editingFinishedEmailLineEdit_textChanged	tabWidgetZcurrentChangedintTabs_currentChangedname_company_dirtyfax_number_dirtyvoice_number_dirtyemail_dirty)r   r   r   r   r   G   s6    zFaxSetupDialog.initUic             C   s:   t s t| | jd | j  d S | jj  | jjd d S )Nz<b>PC send fax support is not enabled.</b><p>Re-install HPLIP with fax support or use the device front panel to send a fax.</p><p>Click <i>OK</i> to exit.</p>r   )fax_enabled	FailureUI_FaxSetupDialog__trcloser   r   r.   ZsetCurrentIndex)r   r   r   r   r   t   s    
zFaxSetupDialog.updateUic             C   s^   || _ | j  | jd k	r"| jj  ytj| j | _W n tk
rP   t|  d S X | j  d S )N)	r   updateCoverpageTabr   r8   r
   ZgetFaxDeviceErrorCheckDeviceUIupdateHeaderTab)r   r   r   r   r   r   ~   s    

z)FaxSetupDialog.FaxComboBox_currentChangedc             C   s   t | | jd | j  d S )Nz/<b>No devices that require fax setup found.</b>)r6   r7   r8   )r   r   r   r   r      s    z$FaxSetupDialog.FaxComboBox_noDevicesc             C   s   | j t| jj  d S )N)saveNameCompanyr   r!   text)r   r   r   r   r&      s    z2FaxSetupDialog.NameCompanyLineEdit_editingFinishedc             C   s
   d| _ d S )NT)r1   )r   sr   r   r   r'      s    z.FaxSetupDialog.NameCompanyLineEdit_textChangedc             C   sZ   d| _ t  z@ytjd|  | jj| W n tk
rH   t|  Y nX W d t  X d S )NFz Saving station name %s to device)	r1   beginWaitCursorlogr   r   ZsetStationNamer:   r;   endWaitCursor)r   r?   r   r   r   r=      s    zFaxSetupDialog.saveNameCompanyc             C   s   | j t| jj  d S )N)saveFaxNumberr   r"   r>   )r   r   r   r   r(      s    z0FaxSetupDialog.FaxNumberLineEdit_editingFinishedc             C   s
   d| _ d S )NT)r2   )r   r?   r   r   r   r)      s    z,FaxSetupDialog.FaxNumberLineEdit_textChangedc             C   sZ   d| _ t  z@ytjd|  | jj| W n tk
rH   t|  Y nX W d t  X d S )NFzSaving fax number %s to device)	r2   r@   rA   r   r   ZsetPhoneNumr:   r;   rB   )r   r?   r   r   r   rC      s    zFaxSetupDialog.saveFaxNumberc             C   s   | j t| jj  d S )N)saveVoiceNumberr   r#   r>   )r   r   r   r   r*      s    z2FaxSetupDialog.VoiceNumberLineEdit_editingFinishedc             C   s
   d| _ d S )NT)r3   )r   r?   r   r   r   r+      s    z.FaxSetupDialog.VoiceNumberLineEdit_textChangedc             C   s*   t jd|  d| _|| j_| jj  d S )Nz/Saving voice number (%s) to ~/.hplip/hplip.confF)rA   r   r3   r   voice_phonesave)r   r?   r   r   r   rD      s    zFaxSetupDialog.saveVoiceNumberc             C   s   | j t| jj  d S )N)	saveEmailr   r$   r>   )r   r   r   r   r,      s    z,FaxSetupDialog.EmailLineEdit_editingFinishedc             C   s
   d| _ d S )NT)r4   )r   r?   r   r   r   r-      s    z(FaxSetupDialog.EmailLineEdit_textChangedc             C   s*   t jd|  d| _|| j_| jj  d S )Nz0Saving email address (%s) to ~/.hplip/hplip.confF)rA   r   r4   r   email_addressrF   )r   r?   r   r   r   rG      s    zFaxSetupDialog.saveEmailc             C   s   | j   d S )N)r8   )r   r   r   r   r      s    z#FaxSetupDialog.CancelButton_clickedr   c             C   s&   |dkr| j   n|dkr"| j  dS )zU Called when the active tab changes.
            Update newly displayed tab.
        r   r   N)r<   r9   )r   Ztabr   r   r   r0      s    
z"FaxSetupDialog.Tabs_currentChangedc             C   s   t   zvyTt| jj }tjd|  | jj| t| jj	 }tjd|  | j
j| W n tk
rx   t|  Y nX W d t  X d S )Nzname_company = '%s'zfax_number = '%s')r@   r   r   ZgetStationNamerA   r   r!   setTextstrZgetPhoneNumr"   r:   r;   rB   )r   Zname_companyZ
fax_numberr   r   r   r<      s    zFaxSetupDialog.updateHeaderTabc             C   sH   | j j}tjd|  | jj| | j j}tjd|  | jj| d S )Nzvoice_phone = '%s'zemail_address = '%s')r   rE   rA   r   r#   rI   rH   r$   )r   rE   rH   r   r   r   r9   
  s    z!FaxSetupDialog.updateCoverpageTabc             C   sh   | j r| jjj  | jr$| jjj  | jr6| jjj  | jrH| j	jj  | j
d k	r\| j
j  |j  d S )N)r3   r#   r%   emitr1   r!   r4   r$   r2   r"   r   r8   Zaccept)r   er   r   r   
closeEvent  s    

zFaxSetupDialog.closeEventNc             C   s   t jd||S )Nr   )ZqApp	translate)r   r?   cr   r   r   Z__tr'  s    zFaxSetupDialog.__tr)r   )N)__name__
__module____qualname__r   r   r   r   r   r&   r'   r=   r(   r)   rC   r*   r+   rD   r,   r-   rG   r   r0   r<   r9   rM   r7   r   r   r   r   r   8   s.   -


r   )operatorr   Zbase.gbaser   r   Zprntr   Z
base.codesZui_utilsZbase.sixextr   ZPyQt5.QtCoreZPyQt5.QtGuiZPyQt5.QtWidgetsZfaxsetupdialog_baser   Zdeviceuricomboboxr	   ZpropZ	fax_buildr5   r
   ImportErrorrA   warnr   r   r   r   r   r   <module>   s*   

