3
NZ                 @   s   d dl Z d dlZd dlT d dlmZmZmZmZ d dlT 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ZdZdZee Zee Z ee! Z"ee# Z$ee% Z&dd Z'G dd de(eZ)dS )    N)*)deviceutilsmaintstatus   )	Ui_Dialog                  i  i  d   c               C   s   dS )NT r   r   r   #/usr/share/hplip/ui5/aligndialog.pytrueB   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dIddZdd Zdd Zdd ZdJddZd d! Zd"d# Zd$d% Zd&d' Zd(d) ZdKd+d,Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zd=d> ZdLd?d@Z e!fdAdBZ"dCdD Z#dEdF Z$dMdGdHZ%dS )NAlignDialogc          S      s
  t j | | _i  _d _t _d _dj\ _ _	 _
 _ _dk\ _ _ _d _d _g  _d _d _tdtdtdtdtdtdtdtdtdtdtdt dt!dt"dt#dt$dt%dt&dt'di _(t" j)dlf j*dmf j)dnf j*dof j+d fgt j,d f j-d fgt j.d f j/d f j+d fgt j0d ft1j2 fdddd ff j3d f j+d fgt j4d f j0d ft1j5 fddff j6dpf j7dqf j6drf j7dsf j6dtf j7duf j6dvf j7dwf j8t9ff j0dd fft1j: fdd fdd fdd fdd fddff j3d f j+d fgt j0d f j6dxf j7dyf j6dzf j7d{f j6d|f j7d}f j8t9ff j6d~f j7dft1j; fd d fd!d fd"d fd#d fd$dfft1j< fd%dff j=d f j>d ft1j? fd&d fd'dff j3d f j+d fgt j0d f j@d ft1jA fd(dff jBd fgt j0d f j@d ft1jC fd)dff j=df j>d f jBd fgt j0d f j@d ft1jD fd*dff j=df j>d f jBd fgtE j6df j7df jFd f j3d f j+d fgtG j6df j7df jFd f j3d f j+d fgtH j6df j7df jFd f j3d f j+d fgtI j6df j7df j6df j7df j6df j7df j6df j7df jFd f j3d f j+d fgtJ j6df j7df j6df j7df j6df j7df j6df j7df j)df j*df j)df j*df jFd f j+d fgt j0d ft1jK fd-dff j8tLff jMd f j3d f j+d fgt j0d f jNd f j6df j7df j6df j7df j6df j7df j8t9ff j6df j7dft1j; fd/d fd0d fd1d fd2d fd3d fd4dff j3d f j+d fgt j0d f j6df j7df j6df j7df j6df j7df j8t9ff j6df j7dft1j; fd5d fd6d fd7d fd8d fd9dff j3d f j+d fgt j0d ft1jO fd:dff j8t9ff jP fd;dff jQd ft1jR fd<d fd=d fd>dff j8tLff j0d?d fft1jS fd@dff j3d f j+d fgt  j0d ft1jT fdAdff j8t9ff jP fdBdff jQd ft1jU fdCd fdDd fdEd fdFdff j8tLff j0dGd fft1jV fdHdff j3d f j+d fgt! j0d ft1jW fdIddJd ff j3d f j+d fgt# j0d ft1jX fdKdff j8tLff jMd f j3d f j+d fgt$ j0d ft1jY fdLdff j8t9ff jP fdMdff jQd ft1jZ fdNd fdOd fdPd fdQdff j8tLff j0dRd fft1j[ fdSdff j3d f j+d fgt% j0d ft1j\ fdTd fdUdff j+d fgt& j0d ft1j\ fdVddWd ff j6df j7df j6df j7df j6df j7df j6df j7df j6df j7df j6df j7df j6df j7df j6df j7df j6df j7df j6df j7dft1j] fd]d fd^d fd_d fd`d fdad fdbd fdcd fddd fded fdfd fdgdff j3d f j+d fgt' j0d ft1j^ fdhd fdidff j+d fgi __ j`   ja  tbjcd jd d S )Nr   r   Fr	   r   r
   r   F   G   c                  s    j S )N)devr   )selfr   r   <lambda>   s    z&AlignDialog.__init__.<locals>.<lambda>c               S   s   t S )N)r   r   r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s    AhkcBvCr   Dcc               S   s   dS )NTr   r   r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s    c                  s    j S )N)ar   )r   r   r   r      s    c                  s    j S )N)br   )r   r   r   r      s    c                  s    j S )N)r"   r   )r   r   r   r      s    c                  s    j S )N)dr   )r   r   r   r      s    kc                  s    j S )N)r   r   )r   r   r   r      s    c                  s    j S )N)r#   r   )r   r   r   r      s    c                  s    j S )N)r$   r   )r   r   r   r      s    c                  s    j S )N)r"   r   )r   r   r   r      s    c                  s    j S )N)r%   r   )r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s    c                  s    j S )N)zcar   )r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s    c                  s    j S )N)r   r   )r   r   r   r      s       Ec                  s    j S )N)r   r   )r   r   r   r     s    	   c                  s    j S )N)r   r   )r   r   r   r   !  s    c                  s    j S )N)num_inksr   )r   r   r   r   !  s    c                  s    j S )N)r#   r   )r   r   r   r   !  s    c                  s    j S )N)r$   r   )r   r   r   r   "  s    c                  s    j S )N)r"   r   )r   r   r   r   "  s    c                  s    j S )N)r%   r   )r   r   r   r   "  s    c                  s    j S )N)r   r   )r   r   r   r   2  s    c                  s    j S )N)r#   r   )r   r   r   r   2  s    c                  s    j S )N)r$   r   )r   r   r   r   2  s    c                  s    j S )N)r"   r   )r   r   r   r   3  s    c                  s    j S )N)r%   r   )r   r   r   r   3  s    c                  s    j S )N)r   r   )r   r   r   r   :  s    c                  s    j S )N)patternr   )r   r   r   r   <  s    c                  s    j S )N)r   r   )r   r   r   r   >  s    c                  s    j S )N)valuesr   )r   r   r   r   >  s    c                  s    j S )N)r,   r   )r   r   r   r   ?  s    c               S   s   dS )NTr   r   r   r   r   r   A  s    c                  s    j S )N)r   r   )r   r   r   r   B  s    c                  s    j S )N)r   r   )r   r   r   r   I  s    c                  s    j S )N)r,   r   )r   r   r   r   K  s    c                  s    j S )N)r   r   )r   r   r   r   M  s    c                  s    j S )N)r-   r   )r   r   r   r   M  s    c                  s    j S )N)r,   r   )r   r   r   r   N  s    c                  s    j jS )N)r   
