
    =	fc                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl d dlm	Z	m
Z
mZ d dl ddl 	 d dl d dl ddlmZ 	 d dlZd dlmZmZ d dlZ ej4                  d	e       d
Z	 d dlZdZdZ dZ!dZ"dZ#dZ$e%e&jN                  e(e&jN                  e)e&jT                  e+e&jX                  e-e&jT                  e.e&jT                  e/e&jT                  e0e&jN                  e1e&jN                  e2e&jN                  e3e&jN                  e4e&jN                  iZ5er e6d      Z7 e6d      Z8 e6d      Z9e%e7ejt                  fe(e7ejt                  fe)e8ejv                  fe+e9ejx                  fe-e8ejv                  fe.e8ejv                  fe/e8ejv                  fe0e7ejt                  fe1e7ejt                  fe2e7ejt                  fe3e7ejt                  fe4e7ejt                  fiZ=i Z> G d de?      Z@ G d deA      ZB G d deC      ZD G d deE      ZFd ZGy# e$ r' ej%                  d        e j&                  d       Y w xY w# e$ r' ej%                  d        e j&                  d       Y w xY w# e$ r 	 d dlZn# e$ r dZY nw xY wY w xY w)    N)*)deviceutilsmodels   z<Python bindings for Qt4 not found. Try using --qt3. Exiting!)SystrayFrame)
SessionBuslowlevelz,Python bindings for dbus not found. Exiting!ignoreTFi'  i  i  i  
   i \&infowarningerrorc                       e Zd Zd Zd Zy)
DeviceMenuc                 \    t         j                  | ||       || _        || _        || _        y N)QMenu__init__
device_uridevice_histindex)selftitleparentr   r   r   s         "/usr/share/hplip/ui5/systemtray.pyr   zDeviceMenu.__init__u   s(    tUF+$&
    c           	         | j                          | j                  rd}| j                  D ]  }t        j                  |j                  t
              }t        j                  |j                  d      }t        t        t        |      | j                           |dt        |j                        |       }|rd|j                         }|j                  d       |j!                  |       | j#                  t        t        |      | j                                  d}| j%                  |        y | j%                  t        t'        dd            t(        j+                  ddd              y )	NTr    Fr   16x16
SystemTrayz(No events))clearr   STATUS_TO_ERROR_STATE_MAPget
event_codeERROR_STATE_CLEARr   queryStringQActionQIcongetStatusListIconr   getTimeDeltaDesctimedatefontsetBoldsetFontsetIcon	addActionload_pixmapQApplication	translate)r   firsteerror_stateessafs          r   updatezDeviceMenu.update|   s   

