3
NZ1                 @   s   d dl Z d dlZd dlT d dlmZmZmZ d dlmZ d dl	T ddl
T d dlT d dlT ddlmZ dZdZd ZdZd	Zd
ZdZd ZdZd	ZdZdd ZG dd deeZdS )    N)*)deviceutilsmaint)cups   )	Ui_Dialogi  i           s7   <ipdyn:JobType>cleaningVerificationPage</ipdyn:JobType>c               C   s   dS )NT r   r   r   #/usr/share/hplip/ui5/cleandialog.pytrue:   s    r   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d%d& Zd'd( Zd2d*d+Zefd,d-Zd.d/ Zd3d0d1Zd)S )4CleanDialogc             C   s  t j| | | j|  || _t| _d| _d| _d| _d| _	t
dtdtdtdtdi| _t| jd f| jd fgt
| jd f| jd f| jd fgt| jd f| jd f| jdf| jd f| jd f| jdf| jd f| jd f| jd	f| jd fg
t| jd f| jd f| jd
f| jd f| jd f| jdf| jd f| jd f| jdf| jd fg
t| jd f| jd f| jdf| jd f| jd f| jdf| jd f| jd f| jdf| jd fg
t| jd f| jd f| jdf| jd f| jd f| jdf| jd f| jd f| jdf| jd fg
i| _| j  tjd| j  d S )NFr   r   r   r	   r
   )r   )r	   )r
   )r   )r	   )r
   )r   )r	   )r
   )r   )r	   )r
   )!QDialog__init__ZsetupUi
device_uriCLEAN_TYPE_INITIAL
clean_typeabort	seq_indexstepstep_maxZCLEAN_TYPE_UNSUPPORTEDCLEAN_TYPE_PCLCLEAN_TYPE_LIDILCLEAN_TYPE_PCL_WITH_PRINTOUTCLEAN_TYPE_LEDM	max_stepsshowStartPageendStartPageshowFrontPanelPageendFrontPanelPagecloseshowLevel1PageendLevel1PagedoCleanshowLevel2PageendLevel2PageshowLevel3PageendLevel3PageseqinitUiZQTimerZ
singleShotnextSequence)selfparentr   r   r   r   r   @   s    






zCleanDialog.__init__c             C   s   | j jj| j | jjj| j | jjj| j | jjj| j | jj	dt
jtfi tjtjtj | jrz| jj| j | jttdd d S )Nz
clean-typeZhp_logoZ128x128)ZCancelButtonZclickedZconnectCancelButton_clicked
NextButtonNextButton_clickedDeviceComboBoxDeviceUriComboBox_noDevices DeviceUriComboBox_currentChangedZ	setFilteroperatorneCLEAN_TYPE_NONEsignalSIGINTSIG_DFLr   ZsetInitialDeviceZsetWindowIconZQIconZload_pixmap)r-   r   r   r   r+      s    zCleanDialog.initUic             C   s   | j   d S )N)r,   )r-   r   r   r   r1      s    zCleanDialog.NextButton_clickedc             C   s.  x&y| j | j | j \}}W n tk
r4   P Y nX |d krN|  jd7  _qd| _g }|d k	rx4|D ],}y|j|  W qf   |j| Y qfX qfW y(tjd|jdj	dd |D f  W n t
k
r   Y nX y||  W n tk
r   t|  P Y nX |  jd7  _| jrP | jr| j  qW d S )Nr   Fz%s(%s),c             S   s   g | ]}t |qS r   )repr).0xr   r   r   
<listcomp>   s    z,CleanDialog.nextSequence.<locals>.<listcomp>)r*   r   r   
IndexErrornew_pageappendlogdebug__name__joinAttributeErrorErrorCheckDeviceUIr   r"   )r-   r*   Zparamstpr   r   r   r,      s<    
(zCleanDialog.nextSequencec             C   s@   | j t | jj }|dkr(| j  d S | jj  | jt d S )Nr   )setCleanButtonBUTTON_NEXTr2   Z
setDevicesskipPageZupdateUidisplayPage
PAGE_START)r-   Znum_devicesr   r   r   r      s    