pen_configr   )r   r   r   r   N  s    c               S   s   dS )NTr   r   r   r   r   r   P  s    c                  s    j S )N)r   r   )r   r   r   r   Q  s    c                  s    j S )N)r   r   )r   r   r   r   X  s    c               S   s   t S )N)r   r   r   r   r   r   X  s    c                  s    j S )N)r   r   )r   r   r   r   _  s    c                  s    j S )N)r   r   )r   r   r   r   h  s    c                  s    j S )N)r,   r   )r   r   r   r   j  s    c                  s    j S )N)r   r   )r   r   r   r   l  s    c                  s    j S )N)r-   r   )r   r   r   r   l  s    c                  s    j S )N)r,   r   )r   r   r   r   m  s    c                  s    j jS )N)r   r.   r   )r   r   r   r   m  s    c               S   s   dS )NTr   r   r   r   r   r   o  s    c                  s    j S )N)r   r   )r   r   r   r   p  s    c                  s    j S )N)r   r   )r   r   r   r   w  s    c                  s    j S )N)showAioPager   )r   r   r   r   w  s    c                  s    j S )N)r   r   )r   r   r   r   }  s    c               S   s   t S )N)r   r   r   r   r   r   }  s       HI   Jc                  s    j S )N)r   r   )r   r   r   r     s    c                  s    j S )N)r#   r   )r   r   r   r     s    c                  s    j S )N)r$   r   )r   r   r   r     s    c                  s    j S )N)r"   r   )r   r   r   r     s    c                  s    j S )N)r%   r   )r   r   r   r     s    c                  s    j S )N)er   )r   r   r   r     s    c                  s    j S )N)fr   )r   r   r   r     s    c                  s    j S )N)gr   )r   r   r   r     s    c                  s    j S )N)r   r   )r   r   r   r     s    c                  s    j S )N)ir   )r   r   r   r     s    c                  s    j S )N)jr   )r   r   r   r     s    c                  s    j S )N)r   r   )r   r   r   r     s    c                  s    j S )N)r/   r   )r   r   r   r     s    )r   r   r   r   r   )r   r   r   )r   r   )r   )r   r   )r   )r   r   r   r	   r   )r   )r   r   r   r	   r   )r   )r    r   r   r	   r   )r    )r!   r   r"   r	   r   )r!   )r   r   r   r	   r   )r   )r   r   r   r	   r   )r   )r    r   r&   r	   r   )r    )r!   r   r   r	   r   )r!   )r   )r   )r   r   r&   r	   r   )r   )r   r   r&   r	   r   )r   )r   r   r   r	   r   )r   )r   r   r   r	   r(   )r   )r    r   r   r	   r(   )r    )r!   r   r&   r	   r   )r!   )r)   r   r   r	   r   )r)   )r   r   r   r	   r(   )r   )r    r   r   r	   r(   )r    )r!   r   r&   r	   r   )r!   )r)   r   r   r	   r   )r)   )r   r   )r   )r   r   )r   )r   r   r&   r
   r*   )r   )r   r   r"   r
   r*   )r   )r    r   r   r
   r*   )r    )r!   r   r   r
   r*   )r!   )r   r   r   r	   r   )r   )r   r   r   r	   r   )r   )r    r   r&   r	   r   )r    )r!   r   r   r	   r   )r!   )r   r   r   r
   r0   )r   )r   r   r   r
   r(   )r   )r    r   r&   r
   r0   )r    )r!   r   r"   r
   r0   )r!   )r)   r   r&   r
   r   )r)   )r   r   r&   r
   r   )r   )r   r   r&   r
   r   )r   )r1   r   r&   r
   r   )r1   )r2   r   r"   r
   r3   )r2   )r4   r   r"   r
   r3   )r4   )eQDialog__init__