E%% "7;;ALLJ[\((q9E"3K"@"LM-01A!**1M$NPTV AIIdOIIaLLL'8'Edjj'Q!RS!Eq!"" NN5Y!@A&&|]DIKr   N)__name__
__module____qualname__r   r;    r   r   r   r   t   s    Kr   r   c                   "    e Zd ZddZd ZddZy)HistoryDevicec           	         || _         || _        t        j                  |      \	  }}}}}}}	}
}|dk(  r|| _        n!|dk(  r|	| _        n|dk(  r|| _        nd| _        t        j                  |      | _        |dk(  r<t        | _	        | j                  | j                  d| j                  d      | _        n|dk(  r<t        | _	        | j                  | j                  d	| j                  d      | _        n||d
k(  r<t        | _	        | j                  | j                  d| j                  d      | _        n;t        | _	        | j                  | j                  d| j                  d      | _        t        j                  | j                        | _        d| _        | j                   j%                  dt&              t(        t*        fv rd| _        d | _        y )Nusbnetparunknownhp
 Printer ()hpaio
 Scanner (hpfax Fax ( (r   z	tech-typer   )needs_updater   r   parseDeviceURIidr   normalizeModelUINamemodelDEVICE_TYPE_PRINTERdevice_type_HistoryDevice__tr	menu_textDEVICE_TYPE_SCANNERDEVICE_TYPE_FAXDEVICE_TYPE_UNKNOWNqueryModelByURImqr   r$   TECH_TYPE_NONETECH_TYPE_MONO_LASERTECH_TYPE_COLOR_LASERhistory)r   r   rO   back_endis_hpbusrS   serialdev_filehostzcports               r   r   zHistoryDevice.__init__   su   ($ %%j1 	F%eVXtR %<DGE\DGE\DGDG007
t2D!YY$**TWW'MNDN 2D!YY$**TWW'MNDN .D!YYdjj'IJDN  3D!YY$**TWW'EFDN((9
77;;{N38LNc7ddDJr   c                     |u| j                   rh|j                  | j                        \  }}t        |      d t         d   D cg c]  }t        j                  t        |        c}| _        d| _         y y y c c}w )NF)	rO   
GetHistoryr   listMAX_MENU_EVENTSr   Eventtupler`   )r   servicer   hr6   s        r   
getHistoryzHistoryDevice.getHistory   so    4#4#4#..t?MJ=A!WEYFVWYEY=Z[FLL%(3[DL %D $5[s   "A9Nc                 0    t         j                  d||      S Nr!   r3   r4   r   scs      r   __trzHistoryDevice.__tr       %%lAq99r   )Tr   )r<   r=   r>   r   rr   rV   r?   r   r   rA   rA      s    &R&:r   rA   c                   2    e Zd Z	 	 	 	 	 ddZd Zd ZddZy)SystraySettingsDialogNc                    t         j                  | |       || _        || _        ||| _        ni | _        || _        || _        || _        |	| _        || _	        |
| _
        | j                          | j                  j                          y r   )QDialogr   systray_visiblesystray_messagesdevice_listpollingpolling_intervalupgrade_notifyupgrade_last_update_timeupgrade_pending_timeupgrade_msginitUiSystemTraySettingsupdateUi)r   r   r   r   r   r   r   r   r   r   r   s              r   r   zSystraySettingsDialog.__init__   s     	v&. 0"*D!D 0+&>%"6!$((*r   c           
      ~   | j                  d       | j                  t        t        dddd      j	                               j                  | j                                      t        |       | _        | j                  j                  d       t        |       | _
        | j                  j                  | j                  | j                  | j                  | j                  | j                   | j"                  | j$                  | j&                         t)        t(        j*                  t(        j*                        }|j-                  d       |j/                  d       |j1                  | j                  j3                         j5                                | j                  j7                  |       | j                  j9                  t:        j<                         | j                  j                  d       | j                  j?                  | j                  dddd       tA        d	d
t(        j*                  t(        jB                        }| j                  jE                  |dddd       tG        |       | _$        | jH                  jK                  tF        jL                  tF        jN                  z  tF        jP                  z         | jH                  jS                  d       | jH                  j                  d       | j                  j?                  | jH                  dddd       | jH                  jT                  jW                  | jX                         | jH                  jZ                  jW                  | j\                         | j_                  | ja                  d             | jc                  te        tg        dd                   y )Nr|   r   i  i5  
gridlayoutr   r      i-     F
StdButtonsz(HP Device Manager - System Tray Settingshp_logo128x128)4setObjectNameresizeQSizeQRectsize
expandedTominimumSizeHintQGridLayoutr   r   r   r   r   r   r   r   r   r   r   r   QSizePolicy	ExpandingsetHorizontalStretchsetVerticalStretchsetHeightForWidth
sizePolicyhasHeightForWidthsetSizePolicysetFrameShadowQFrameRaised	addWidgetQSpacerItemMinimumaddItemQDialogButtonBoxr   setStandardButtonsCancelNoButtonOksetCenterButtonsacceptedconnectacceptClickedrejectedrejectsetWindowTitle_SystraySettingsDialog__trsetWindowIconr)   r2   )r   r   
spacerItems      r   r   zSystraySettingsDialog.initUi   s   23E%!C,1134??@T@T@VWX%d+%%l3".t"4&&t';';'+||T5J5J'+'7'7'+'<'<'+':':'+'@'@'+'7'7	9 !!6!6{7L7LM
''*%%a($$T%<%<%G%G%I%[%[%]^--j9..v}}=--.BC!!$"9"9!AaB R(=(=k>Q>QR

1Qq3*40**+;+B+BCSC\C\+\]m]p]p+pq((/%%l3!!$//!Aa:
 	  ((););<  ((5 	DII&PQR5Y	!BCDr   c                 h   | j                   j                  | _        | j                   j                  | _        | j                   j                  | _        | j                   j                  | _        | j                   j
                  | _        | j                   j                  | _        | j                          y r   )r   r   r   r   r   r   r   acceptr   s    r   r   z#SystraySettingsDialog.acceptClicked  s    #66FF..66 $ 7 7 H H22>> $ 7 7 H H!44CCr   c                 0    t         j                  d||      S )Nr|   ru   rv   s      r   ry   zSystraySettingsDialog.__tr)  s    %%&=q!DDr   )NTr   r    r   )r<   r=   r>   r   r   r   r   r?   r   r   r|   r|      s+     " $&'*++@+E`Er   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ej$                  ddddfdZd Zd ZddZy)SystemTrayAppc                    t         j                  | |       d | _        || _        d| _        t        j                  | j                        | _        d| _        d| _	        t               | _        | j                  j                          | j                  j                          t               | _        t!        dd      }t#        |      | _        t!        dd      }t'        |      }|j)                  dd|       |j+                          t#        |      | _        | j                  j/                  | j$                         t1               | _        d | _        t7        j8                  d	d
g      D ]  }| j;                  |        | j                  j=                  | j?                  d             | j                  j@                  jC                  | j@                         tE        | j                  tD        jF                        }|jH                  tJ           jC                  | jL                         | j                  jH                  d   jC                  | jN                         tQ        jP                  tP        jR                  tP        jT                         | j                  jW                          | j                  jX                  tZ        k(  r| j                  j]                  d       n$t^        ja                  tb        | jd                         | j                  j/                  | j,                         d| _	        d|vr| jg                          t^        ja                  th        | jj                         t_               | _6        | jl                  jn                  jC                  | jf                         | jl                  jq                  tr               y )N80s80sI32sI80sfFr   32x32activer        r   rG   rL   back_end_filterHPLIP Status Servicez!QSystemTrayIcon::ActivationReasonTz--ignore-update-firsttime):r3   r   menu	read_pipefmtstructcalcsizefmt_sizetimer_activeactive_iconUserSettingsuser_settingsloaddebugQSystemTrayIcon	tray_iconr2   r)   	prop_iconQPainter
drawPixmapendprop_active_iconr0   r	   session_busrp   r   getSupportedCUPSDevices	addDevice
setToolTip_SystemTrayApp__trmessageClickedr   QSocketNotifierRead	activatedintnotifierActivatedtrayActivatedsignalSIGINTSIG_DFLshowr   SYSTRAY_VISIBLE_SHOW_ALWAYS
setVisibleQTimer
singleShotHIDE_INACTIVE_DELAYtimeoutHideWhenInactivehandle_hplip_updationSET_MENU_DELAYinitDoneupdate_timertimeoutstartUPGRADE_CHECK_DELAY)r   argsr   pmr9   painterdnotifiers           r   r   zSystemTrayApp.__init__/  s   dD)	"$1! )^!  "(*G,r'*2,2q!$ %b	t~~.%<//wP 	ANN1	 	!!$)),B"CD%%--d.A.AB"4>>?3G3GH3''(>(>?  !DEMMdN`N`afmmV^^4--1LLNN%%d+143O3OPt445&d2&&(.$--8"H!!))$*D*DE 34r   c                 |    | j                   j                  | j                         d| _        | j	                          y NF)r   r0   r   r   setMenur   s    r   r   zSystemTrayApp.initDonew  s)    t~~. r   c                 ,    t         j                          y r   )devicesr"   r   s    r   resetDevicezSystemTrayApp.resetDevice}  s    r   c                 v    	 t         |    dt         |   _        y # t        $ r t        |      t         |<   Y y w xY w)NT)r   rO   KeyErrorrA   )r   r   s     r   r   zSystemTrayApp.addDevice  s>    	4J 04GJ,  	<"/
";GJ	<s   	 88c                     t         j                  d       t        j                  dd      }d|z  }t	        j
                  |       y )Nzhandle_hplip_clean dirshomezsh %s/hplip_clean.sh)logr   sys_confr$   ossystem)r   home_dircmds      r   handle_hplip_cleanz SystemTrayApp.handle_hplip_clean  s4    		'(<</$X-
		#r   c                    t         j                  d| j                  j                  z         t	        j
                  d      }| j                  j                  du rt         j                  d       |rt        j                  j                  |d      }t         j                  d|z         t        j                  t        j                  |dd       t        j                  d       	 t        j                  dt        j                         y y t        j                         }t!        |      | j                  j"                  kD  rt	        j
                  d      }|rtt        j                  j                  |d      }t         j                  d|z         t        j                  t        j                  |dd	       t        j                  d       nDt         j%                  d
       n.t         j                  d| j                  j"                  |fz         	 t        j                  dt        j                         y # t        $ r Y y w xY w# t        $ r Y y w xY w)Nz(handle_hplip_updation upgrade_notify =%dz
