
    =	f1                         d dl Z d dlZd dl d dlmZmZmZ d dlmZ d dl	 ddl
 d dl d dl 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 Z G d dee      Zy)    N)*)deviceutilsmaint)cups   )	Ui_Dialogi  i           s7   <ipdyn:JobType>cleaningVerificationPage</ipdyn:JobType>c                       y)NT r       #/usr/share/hplip/ui5/cleandialog.pytruer   :   s    r   c                       e 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dZefdZd ZddZy)CleanDialogc                 @   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| j0                  d f| j2                  d f| j.                  df| j4                  d f| j6                  d f| j.                  df| j(                  d fg
t        | j*                  d f| j,                  d f| j.                  df| j0                  d f| j2                  d f| j.                  df| j4                  d f| j6                  d f| j.                  df| j(                  d fg
t        | j*                  d f| j,                  d f| j.                  df| j0                  d f| j2                  d f| j.                  df| j4                  d f| j6                  d f| j.                  df| j(                  d fg
t        | j*                  d f| j,                  d f| j.                  df| j0                  d f| j2                  d f| j.                  df| j4                  d f| j6                  d f| j.                  df| j(                  d fg
i| _        | j;                          t<        j?                  d| j@                         y )NFr   r   r   )r   )r
   )r   )!QDialog__init__setupUi
device_uriCLEAN_TYPE_INITIAL
clean_typeabort	seq_indexstepstep_max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initUiQTimer
singleShotnextSequence)selfparentr   s      r   r   zCleanDialog.__init__@   s)   v&T$,
	 -q$q&2Q% ' $ 2 2D9 $ 1 148)
 +!%!8!8$ ?!%!7!7 >!%T 2. #!00$7!//6!\\40!00$7!//6!\\40!00$7!//6!\\40!ZZ.& %!00$7!//6!\\40!00$7!//6!\\40!00$7!//6!\\40!ZZ.( 1!00$7!//6!\\40!00$7!//6!\\40!00$7!//6!\\40!ZZ.4 $!00$7!//6!\\40!00$7!//6!\\40!00$7!//6!\\40!ZZ.'iAH 	!T../r   c                    | 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                   r%| j                  j#                  | j                          | j%                  t'        t)        dd                   y )N
clean-typehp_logo128x128)CancelButtonclickedconnectCancelButton_clicked
NextButtonNextButton_clickedDeviceComboBoxDeviceUriComboBox_noDevices DeviceUriComboBox_currentChanged	setFilteroperatorneCLEAN_TYPE_NONEsignalSIGINTSIG_DFLr   setInitialDevicesetWindowIconQIconload_pixmapr6   s    r   r2   zCleanDialog.initUi   s    !!))$*C*CD''(?(?@77??@`@`a<<DDTEjEjk%%|hkk?5S&TUfmmV^^4??00A 	5Y	!BCDr   c                 $    | j                          y N)r5   rP   s    r   rA   zCleanDialog.NextButton_clicked   s    r   c                    	 	 | j                   | j                     | j                     \  }}|| xj                  dz  c_        Cd| _        g }||D ]  }	 |j                   |               	 t        j                  |j                  ddj                  |D cg c]  }t        |       c}      d       	  ||  | xj                  dz  c_        | j                  ry | j                  r| j                          # t        $ r Y y w xY w#  |j                  |       Y xY wc c}w # t        $ r Y |w xY w# t        $ r t        |        Y y w xY w)Nr   F(,))r1   r   r   
IndexErrornew_pageappendlogdebug__name__joinreprAttributeErrorErrorCheckDeviceUIr   r)   )r6   r1   paramstpxs         r   r5   zCleanDialog.nextSequence   s9   "hht7GV {!#!DMA! $A$$		cllCHHq=Q!d1g=Q4RSTQ
 NNaN}}zz

K   $ >R! 
  d#sS   )C> D.+D* D%+D* :D9 >	D
	D
D"%D* *	D65D69EEc                     | j                  t               | j                  j                         }|dk(  r| j	                          y | j                  j                          | j                  t               y )Nr   )setCleanButtonBUTTON_NEXTrB   
setDevicesskipPageupdateUidisplayPage
PAGE_START)r6   num_devicess     r   r%   zCleanDialog.showStartPage   sX    K())446!MMO$$&$r   c                    t        j                  | j                        | _        | j                  j	                  dt
              | _        d| _        t        j                  d| j                  z         | j                  | j                     | _        	 t        j                  | j                        | _        y # t        $ r t        |        Y y w xY w)Nr9   zclean-type=%d)r   queryModelByURIr   mqgetrH   r   r   rZ   r[   r$   r   Devicedevr`   ra   rP   s    r   r&   zCleanDialog.endStartPage   s    ((9''++lOD		/DOO34t7	}}T__5DH 	$	s   $B7 7CCc                 X    | j                  t               | j                  t               y rR   )rg   BUTTON_CLEANrl   PAGE_LEVEL_1rP   s    r   r*   zCleanDialog.showLevel1Page   s    L)&r   c                      y rR   r   rP   s    r   r+   zCleanDialog.endLevel1Page       r   c                 .    | j                  t               y rR   )rl   PAGE_LEVEL_2rP   s    r   r-   zCleanDialog.showLevel2Page       &r   c                      y rR   r   rP   s    r   r.   zCleanDialog.endLevel2Page   rz   r   c                 .    | j                  t               y rR   )rl   PAGE_LEVEL_3rP   s    r   r/   zCleanDialog.showLevel3Page  r}   r   c                      y rR   r   rP   s    r   r0   zCleanDialog.endLevel3Page  rz   r   c                 X    | j                  t               | j                  t               y rR   )rg   BUTTON_FINISHrl   PAGE_FRONT_PANELrP   s    r   r'   zCleanDialog.showFrontPanelPage  s    M*)*r   c                      y rR   r   rP   s    r   r(   zCleanDialog.endFrontPanelPage  rz   r   c                     || _         y rR   )r   )r6   r   s     r   rD   z,CleanDialog.DeviceUriComboBox_currentChanged  s	    $r   c                 Z    t        | | j                  d             | j                          y )NzW<b>No devices that support printhead cleaning found.</b><p>Click <i>OK</i> to exit.</p>)	FailureUI_CleanDialog__trr)   rP   s    r   rC   z'CleanDialog.DeviceUriComboBox_noDevices  s    $		"{|}