device_urimqstep_maxALIGN_TYPE_INITIAL
align_typestepr#   r$   r"   r%   r'   r5   r6   r7   r+   r,   r-   abort	seq_indexZALIGN_TYPE_UNSUPPORTEDZALIGN_TYPE_AUTOZALIGN_TYPE_9XXZALIGN_TYPE_8XXALIGN_TYPE_LIDIL_0_3_8ALIGN_TYPE_LIDIL_0_4_3ZALIGN_TYPE_LIDIL_AIOALIGN_TYPE_LIDIL_VIPZALIGN_TYPE_DESKJET_450ZALIGN_TYPE_9XX_NO_EDGE_ALIGNALIGN_TYPE_LBOWZALIGN_TYPE_LIDIL_0_5_4ZALIGN_TYPE_OJ_PROALIGN_TYPE_TESTZALIGN_TYPE_AIOALIGN_TYPE_LIDIL_DJ_D1600ZALIGN_TYPE_LEDMZALIGN_TYPE_LEDM_MANUALZALIGN_TYPE_LEDM_FF_CC_0	max_stepsshowColorAdjustPageendColorAdjustPagecloseshowStartPageendStartPageshowFrontPanelPageendFronPanelPageshowLoadPaperPager   ZAlignType1PMLcloseAllcheckType2PenConfigZalignType2Phase1showAlignmentNumberPageendAlignmentNumberPagesetAlignButtonBUTTON_ALIGNZalignType2Phase2ZalignType3Phase2ZalignType3Phase3showPageEdgePageendPageEdgePageZalignType3Phase4setPenConfigZalignType4Phase1setXBowZalignType5Phase1ZalignType7Phase1ALIGN_TYPE_XBOW_BLACK_ONLYsetXBowValuesALIGN_TYPE_XBOW_PHOTO_ONLYALIGN_TYPE_XBOW_COLOR_ONLYALIGN_TYPE_XBOW_COLOR_AND_BLACKALIGN_TYPE_XBOW_COLOR_AND_PHOTOZalignType6Phase1BUTTON_FINISHr/   alignType8Phase1ZalignType10Phase1showLBowPageendLBowPageZalignType10Phase2ZalignType10Phase3ZalignType11Phase1ZalignType11Phase2ZalignType11Phase3ZAlignType12ZalignType13Phase1ZalignType14Phase1ZalignType14Phase2ZalignType14Phase3ZAlignType15Phase1ZAlignType16Phase1ZAlignType17Phase1seqZsetupUiinitUiZQTimerZ
singleShotnextSequence)r   parentr<   r   )r   r   r;   G   s0   