hp-upgradeFz,upgrade notification is disabled in systray zRunning hp-upgrade: %s z--check   r   z--notifyz+Unable to find hp-upgrade --notify on PATH.zOupgrade schedule time is not yet completed. schedule time =%d current time =%d )r  r   r   r   r   whichr	  pathjoinspawnlpP_NOWAITtimesleepwaitpidWNOHANGOSErrorr   upgrade_pending_update_timer   )r   r  current_times      r   r   z#SystemTrayApp.handle_hplip_updation  s   		<d>P>P>_>_`a{{<(,,5IIDEww||D,7		3t<=

2;;lIF

1JJq"**-  yy{|t11MMM;;|,Dww||D,7		3t<=

2;;lJG

1		GHIIgjnj|j|  kY  kY  [g  jh  h  i	JJq"**%+  ,  		s$   %$H6 $I 6	II	IIc           	      &   t               | _        t        | j                        }|j                  | j	                  d             |j                  | j                         |j                  d       | j                  j                  d |       t        r| j                  Id}|dk  rB	 | j                  j                  dd      | _
        |dz  }t#        j$                  d	       |dk  rB| j                  | j                  j'                          t        D ]  }t        |   j)                  | j                         t+        t        |   j,                  | j                  |t        |   j.                  t        |   j0                        }| j                  j3                  |       |j5                           | j                  j'                          | j                  j7                  | j	                  d
      | j8                         | j                  j'                          | j                  j7                  t;        t=        dd            | j	                  d      | j>                        | _         | j                  j'                          | j                  j7                  t;        t=        dd            d| jB                         | jD                  jG                  | j                         y # t        j                  $ r t        j!                  d       Y Fw xY w)Nr   Tr      com.hplip.StatusServicez/com/hplip/StatusServicez/Unable to connect to StatusService. Retrying...r   g      ?zHP Device Manager...settingsr    zSettings...quitQuit)$r   r   r(   setTextr   r0   r   setIconVisibleInMenuinsertActionr   rp   r   