r   c                 $    | j                          y rR   )r)   rP   s    r   r?   z CleanDialog.CancelButton_clicked  s    

r   c                 z   	 	 | j                   j                          | j                   j                         r| j                  t        t
        fv r|dk(  r@t        j                  | j                          t        j                  | j                          n|dk(  r@t        j                  | j                          t        j                  | j                          nut        j                  | j                          t        j                  | j                          n5| j                  t        k(  r|dk(  r@t        j                  | j                          t        j                  | j                          n|dk(  r@t        j                  | j                          t        j                  | j                          nt        j                  | j                          t        j                  | j                          nX| j                  t        k(  rDt        j                   | j                         }d}t"        |vrd}|dk(  rat        j$                  | j                          t        j&                  | j                   ||       |du r| j)                  | j*                  d       n|dk(  rat        j,                  | j                          t        j&                  | j                   ||       |du rj| j)                  | j.                  d       nMt        j0                  | j                          t        j&                  | j                   ||       nt3        |        	 | j                   | j                   j7                          y y # t4        $ r t3        |        Y >w xY w# | j                   | j                   j7                          w w xY w)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)ru   openisIdleAndNoErrorr   r    r"   r   
cleanType1print_clean_test_page
primeType1wipeAndSpitType1r!   
cleanType2
primeType2wipeAndSpitType2r#   getCleanLedmCapacityLEDM_CLEAN_VERIFY_PAGE_JOBcleanTypeLedmcleanTypeVerifysetCustomMessagePrompt_5cleanTypeLedm1Prompt_6cleanTypeLedm2ra   r`   r)   )r6   level
IPCap_dataprint_verification_pages       r   r,   zCleanDialog.doClean"  s   ?	!:( 88,,.>&B+D D !A:!,,TXX6!77A"aZ!,,TXX6!77A "22488<!77A ,<< A:!,,TXX6!77A"aZ!,,TXX6!77A "22488<!77AO;%*%?%?%I
26/5ZG6;3 A:!//9!11$((5BYZ6%? $ 5 5dmm  Eh  !i"aZ!00:!11$((5BYZ6%? $ 5 5dmm  Eh  !i "00:!11$((5BYZ "$' xx#  $w  $d#$v xx#  $s)   M7 L2N 7NN NN )N:c                     | j                  | j                         | xj                  dz  c_        d| _        | j                  j	                  |       y )Nr   T)updateStepTextr   rX   StackedWidgetsetCurrentIndex)r6   pages     r   rl   zCleanDialog.displayPagei  s<    DII&		Q	**40r   c                 <    | xj                   dz  c_         d| _        y )Nr   F)r   rX   rP   s    r   rj   zCleanDialog.skipPagep  s    		Q	r   Nc                     || j                   s%| j                  j                  t        d             y | j                  j                  | j	                  d|d| j                                y )N zStep z of )r   StepTextsetTextstrr   )r6   rd   s     r   r   zCleanDialog.updateStepTextu  sG    9DMMMM!!#b'*MM!!$))q$--,P"QRr   c                 <   |t         k(  r+| j                  j                  | j                  d             y |t        k(  r+| j                  j                  | j                  d             y |t
        k(  r+| j                  j                  | j                  d             y y )NCleanzNext >Finish)rw   r@   r   r   rh   r   )r6   typs     r   rg   zCleanDialog.setCleanButton|  sp    ,OO##DIIg$67KOO##DIIh$78M!OO##DIIh$78 "r   c                 D    |j                  | j                  |             y rR   )r   r   )r6   buttonmessages      r   r   zCleanDialog.setCustomMessage  s    tyy)*r   c                 0    t         j                  d||      S )Nr   )qApp	translate)r6   scs      r   __trzCleanDialog.__tr  s    ~~mAa00r   rR   )r\   
__module____qualname__r   r2   rA   r5   r%   r&   r*   r+   r-   r.   r/   r0   r'   r(   rD   rC   r?   r,   rl   rj   r   rw   rg   r   r   r   r   r   r   r   ?   s    W0tE"&R	%'
''+
%
@!N1
S ". 9+1r   r   )rF   rI   base.gbaser   r   r   prntr   
base.codesui_utilsPyQt5.QtCorePyQt5.QtGuicleandialog_baser	   r   CLEAN_TYPE_TESTrm   rx   r|   r   r   rw   rh   r   r   r   r   r   r   r   r   <module>r      s   .    % %      (  
 U 
J1'9 J1r   