"

"











""

"













"

zAlignDialog.__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ttdd | jr| jj| j d S )Nz
align-typeZhp_logoZ128x128)ZCancelButtonZclickedZconnectCancelButton_clicked
NextButtonNextButton_clickedDeviceComboBoxDeviceUriComboBox_noDevices DeviceUriComboBox_currentChangedZ	setFilteroperatorneALIGN_TYPE_NONEsignalSIGINTSIG_DFLZsetWindowIconZQIconload_pixmapr<   ZsetInitialDevice)r   r   r   r   rh     s    zAlignDialog.initUic             C   s   t | | jd | j  d S )Nz^<b>No devices that support print cartridge alignment found.</b><p>Click <i>OK</i> to exit.</p>)Z	FailureUI_AlignDialog__trrM   )r   r   r   r   ro     s    z'AlignDialog.DeviceUriComboBox_noDevicesc             C   s
   || _ d S )N)r<   )r   r<   r   r   r   rp     s    z,AlignDialog.DeviceUriComboBox_currentChangedc             C   s   | j   d S )N)rM   )r   r   r   r   rk     s    z AlignDialog.CancelButton_clickedc             C   s   | j   d S )N)ri   )r   r   r   r   rm     s    zAlignDialog.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,AlignDialog.nextSequence.<locals>.<listcomp>)rg   r@   rC   
IndexErrornew_pageappendlogdebug__name__joinAttributeErrorErrorCheckDeviceUIrB   rM   )r   rg   Zparamstpr   r   r   ri     s<    
(zAlignDialog.nextSequencec             C   s6   | j j }|dkr| j  d S | j j  | jt d S )Nr   )rn   Z
setDevicesskipPageupdateUidisplayPage
PAGE_START)r   Znum_devicesr   r   r   rN     s    

zAlignDialog.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
align-typer   zalign-type=%d)r   ZqueryModelByURIr<   r=   getrs   r@   rC   r   r   rJ   r>   ZDevicer   r   r   )r   r   r   r   rO     s    zAlignDialog.endStartPageFc             C   s*   |r| j d| j_| jj  | jt d S )NzFinish >)rx   Z	LoadPaperZbutton_namer   r   PAGE_LOAD_PAPER)r   Zfinishr   r   r   rR     s    
zAlignDialog.showLoadPaperPagec             C   s   d S )Nr   )r   r   r   r   endLoadPaperPage  s    zAlignDialog.endLoadPaperPagec             C   sx   | j j| jd|  | jjtd|||f d | jj  x,t|D ] }| jj	t
d||d f  qFW | jt d S )NzuFrom the printed Alignment page, Choose the set of lines in group %s where the line segments are <b>best</b> aligned.z%s-%s-%dotherz%s%sr   )ZAlignmentNumberTitlesetTextrx   ZAlignmentNumberIcon	setPixmaprw   AlignmentNumberComboBoxclearrangeaddItemstrr   PAGE_ALIGNMENT_NUMBER)r   line_idZorientationZcolorsZ
line_countZchoice_countr|   r   r   r   rU     s    
 