get_objectdbusDBusExceptionr  warnr  r  addSeparatorrr   r   rW   r`   r   addMenur;   r1   toolboxTriggeredr)   r2   settingsTriggeredsettings_actionquitTriggeredr   setContextMenu)r   r   tr   r   s        r   r   zSystemTrayApp.setMenu  sK   G			" 	dii 678dnn%""4(		tU+||#!eT'+'7'7'B'BC\B\(^
 FAJJsO !e ||'		&&(  "AAJ))$,,7%gaj&:&:DIIq'RS*J\J\^efg^h^n^noDII%%d+KKM" 			 		DII&<=t?T?TU		 #yy225ZQX9Y3Z$(IIm$<t?U?U W 			 		E+fg">?I[I[\%%dii07  -- T!RSTs   (!K$ $(LLc                 *   | j                   y | j                  ddt               t        j	                  dd      }| j
                  j                          t        j                  dt        j                  | j
                  j                              }t        j                  || j
                  j                        rt        t        j                               | j
                  j                  k  rat        j                  dt        j                  | j
                  j                              }d|d|d| j
                  j                  d|d		}nz| j
                  j                  r!d|d|d| j
                  j                  d
}nCd|d| j
                  j                  d
}n%| j
                  j                  r
d|d|d	}nd|z  }	 t!        | j                   | j
                  j"                  | j
                  j$                  | j
                  j&                  | j
                  j(                  | j
                  j*                  | j
                  j,                  | j
                  j                  | j
                  j                  |
      }|j/                         t0        j2                  k(  r5|j"                  | j
                  _        |j(                  | j
                  _        |j,                  | j
                  _        t4        j7                  d| j
                  j,                  z         | j
                  j9                          | j
                  j"                  t:        k(  r1t4        j7                  d       | j<                  j?                  d       n9t4        j7                  d       t@        jC                  tD        | jF                         | j                  ddtH               | j                  ddtJ               y # | j                  ddtJ               w xY w)Nr   hplipversionz%d-%m-%YzHPLIP-z version was installed on z.

New version of HPLIP-z9 is available for upgrade. HPLIP upgrade is scheduled on .z is available for upgrade.z. version was installed.

New version of HPLIP-zHPLIP-%s version was installed.zHPLIP update  notification = %d
Showing...TWaiting to hide...)&r   sendMessageEVENT_DEVICE_STOP_POLLINGr  r$   r   r   r  strftime	localtimer   r   Is_HPLIP_older_versionlatest_available_versionr   r  r|   r   r   r   r   polling_device_listr   exec_r~   Acceptedr  r   saver   r   r   r   r   r   r    EVENT_USER_CONFIGURATION_CHANGEDEVENT_DEVICE_START_POLLING)r   cur_versinstalled_timepostponed_timer   dlgs         r   r,  zSystemTrayApp.settingsTriggered  sQ   99R!:;<<3!j$..ASASAlAl2mn''$2D2D2]2]^499;$"4"4"P"PP $j$..I[I[IwIw:x y _g  hv  y}  yK  yK  yd  yd  ft  u##<< }E  FT  W[  Wi  Wi  WB  WB  C = w  AE  AS  AS  Al  Al  m88BJN[K:HEK	A'		43E3E3U3U(,(:(:(B(BDDVDVDgDg(,(:(:(K(K(,(:(:(N(N(,(:(:(I(I(,(:(:(V(V(,(:(:(S(S(35C yy{g...585H5H""2696J6J""3474F4F""1		;T=O=O=^=^_`""'')%%559TTIIl+NN--d3 II23%%&94;W;WX  R)IJ R%?@DR%?@s   HO9 9Pc                     t         j                  d       | j                  j                  t        t
        fv r1| j                  j                  d       t         j                  d       y y )Nz	Hiding...FHidden)r  r   r   r   "SYSTRAY_VISIBLE_HIDE_WHEN_INACTIVESYSTRAY_VISIBLE_HIDE_ALWAYSr   r   r   s    r   r   z%SystemTrayApp.timeoutHideWhenInactive$  sM    		+--2TVq1rrNN%%e,IIh sr   c                     | j                   y | j                   j                         D ]!  }	 |j                         j                          # y # t        $ r Y 0w xY wr   )r   actionsr;   AttributeError)r   r9   s     r   