zCleanDialog.showStartPagec             C   sv   t j| j| _| jjdt| _d| _tj	d| j  | j
| j | _yt j| j| _W n tk
rp   t|  d S X d S )Nz
clean-typer   zclean-type=%d)r   ZqueryModelByURIr   Zmqgetr7   r   r   rC   rD   r   r   ZDevicedevrH   rI   )r-   r   r   r   r      s    zCleanDialog.endStartPagec             C   s   | j t | jt d S )N)rL   BUTTON_CLEANrO   PAGE_LEVEL_1)r-   r   r   r   r#      s    
zCleanDialog.showLevel1Pagec             C   s   d S )Nr   )r-   r   r   r   r$      s    zCleanDialog.endLevel1Pagec             C   s   | j t d S )N)rO   PAGE_LEVEL_2)r-   r   r   r   r&      s    zCleanDialog.showLevel2Pagec             C   s   d S )Nr   )r-   r   r   r   r'      s    zCleanDialog.endLevel2Pagec             C   s   | j t d S )N)rO   PAGE_LEVEL_3)r-   r   r   r   r(     s    zCleanDialog.showLevel3Pagec             C   s   d S )Nr   )r-   r   r   r   r)     s    zCleanDialog.endLevel3Pagec             C   s   | j t | jt d S )N)rL   BUTTON_FINISHrO   PAGE_FRONT_PANEL)r-   r   r   r   r      s    
zCleanDialog.showFrontPanelPagec             C   s   d S )Nr   )r-   r   r   r   r!     s    zCleanDialog.endFrontPanelPagec             C   s
   || _ d S )N)r   )r-   r   r   r   r   r4     s    z,CleanDialog.DeviceUriComboBox_currentChangedc             C   s   t | | jd | j  d S )NzW<b>No devices that support printhead cleaning found.</b><p>Click <i>OK</i> to exit.</p>)Z	FailureUI_CleanDialog__trr"   )r-   r   r   r   r3     s    z'CleanDialog.DeviceUriComboBox_noDevicesc             C   s   | j   d S )N)r"   )r-   r   r   r   r/     s    z CleanDialog.CancelButton_clickedc             C   s  zy| j j  W n tk
r0   t|  Y nX | j j r| jttfkr|dkrntj	| j  tj
| j  n:|dkrtj| j  tj
| j  ntj| j  tj
| j  q| jtkr|dkrtj| j  tj
| j  n:|dkrtj| j  tj
| j  ntj| j  tj
| j  n| jtkrtj| j }d}t|kr@d}|dkrtj| j  tj| j || |dkr| j| jd n\|dkrtj| j  tj| j || |dkr| j| jd ntj| j  tj| j || nt|  W d | j d k	r | j j  X d S )Nr   r	   TFz\Cleaning level 1 is Completed. 
Press "Cancel" to Finish. Press "Clean" for next level cleanz\Cleaning level 2 is Completed. 
Press "Cancel" to Finish. Press "Clean" for next level clean)rS   openrH   rI   ZisIdleAndNoErrorr   r   r   r   Z
cleanType1Zprint_clean_test_pageZ
primeType1ZwipeAndSpitType1r   Z
cleanType2Z
primeType2ZwipeAndSpitType2r   ZgetCleanLedmCapacityLEDM_CLEAN_VERIFY_PAGE_JOBZcleanTypeLedmZcleanTypeVerifysetCustomMessageZPrompt_5ZcleanTypeLedm1ZPrompt_6ZcleanTypeLedm2r"   )r-   levelZ
IPCap_dataZprint_verification_pager   r   r   r%   "  sZ    




zCleanDialog.doCleanc             C   s0   | j | j |  jd7  _d| _| jj| d S )Nr   T)updateStepTextr   rA   ZStackedWidgetZsetCurrentIndex)r-   Zpager   r   r   rO   i  s    zCleanDialog.displayPagec             C   s   |  j d7  _ d| _d S )Nr   F)r   rA   )r-   r   r   r   rN   p  s    zCleanDialog.skipPageNc             C   sB   |d ks| j  r"| jjtd n| jj| jd|| j f  d S )N zStep %s of %s)r   ZStepTextsetTextstrrZ   )r-   rK   r   r   r   r_   u  s    zCleanDialog.updateStepTextc             C   sV   |t kr| jj| jd n6|tkr8| jj| jd n|tkrR| jj| jd d S )NZCleanzNext >ZFinish)rT   r0   ra   rZ   rM   rX   )r-   typr   r   r   rL   |  s    zCleanDialog.setCleanButtonc             C   s   |j | j| d S )N)ra   rZ   )r-   Zbuttonmessager   r   r   r]     s    zCleanDialog.setCustomMessagec             C   s   t jd||S )Nr   )ZqApp	translate)r-   scr   r   r   Z__tr  s    zCleanDialog.__tr)N)N)rE   
__module____qualname__r   r+   r1   r,   r   r   r#   r$   r&   r'   r(   r)   r    r!   r4   r3   r/   r%   rO   rN   r_   rT   rL   r]   rZ   r   r   r   r   r   ?   s0   Z)G
	r   )r5   r8   Zbase.gbaser   r   r   Zprntr   Z
base.codesZui_utilsZPyQt5.QtCoreZPyQt5.QtGuiZcleandialog_baser   r   ZCLEAN_TYPE_TESTrP   rU   rV   rW   rY   rT   rM   rX   r\   r   r   r   r   r   r   r   <module>   s,   