z#AlignDialog.showAlignmentNumberPagec             C   sP  t t| jj dd  }|dkr:|| _tjd|  n|dkrX|| _tjd|  n|dkrv|| _tjd|  n|dkr|| _	tjd	|  n|d
kr|| _
tjd|  n|dkr|| _tjd|  n||dkr|| _tjd|  n^|dkr|| _tjd|  n>|dkr.|| _tjd|  n|dkrL|| _tjd|  d S )Nr   r   zA=%dr   zB=%dr    zC=%dr!   zD=%dr)   zE=%dr   zF=%dr   zG=%dr1   zH=%dr2   zI=%dr4   zJ=%d)intr   r   currentTextr#   r   r   r$   r"   r%   r5   r6   r7   r   r8   r9   )r   r   r   r   r   r   rV   ,  s>    


z"AlignDialog.endAlignmentNumberPageN   c             C   s   | j j| jd | jjtdd | jj  xNt|D ]B}|d kr^| jj	t
d| d  q8| jj	t
d||d f  q8W | jt d S )NzNChoose the <b>numbered arrow</b> that <b>best </b>marks the edge of the paper.zzca.pngr   z%sr   z%s%s)ZPageEdgeTitler   rx   ZPageEdgeIconr   rw   PageEdgeComboBoxr   r   r   r   r   	PAGE_EDGE)r   prefixcountr|   r   r   r   rY   W  s    
 zAlignDialog.showPageEdgePagec             C   s2   t t| jj dd  }|| _tjd|  d S )Nr   zZCA=%d)r   r   r   r   r'   r   r   )r   r   r   r   r   rZ   e  s    zAlignDialog.endPageEdgePagec             C   s:  | j jtdd | jtkr*tj| j}n$| jtkrBtj	| j}ntj