updateMenuzSystemTrayApp.updateMenu+  sT    99""$ 	A!	 " s   A	AAc                 v   |t         j                  k(  r| j                          y |t         j                  k(  r| j	                          y |t         j
                  k(  rJ| j                          | j                  -| j                  j                  t        j                                y |t         j                  k(  ry y r   )r   ContextrN  DoubleClickr+  Triggerr   popupQCursorposMiddleClick)r   reasons     r   r   zSystemTrayApp.trayActivated6  s    _,,,OO 222!!#...OO99$		.222 3r   c                      y r   r?   r   s    r   r   zSystemTrayApp.messageClickedL  s    r   c                     t         j                  d       | j                  ddt               | j	                          | `y )NExitingr   )r  r   r7  EVENT_SYSTEMTRAY_EXITr   r   r   s    r   r.  zSystemTrayApp.quitTriggeredQ  s/    		)R!67		Nr   c                    	 t        j                  dt         j                         t	        j
                  dd      \  }}|rt	        j                  |       t	        j                  d      }|r!t         j                  j                  |d      }nd| j                  j                  | j                  d      | j                  d      t        j                  t               t         j#                  d       y t         j%                  d       t        j&                  t         j(                  |d       y | j+                  ddt,        d	
       y # t        $ r Y -w xY w)Nrj   z
hp-toolboxTr   z+Unable to locate hp-toolbox on system PATH.z"Unable to find hp-toolbox on PATH.zRunning hp-toolbox: hp-toolboxr   zcom.hplip.Toolbox)	interface)r	  r  r  r  r   lock_appunlockr  r  r  r   showMessager   r   CriticalTRAY_MESSAGE_DELAYr  r   r   r  r  r7  EVENT_RAISE_DEVICE_MANAGER)r   ok	lock_filer  s       r   r+  zSystemTrayApp.toolboxTriggeredW  s    	JJr2::&
 |T:ILL#;;|,Dww||D,7**4995K+L $		*W X / 8 8:LN 		>? II67JJr{{D,7 R%?K^_3  		s   $E 	EEr   r   r  c	                 l    t        j                  ||||||      j                  | j                  |       y r   )r   rn   send_via_dbusr   )	r   r   printer_namer%   usernamejob_idr   	pipe_namer]  s	            r   r7  zSystemTrayApp.sendMessagev  s/     	Zz8VUSaabfbrbrt}~r   c                 T   d}	 	 t        j                   | j                  gg | j                  gd      \  }}}|rt        j                  d|z         y |	rt        j                  | j                  | j                        }t        |      | j                  k\  rt        j                  t        j                  | j                  |d | j                         D cg c]4  }t        |t              r |j!                  d      j#                  d      n|6 c} }|| j                  d  }|j$                  t&        k(  s|j$                  t(        k(  rN| j+                          t        j,                  dd	g
      D ]  }| j/                  |        | j1                          |j$                  t2        k(  rJt        j	                  d       | j4                  j7                          | j4                  j	                          n$|j$                  t8        k(  r| j;                          y | j4                  j<                  t>        t@        fv r;t        j	                  d       | jB                  jE                  d       |j$                  tF        k(  r:| jH                  s,| jB                  jK                  | jL                         d| _$        8|j$                  tN        k(  r:| jH                  r,| jB                  jK                  | jP                         d| _$        |j$                  tR        k(  r^| jH                  sP| jB                  jK                  | jL                         d| _$        tT        jW                  tX        | jZ                         | j4                  j<                  t@        t\        fv r9t        j	                  d       tT        jW                  t^        | j`                         |j$                  tb        k  s'|j$                  t&        k(  s|j$                  t(        k(  rO|j$                  t&        k7  r+| j/                  |jd                         | j1                          | jB                  jg                         rt        j	                  d       |j	                          th        jk                  |j$                  tl              }	t        jn                  |j$                        }
d}| j4                  jp                  tr        k(  rd}n`| j4                  jp                  tt        tv        fv r>|	tx        k(  rd}n2| j4                  jp                  tt        k(  r|	tz        t|        t~        fv rd}|j                  r|j                  }nt        j                  |jd                        \	  }}}}}}}}}|dk(  r|}n|dk(  r|}n
|dk(  r|}nd}t        j                  |      | _D        |dk(  r| j                  |d|d      }nQ|dk(  r| j                  |d|d      }n4|d	k(  r| j                  |d|d      }n| j                  |d|d      }|r%t        rt        j                  d      rt        jk                  |	t        d      t        j                  f      \  }}|j                  r|j                  rt        |      d|
d|j                  d|j                  d|j                  d
}t        j	                  d |jd                  |
|j                  |j                  |j                  |j$                  fz         nMt        |      d|
d|j$                  d}t        j	                  d!|jd                  |
|j$                  fz         t        j                  d"||      }|j                  d#d       |j                  |       |	tx        k(  r |j                  t        j                         n|j                  t               |j                          n^t        jk                  |	t        j                        }|j                  r|j                  rt        j	                  d$|jd                  |
|j                  |j                  |j                  |j$                  fz         | jB                  j                  | j                  d"      |d|
d|j                  d|j                  d|j                  d
|t               nst        j	                  d%|jd                  |
|j$                  fz         | jB                  j                  | j                  d"      |d|
d|j$                  d|t               t        |      | j                  k\  rny 	s# t         j                  $ r t        j	                  d       Y y w xY wc c}w )&Nr   T      ?zError in select()zPipe error: %s    zutf-8rG   rL   r   z;Re-reading configuration (EVENT_USER_CONFIGURATION_CHANGED)r5  Fr6  zTray icon message:rC   rD   rE   rF   rH   rI   rJ   rK   rM   rN   r2  r   
z: z
(/z9Notify: uri=%s desc=%s title=%s user=%s job_id=%d code=%dzNotify: uri=%s desc=%s code=%dzHPLIP Device Status	transientz9Bubble: uri=%s desc=%s title=%s user=%s job_id=%d code=%dzBubble: uri=%s desc=%s code=%d)[selectr   r   r  r   r	  readr   lenr   rn   r   unpackr   
isinstancebytesrstripdecoder%   EVENT_CUPS_QUEUES_REMOVEDEVENT_CUPS_QUEUES_ADDEDr  r   r   r   rA  r   r   r[  r   r   r   rI  r   r   EVENT_DEVICE_UPDATE_ACTIVEr   r0   r   EVENT_DEVICE_UPDATE_INACTIVEr   EVENT_DEVICE_UPDATE_BLIPr   r   
BLIP_DELAYblipTimeoutrJ  r   r   EVENT_MAX_USER_EVENTr   supportsMessagesr#   r$   r&   r'   r   SYSTRAY_MESSAGES_SHOW_ALL)SYSTRAY_MESSAGES_SHOW_ERRORS_AND_WARNINGS!SYSTRAY_MESSAGES_SHOW_ERRORS_ONLYERROR_STATE_ERRORERROR_STATE_WARNINGERROR_STATE_LOW_SUPPLIESERROR_STATE_LOW_PAPERrh  rP   r   rR   rS   r   have_pynotifypynotifyinit(ERROR_STATE_TO_ICON_AND_URGENCY_PYNOTIFYgetPynotifyIconURGENCY_NORMALrj  r   
to_unicoderi  Notificationset_hintset_urgencyset_timeoutEXPIRES_NEVERrb  r   ERROR_STATE_TO_ICONr   Informationr`  )r   rw   mrwr6   xeventr   r7   descshow_messagera   rb   rc   rS   rd   re   rf   rg   rh   iddiconurgencymsgns                             r   r   zSystemTrayApp.notifierActivated|  s1    --(8"t~~>NPST1a
 		*Q./GGDNNDMM:!f-"LLu{  vC  vC  DH  DL  DL  NO  P^  QU  Q^  Q^  N_  v`  +apqPZ[\^cPd188G+<+C+CG+Ljk+k  +a  bE$--.)A''+DDHXHX\sHs((*!'!?!?QUW^P_!` .A NN1-. ''+KK		"_`**//1**002))-BB		))9946XYZ 		,/11$7 ++/II#'#3#3 $ 6 6t7L7L M37 0$"--1MM#// $ 6 6t~~ F38 0$"--1II#'#3#3 $ 6 6t7L7L M37 0 & 1 1*d>N>N O$))99>`b}=~~		"67))*=t?[?[\''+??((,EEIYIY]tIt ++/HH NN5+;+;< LLN>>::<II&:;!KKM*C*G*GHXHXZk*lK#)#5#5e6F6F#GD+0L#11BBF__/3!%!3!3!D!DIr  uV  IW  "W#.2C#C37L%)%7%7%H%HLu%u$/4GIacx3y$y37L$11$)$6$6 170E0EeFVFV0W !^%eVXtUWY] $'%<*0C%(E\*.C%(E\*2C*3C-3-H-H-O
#+t#3(,		U32O(PA%-%8(,		U32O(PA%-%8(,		s2K(LA )-		U32G(HA+#0X]]75K4\4`4`al)8)@(BYBY(Z5\MD' (-||GQRS}VZ\a\g\giniwiwy~  zF  zF  /G(+		2m161A1A4V[VdVdfkfrfrty  uE  uE  1F3F )G @J!}dTYTdTd.e(+		2RV[VfVfhlnsn~n~U2  )A(0(=(=>SUXZ^(_A$%JJ{D$A$%MM'$:'26G'G()h6L6L(M()6H(I$%FFH ,?+B+B;P_PkPk+lD',||(+		2m161A1A4V[VdVdfkfrfrty  uE  uE  1F3F )G(,(B(B499MbCcZ[\`bgbmbmnsn|n|  ~C  ~J  ~J  DKCGI[)]
 ),		2RV[VfVfhlnsn~n~U2  )A(,(B(B499MbCcRSTXY^YiYiCjCGI[)]] !f-f C  << 		-. +as   2e7 9f%7(f"!f"c                 v    | j                   r-| j                  j                  | j                         d| _         y y r   )r   r   r0   r   r   s    r   r  zSystemTrayApp.blipTimeout#  s.    NN""4>>2$D r   Nc                 0    t         j                  d||      S rt   ru   rv   s      r   ry   zSystemTrayApp.__tr*  rz   r   r   )r<   r=   r>   r   r   r  r   r  r   r   r,  r   rN  r   r   r.  r+  propri  r7  r   r  r   r?   r   r   r   r   -  sz    <5P4$T.1f5Ap ,
`> JNB"@YcN%:r   r   c                    t         j                  d       t         j                  dt        j                         z         	 t        t        j                  |       }j                  d       d}|dk  r5t        j                         rn t        j                  d       |dz  }|dk  r5t        j                         rWt!        | t         j"                        }|j$                  t&           j)                  |j*                         |j-                          y y # t        j                  $ r7}t         j                  d|z         t        j                  d       Y d }~d }~ww xY w)	Nzhp-systray(qt5)zPID=%dzCaught exception: %sr   Fr   <   rm  )r  
set_moduler   r	  getpidr   sysargvr&  r'  exitsetQuitOnLastWindowClosedr   isSystemTrayAvailabler  r  r   r   r   r   r   r   r>  )r   appr6   ir   s        r   runr  /  s   NN$%IIh$%CHHi0 !!%(	A
b&002

3	Q	 b& ,,."9o.B.BC3''(=(=>		 /  		(1,-s   D E'-EE)Hr  r   rr  r	  r   os.pathr  base.gbaser   r   r   
base.codesui_utilsPyQt5.QtCorePyQt5.QtGuiImportErrorr  r   r  systrayframer   r&  r	   r
   warningssimplefilterDeprecationWarningr  notify2r  rb  r   r  r   rm   r   r&   r   r  ERROR_STATE_OKr  Warningr  ra  r  ERROR_STATE_BUSYr  ERROR_STATE_PRINTINGERROR_STATE_SCANNINGERROR_STATE_PHOTOCARDERROR_STATE_FAXINGERROR_STATE_COPYINGr  r  r   r(  errURGENCY_LOWr  URGENCY_CRITICALr  r   r   r   QObjectrA   r~   r|   r3   r   r  r?   r   r   <module>r     s  ,    	     & &  
 ')
    h 2 3    
!  o99o99o55o66o55o55o55o99o99o99o99o99  6"D9%D
'
"C4)=)=">4)=)=">4)@)@"A3(A(A"B 4)@)@"A4)@)@"A4)@)@"A4)=)=">4)=)=">4)=)=">4)=)=">4)=)=">0, K KF2:G 2:n\EG \E~~:L ~:DO  IILMCHHQK  II<=CHHQK   sY   
H H5 .I$ (H21H25(I! I!$J *I/.J /I96J 8I99J ?J 