| j}|d kr`tjd tj|| j| _t| jj }|j  d}x"|D ]}| j| d r|}qP qW | jj| jd|  xf| jD ]\}| j| d std|j   qx6t| j| d D ] }td	|j ||d f  qW qW | jt d S )
NZalign10r   zInvalid pattern!r   r   ztFor each row A - %s, select the label representing the box in which in the inner lines are the <b>least</b> visible.z!self.%sComboBox.setEnabled(False)r   zself.%sComboBox.addItem("%s%d"))ZLBowIconr   rw   r@   rG   r   ZalignType10SetPatternr   rI   ZalignType14SetPatternZalignType11SetPatternr   errorZalign10and11and14ControlscontrolslistkeyssortZ	LBowTitler   rx   evallowerr   r   	PAGE_LBOW)r   r,   r   Zmax_lineliner|   r   r   r   re   k  s.    



$zAlignDialog.showLBowPagec             C   s   g | _ t| jj }|j  xr|D ]j}| j| d sB| j jd q"td|j   yt|dd  }W n t	k
r~   d}Y nX | j j| q"W d S )Nr   z1selected = unicode(self.%sComboBox.currentText())r   )
r-   r   r   r   r   r   execr   r   
ValueError)r   r   r   Zselectedr   r   r   rf     s    

zAlignDialog.endLBowPagec             C   s    | j jtdd | jt d S )NZ	aio_alignr   )ZAioIconr   rw   r   PAGE_AIO)r   r   r   r   r/     s    zAlignDialog.showAioPagec             C   s   d S )Nr   )r   r   r   r   
endAioPage  s    zAlignDialog.endAioPager   c             C   sn   | j j  | jjtdd | jj| jd|  x,t|D ] }| j j	t
d||d f  q<W | jt d S )NZ	color_adjr   zLine %s:z%s%sr   )ColorAdjustComboBoxr   ZColorAdjustIconr   rw   ZColorAdjustLabelr   rx   r   r   r   r   PAGE_COLOR_ADJ)r   r   r   r|   r   r   r   rK     s    
 zAlignDialog.showColorAdjustPagec             C   sX   t t| jj dd  }|dkr8|| _tjd|  n|dkrT|| _tjd|  d S )Nr   r   zF=%dr   zG=%d)r   r   r   r   r6   r   r   r7   )r   r   r   r   r   r   rL     s    zAlignDialog.endColorAdjustPagec             C   s   | j t | jt d S )N)rW   rc   r   PAGE_FRONT_PANEL)r   r   r   r   rP     s    
zAlignDialog.showFrontPanelPagec             C   s   d S )Nr   )r   r   r   r   rQ     s    zAlignDialog.endFronPanelPagec             C   s   d S )Nr   )r   r   r   r   rT     s    zAlignDialog.checkType2PenConfigc             C   s   t j| j| _d S )N)r   rd   r   r+   )r   r   r   r   rd     s    zAlignDialog.alignType8Phase1c             C   s    | j | _t| jj | _ d| _d S )Nr   r   )r@   real_align_typeALIGN_TYPE_XBOW_OFFSETr   r.   rC   )r   r   r   r   r\     s    zAlignDialog.setXBowc          	   C   s   | j tkr8tj| j| j| j| j| j| j	 tj
| j n~| j tkrxtj| j| j| j| j| j| j	| j| j tj| j n>| j tkrtj| j| j| j| j| j| j	| j| j tj| j d S )N)r   rD   r   ZalignType4Phase2r   r'   r$   r"   r%   r5   ZalignType4Phase3rE   ZalignType5Phase2r6   r7   ZalignType5Phase3rF   ZalignType7Phase2ZalignType7Phase3)r   r   r   r   r^     s    
 
(
(zAlignDialog.setXBowValuesc             C   s0   | j | j |  jd7  _d| _| jj| d S )Nr   T)updateStepTextrA   r   ZStackedWidgetZsetCurrentIndex)r   Zpager   r   r   r     s    zAlignDialog.displayPagec             C   s   |  j d7  _ d| _d S )Nr   F)rA   r   )r   r   r   r   r     s    zAlignDialog.skipPagec             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StepTextr   r   rx   )r   r   r   r   r   r     s    zAlignDialog.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AlignzNext >ZFinish)rX   rl   r   rx   BUTTON_NEXTrc   )r   typr   r   r   rW     s    zAlignDialog.setAlignButtonc             C   s   t j| jj | j_d S )N)r   ZgetPenConfigurationr   ZgetStatusFromDeviceIDr.   )r   r   r   r   r[     s    zAlignDialog.setPenConfigc             C   s   | j d k	r| j j  d S )N)r   rM   )r   r   r   r   rS     s    
zAlignDialog.closeAllc             C   s   t jd||S )Nr   )ZqApp	translate)r   sr"   r   r   r   Z__tr  s    zAlignDialog.__tr)F)Nr   )r   )N)N)&r   
__module____qualname__r;   rh   ro   rp   rk   rm   ri   rN   rO   rR   r   rU   rV   rY   rZ   re   rf   r/   r   rK   rL   rP   rQ   rT   rd   r\   r^   r   r   r   rX   rW   r[   rS   rx   r   r   r   r   r   F   sH     a*
+
'

	r   )*rq   rt   Zbase.gbaser   r   r   r   Z
base.codesZui_utilsZPyQt5.QtCoreZPyQt5.QtGuiZPyQt5.QtWidgetsZaligndialog_baser   r   r   r   r   r   r   r   r   rX   r   rc   r?   rH   r   ZAGENT_CONFIG_BLACK_ONLYr]   ZAGENT_CONFIG_PHOTO_ONLYr_   ZAGENT_CONFIG_COLOR_ONLYr`   ZAGENT_CONFIG_COLOR_AND_BLACKra   ZAGENT_CONFIG_COLOR_AND_PHOTOrb   r   r:   r   r   r   r   r   <module>   s<   