__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���gQ����SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSK	7 SSK
JrJrJ
r
JrJrJrJr SSKJr SSKJr SSK7 SSK7 SSK7 SSK7 SSK7 SSK7 SSKr\R:r\R@"S5r!SSK"r"SS	K#J$r$ SS
K"J%r% SSK*r*\*RV"S
\,5 SSK-J.r. SSK/J0r0 SSK1J2r2 SSK3J4r4 SSK5J6r6 SSK7J8r8 SSK9J:r: SSK;J<r< SSK=J>r> SSK?J@r@ SSKAJBrB SSKCJDrD SSKEJFrF SSKGJHrH SSKIJJrJ SSKKJLrL SSKMJNrN SSKOJPrP SS KQJRrR SS!KSJTrT SS"KUJVrV SS#K
Jr S$rWS%rXS&rY0rZ\R�"5r\"S'S(\]5r^"S)S*\]5r_"S+S,\`5ra"S-S.\0\.\b5rc"S/S0\d5reS1rfS2rgg!\a \rGN#f=f!\&a? \'RQS5 \(a\'RQS5 \RR"S5 GNHf=f)3�N)�configparser)�*)�device�utils�pml�maint�models�pkit�os_utils)�cups)�PY3��hpmudext)�
DBusGMainLoop)�lowlevelzLUnable to load DBus libraries. Please check your installation and try again.zHPlease upgrade your python installation to the latest available version.�ignore)�
Ui_MainWindow)�Ui_MainWindow_Derived)�FaxSetupDialog)�PluginDialog)�FirmwareDialog)�AlignDialog)�PrintDialog)�MakeCopiesDialog)�
SendFaxDialog)�	FABWindow)�DeviceSetupDialog)�PrintTestPageDialog)�
InfoDialog)�CleanDialog)�ColorCalDialog)�LineFeedCalDialog)�PQDiagDialog)�NoDevicesDialog)�AboutDialog)�SettingsDialog)�PrintSettingsToolbox)r��<�c��\rSrSrSrSrg)�FuncViewItem�tc�\�[RU[U5X!5 X@lXPlg�N)�QListWidgetItem�__init__�QIcon�tooltip_text�cmd)�self�parent�text�pixmapr3r4s      �/usr/share/hplip/ui5/devmgr5.pyr1�FuncViewItem.__init__us#��� � ��u�V�}�d�C�(����)r4r3N��__name__�
__module__�__qualname__�__firstlineno__r1�__static_attributes__�r;r9r,r,ts��r;r,c��\rSrSrSSjrSrg)�DeviceViewItem�|c��[RU[U5X!5 X@lXPlUR[R5 gr/)r0r1r2�
device_uri�is_avail�setTextAlignment�Qt�AlignHCenter)r5r6r7r8rGrHs      r9r1�DeviceViewItem.__init__}s4��� � ��u�V�}�d�C�$�� �
����b�o�o�.r;)rGrHN)Tr<rBr;r9rDrD|s��/r;rDc�*�\rSrSrSrSrSSjrSrg)�
PluginInstall�c�(�XlX lX0lgr/)r6�plugin_type�plugin_installed)r5r6rQrRs    r9r1�PluginInstall.__init__�s����&�� 0�r;c���SnUR(a�[RURURR	5URS5[R[R-[R5[R:HnU(a�[R"UR[:HURRRS5up#U(dx[RURURR	5URS5[R [R-[R5 ggg)NTzZ<b>The HPLIP plugin is already installed.</b><p>Do you want to continue and re-install it?z
plugin-reasonzm<b>Unable to find an appropriate su/sudo utility to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>)rR�QMessageBox�warningr6�windowTitle�_PluginInstall__tr�Yes�No�NoButtonr
�run_plugin_commandrQ�PLUGIN_REQUIRED�
cur_device�mq�critical�Ok)r5�install_plugin�ok�sudo_oks    r9�exec_�PluginInstall.exec_�s����� � �(�0�0���� $��� 7� 7� 9� $�	�	�+G�!H� +���+�.�.� @� +� 4� 4�	6�:E���	I�N���1�1�$�2B�2B�o�2U�W[�Wb�Wb�Wm�Wm�Wp�Wp�rA�XB�C�K�B���$�$�T�[�[��K�K�+�+�-��I�I�N�O��N�N�[�%9�%9�9��(�(�	*��r;Nc�.�[RSX5$�N�DevMgr5��qApp�	translate�r5�s�cs   r9�__tr�PluginInstall.__tr�����~�~�i��,�,r;)r6rRrQr/)r=r>r?r@r1rerXrArBr;r9rNrN�s��1�*�(-r;rNc�V^�\rSrSrSVU4SjjrSrSrSrSrSr	S	r
S
rSrSr
SWS
jrSrSr\R$SS4SjrSrSXSjrSrSrSrSrSrSWSjrSrSrSrSYSjrSr Sr!S r"S!r#SZS"jr$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S[S2jr4S3r5S4r6S5r7S6r8S\S7jr9S8r:S9r;S:r<S;r=S<r>S=r?S>r@S?rAS@rBSArCSBrDSCrESDrFSErGSFrHSGrISHrJSIrKSJrLSKrMSXSLjrNSMrOSNrPSOrQSPrRS]SQjrSSRrTSSrUSWSTjrVSUrWU=rX$)^ri��rc�>�[[U]U5 [R	S5 [R	S[
R-5 XlX l0Ul	SUl
SUlSUlSUl
SUlSUlSUl[#[$5nUR'5Ul[)5UlUR*R-5 UR*R	5 UR*R.Ul[2R5SS5n[6R8"X�R*R:5(dUR=USUR 5 O0UR=XR*R:UR 5 UR?5 URA5 URC5 URE5 [FRH"[J5 [
RL(dURNRQS5 SUl)[TRWSURX5 g)	Nz Initializing toolbox UI (Qt5)...zHPLIP Version: %srF�hplip�version�T)-�superrir1�log�debug�prop�installed_version�toolbox_version�initial_device_uri�device_vars�num_devicesr^�cur_printer�updating�init_failed�service�Is_autoInstaller_distro�CoreInstall�
MODE_CHECK�is_auto_installer_support�UserSettings�
user_settings�load�last_used_device_uri�cur_device_uri�sys_conf�getr�Is_HPLIP_older_version�latest_available_version�setupUi�initDBus�initPixmaps�initMisc�initUIr�setPasswordCallback�showPasswordUI�	doc_build�ContentsAction�
setEnabled�allow_auto_refresh�QTimer�
singleShot�initalUpdate)
r5r~r�	dbus_loopr6�name�fl�corer}�	__class__s
         �r9r1�DevMgr5.__init__�s����	�g�t�%�f�-��	�	�4�5��	�	�%��(>�(>�>�?� /��"4����������������
� ������',��$��J�'��'+�'E�'E�'G��$�)�^��������!���� � �"�"�0�0�E�E���"�,�,�w�y�9���+�+�->�AS�AS�Al�Al�m�m��L�L��b��!=�!=�>��L�L��1�1�J�J�4�Kg�Kg�h�	
�
�
�������
�
�����
�� � ��0��~�~����*�*�5�1�"&������!�T�.�.�/r;c	�2�[SS9Ul[R"UR5uUlUlUlUR(d[RS5 SUl	gURRURSSSSSS	9 g)
NT)�set_as_defaultz#dBus initialization error. Exiting.�sender�dest�	interface�member�path)�sender_keyword�destination_keyword�interface_keyword�member_keyword�path_keyword)rr�r�	init_dbus�
dbus_availr��session_busrz�errorr��add_signal_receiver�handleSessionSignal�r5s r9r��DevMgr5.initDBuss��&�d�;���:@�:J�:J�4�>�>�:Z�7�����t�'7�����I�I�;�<�#�D���	
���,�,�T�-E�-E�V^� &�+�#�&�	-�	:r;c��SUl0Ul0UlUR[	[SS555 [SS5Ulg)NF�hp_logo�128x128�fax2�other)�func_icons_cached�
func_icons�device_icons�
setWindowIconr2�load_pixmap�fax_iconr�s r9r��DevMgr5.initPixmaps!sC��!&���������	
���5��Y�	�!B�C�D�#�F�G�4��
r;c�j
^�TRRS5 TRR[R5 TR[R5 TRRRU4Sj5 TRRRU4Sj5 TRRSRTR5 TRR[![#SS555 TRRRTR$5 TR&R[![#SS555 TR&RRTR(5 TR*R[![#SS555 TR*RRTR,5 TR.R[![#S	S555 TR.RRTR05 TR2R[![#S
S555 TR2RRTR45 TR6R[![#SS555 TR6RRTR85 TR:R[![#SS555 TR:RRTR<5 TR>RRTR@5 TRBRDS
RTRF5 TRHRDS
RTRJ5 [LRL"[LRN[LRP5 TRS5 TRU5 TRW5 TRY5 TR[5 TR\R^[`RTRb5 TRdRgSS/5 TRRi[kSS55 TRRlSRTRn5 g)NTc�B>�TR[R5$r/��setDeviceListViewMode�	QListView�IconModer�s�r9�<lambda>� DevMgr5.initUI.<locals>.<lambda>2s����9S�9S�T]�Tf�Tf�9gr;c�B>�TR[R5$r/�r�r��ListModer�s�r9r�r�3s����8R�8R�S\�Se�Se�8fr;zconst QPoint &�refresh1�16x16�refresh�list_add�list_remove�settings�help�quitzconst QString &�PiXr))�QListWidgetItem *r�)8�
DeviceList�setSortingEnabled�setContextMenuPolicyrJ�CustomContextMenur�r�r��ViewAsIconsAction�	triggered�connect�ViewAsListAction�customContextMenuRequested�%DeviceList_customContextMenuRequested�DeviceRefreshAction�setIconr2r��DeviceRefreshAction_activated�RefreshAllAction�RefreshAllAction_activated�SetupDeviceAction�SetupDeviceAction_activated�RemoveDeviceAction�RemoveDeviceAction_activated�PreferencesAction�PreferencesAction_activatedr��helpContents�
QuitActionr��AboutAction�	helpAbout�PrintControlPrinterNameCombo�	activated�&PrintControlPrinterNameCombo_activated�PrintSettingsPrinterNameCombo�'PrintSettingsPrinterNameCombo_activated�signal�SIGINT�SIG_IGN�initActionsTab�
initStatusTab�initSuppliesTab�initPrintSettingsTab�initPrintControlTab�Tabs�currentChanged�int�Tabs_currentChanged�splitter�setSizes�setIconSize�QSize�currentItemChanged�DeviceList_currentChangedr�s`r9r��DevMgr5.initUI,s�������)�)�$�/����,�,�R�-A�-A�B��"�"�9�#5�#5�6����(�(�0�0�1g�h����'�'�/�/�0f�g����2�2�3C�D�L�L�T�Mw�Mw�x�	
� � �(�(��{�:�w�/O�)P�Q�� � �*�*�2�2�4�3U�3U�V����%�%�e�K�	�7�,K�&L�M����'�'�/�/��0O�0O�P����&�&�u�[��W�-M�'N�O����(�(�0�0��1Q�1Q�R����'�'��k�-��.Q�(R�S����)�)�1�1�$�2S�2S�T����&�&�u�[��W�-M�'N�O����(�(�0�0��1Q�1Q�R�	
���#�#�E�+�f�g�*F�$G�H����%�%�-�-�d�.?�.?�@�������k�&�'�&B� C�D����!�!�)�)�$�)�)�4����"�"�*�*�4�>�>�:��)�)�3�3�4E�F�N�N�t�Oz�Oz�{��*�*�4�4�5F�G�O�O�PT�P|�P|�}��
�
�f�m�m�V�^�^�4�	
�������������!�!�#�� � �"�	
�	�	� � ��%�-�-�d�.F�.F�G�	
�
�
����C�y�)�	
���#�#�E�"�b�M�2����*�*�+S�T�\�\�]a�]{�]{�|r;c��URURURURURUR
S.UlSUl[R(ab[RR[RSS5S5n[RRU5(a
SU-UlSUlg)N)rr���r(zhttp://hplip.sf.net�dirs�docz
index.htmlz	file://%szhttps://launchpad.net/hplip)�updateActionsTab�updateStatusTab�updateSuppliesTab�updatePrintSettingsTab�updatePrintControlTab�updateHPLIPupgrade�TabIndex�docsr|r��osr��joinr�r��exists�support)r5�gs  r9r��DevMgr5.initMiscls���!�2�2�!�1�1�!�3�3�!�8�8�!�7�7� �3�3���
�*��	��>�>������X�\�\�&�%�8�,�G�A��w�w�~�~�a� � �'�!�O��	�5��r;c�Z�UR(aUR5 gUR5 SnURbDUR	UR5(d$[
R
SUR-5 SnUR(a�UR5 UR[R:Xa*URR[UR5 UR(d+URR[ UR5 ggg)NTzDevice %s not foundF)r��close�
rescanDevicesr�activateDevicerzr�r��getPrinterState�
printer_stater�IPP_PRINTER_STATE_STOPPEDr^�	sendEvent�EVENT_PRINTER_QUEUE_STOPPED�printer_accepting�"EVENT_PRINTER_QUEUE_REJECTING_JOBS)r5�conts  r9r��DevMgr5.initalUpdate�s�������J�J�L���������"�"�.��&�&�t�'>�'>�?�?��	�	�/�$�2I�2I�I�J������� � �"��!�!�T�%C�%C�C����)�)�*E�t�GW�GW�X��)�)����)�)�*L�d�N^�N^�_�*�
r;c
��[R[RSS<SU<SS<355 SnURR	U5nSnUbqUR
U:Xa<SnURR
US5 URRU5 U$US-
nURR	U5nUbMqU$)Nz
Activate: �********************� rFTr)rzr{�boldr��itemrG�setSelected�setCurrentItem)r5rG�index�d�founds     r9r$�DevMgr5.activateDevice�s����	�	�#�(�(�6�:�v�N�O�P����O�O� � ��'�����m��|�|�z�)������+�+�A�t�4����.�.�q�1��
��
�Q�J�E����$�$�U�+�A��m��r;c�*�USS:XGa�USS:XGa�[RS5 [R"USS6nUR5 UR[
:agUR[:Xa|[RSUR-5 URUR5nUb;URRURURURS9 ggUR[":Xa0[RS
5 UR$R'5 gUR[(:XaS[RSUR-5 URUR5nUbUR+U5 ggUR[,:XaP[RS5 [R/S
5 [0R2"5 UR55 gUR[6:Xax[RS5 UR95 UR;UR=5[>R@)-[>RB-5 URE5 gUR[F[H[J4;ag[R!SUR-5 ggg![RRan[R!S	5 SnAgSnAff=f)Nr�zcom.hplip.Toolboxr��EventzHandling event...�zEVENT_DEVICE_UPDATE_REPLY (%s)��
reply_handler�
error_handlerz dbus call to GetStatus() failed.� EVENT_USER_CONFIGURATION_CHANGEDzEVENT_HISTORY_UPDATE (%s)�EVENT_SYSTEMTRAY_EXITzDHPLIP Status Service was closed. HPLIP Device Manager will now exit.�EVENT_RAISE_DEVICE_MANAGERzUnhandled event: %d)&rzr{rr:�
event_code�EVENT_MIN_USER_EVENT�EVENT_DEVICE_UPDATE_REPLYrG�findDeviceByURIr��	GetStatus�handleStatusReply�handleStatusError�dbus�
exceptions�
DBusExceptionr�r?r�r��EVENT_HISTORY_UPDATE�
updateHistoryr@�warnr�releaseCupsInstancer"rA�
showNormal�setWindowState�windowStaterJ�WindowMinimized�WindowActive�raise_�EVENT_DEVICE_START_POLLING�EVENT_DEVICE_STOP_POLLING�EVENT_POLLING_REQUEST)r5�args�kwds�event�dev�es      r9r��DevMgr5.handleSessionSignal�sl����� 3�3���N�g�%��I�I�)�*��L�L�$�r��(�+�E��K�K�M����"6�6���!�!�%>�>��	�	�:�U�=M�=M�M�N��*�*�5�+;�+;�<���?�F����.�.�u�/?�/?�t�Oe�Oe�*.�*@�*@�/�B�#��!�!�%E�E��	�	�<�=��"�"�'�'�)��!�!�%9�9��	�	�5��8H�8H�H�I��*�*�5�+;�+;�<���?��&�&�s�+�#��!�!�%:�:��	�	�1�2����_�`��(�(�*��
�
���!�!�%?�?��	�	�6�7����!��#�#�D�$4�$4�$6�"�:L�:L�9L�$L�r���$^�_����
��!�!�&@�&?�&;�&=�=���	�	�/�%�2B�2B�B�C�c
&�4��& �?�?�8�8�F��	�	�"D�E�E��F�s�:9K�L�3L
�
Lc��URU5nUb�0nUH>n[R[U5[X%55nUR	XV5 M@ UR5UlURH/nURUURURSS5'M1 URU5 gg)N�-�_)
rE�	model_obj�convert_data�str�
setdefault�copy�dq�__dict__�replace�updateDevice)r5rG�datar\�t�key�valuer6s        r9rG�DevMgr5.handleStatusReply�s����"�"�:�.���?��A���!�.�.�s�3�x��T�Y��H�����S�(���V�V�X�C�F��V�V��36�6�6�!�9����Q�Y�Y�s�3�/�0��
���c�"�r;c�@�[R[U55 gr/�rzr�rd�r5r]s  r9rH�DevMgr5.handleStatusError�����	�	�#�a�&�r;c��UcURnURRURURUR
S9 g![RRan[RS5 SnAgSnAff=f)Nr<z!dbus call to GetHistory() failed.)r^r��
GetHistoryrG�handleHistoryReply�handleHistoryErrorrIrJrKrzr�)r5r\r]s   r9rM�DevMgr5.updateHistory�sn���;��/�/�C�	;��L�L�#�#�C�N�N�$�BY�BY�26�2I�2I�
$�
K�����,�,�	;��I�I�9�:�:��	;�s�9A�B�)B�Bc��URU5nUb�/nUR5 UH.nUR[R"[U565 M0 USRUl[RUR[5Ul
XClURU5 gg![a [UlNYf=f�Nr)rE�reverse�appendrr:�tuplerB�
error_code�
IndexError�STATUS_UNKNOWN�STATUS_TO_ERROR_STATE_MAPr��ERROR_STATE_CLEAR�error_state�histrj)r5rG�historyr\�result�hs      r9rw�DevMgr5.handleHistoryReplys����"�"�:�.���?��F��O�O�����
�
�f�l�l�E�!�H�5�6��
1�"(��)�"6�"6���8�;�;�D�O�O�M^�_�C�O��H����c�"����
1�"0���
1�s�B2�2C
�	C
c�@�[R[U55 gr/rqrrs  r9rx�DevMgr5.handleHistoryErrorrtr;rxc�f�[R"XX4XV5RUR5 gr/)rr:�
send_via_dbusr�)r5rG�printer_namerB�username�job_id�titles       r9�sendMessage�DevMgr5.sendMessages'��	���Z�z��	#�#0�=��1A�1A�#Br;c�D�UR(d�URR(asUR(aa[RS5 UR
5 URRS:XaUR5 gUR5 gggg)NzRefresh timer...r)
r�r��auto_refreshr�rzr{�cleanupChildren�auto_refresh_type�requestDeviceUpdater#r�s r9�timedRefresh�DevMgr5.timedRefresh&sp���}�}��!3�!3�!@�!@�T�E\�E\��I�I�(�)�� � �"��!�!�3�3�q�8��(�(�*��"�"�$�F]�!@�}r;c�H�URbURU"5 gg)z@Called when the active tab changes.
Update newly displayed tab.
N)r^r�r5�tabs  r9r�DevMgr5.Tabs_currentChanged7s"���?�?�&��M�M�#�� �'r;c�R�URHnURU"5 M gr/)rr�s  r9�
updateAllTabs�DevMgr5.updateAllTabs>s���=�=�C��M�M�#�� �!r;c��[RS5 URURR	5"5 g)NzupdateCurrentTab())rzr{rr�currentIndexr�s r9�updateCurrentTab�DevMgr5.updateCurrentTabCs+���	�	�&�'��
�
�d�i�i�,�,�.�/�1r;c��URRS5 UR5 URRS5 g�NFT)r�r�r�r�s r9r��%DevMgr5.DeviceRefreshAction_activatedPs6��� � �+�+�E�2�� � �"�� � �+�+�D�1r;c�$�UR5 gr/)r#r�s r9r��"DevMgr5.RefreshAllAction_activatedVs�����r;c��U[R:Xa`URR[R5 URRS5 URRS5 gURR[R5 URRS5 URRS5 gr�)r�r�r��setViewModer�r�r�r�)r5�modes  r9r��DevMgr5.setDeviceListViewModeZs����9�%�%�%��O�O�'�'�	�(:�(:�;��!�!�,�,�U�3��"�"�-�-�d�3��O�O�'�'�	�(:�(:�;��!�!�,�,�T�2��"�"�-�-�e�4r;c���UcURnUR URUR URURnUR5UR
5pCURn[X45n[U5nURSSUR5UR
55 URSSU5 URnUR[:Xa7URX0R R5-
SUR 5 U[":waCU[$[&4;a[)U5Sn	O[)U5Sn	U	bURSSU	5 UR+5 U$![a SUlGN�f=f! [	URS5URUR'GN�=f![a
 [nGN
f=f)N�default_printer�devicesrr)r^�icon�AttributeErrorr�r��width�heightr��QPixmap�QPainter�	eraseRect�
drawPixmap�	tech_type�TECH_TYPE_NONE�device_type�DEVICE_TYPE_FAXr�r��TECH_TYPE_COLOR_INK�TECH_TYPE_MONO_INK�getStatusOverlayIcon�end)
r5r\�pix�wr�r�r��pr��status_icons
          r9�createDeviceIcon�DevMgr5.createDeviceIcones����;��/�/�C�	)��H�H�	K����c�h�h�'�������)���y�y�{�C�J�J�L�1��o�o���q�}���T�N��	���A�q�$�*�*�,����
�6�	���Q��3��	'��
�
�I��?�?�o�-�
�L�L��]�]�0�0�2�2�A�t�}�}�E��+�+��0�2D�E�E�2�;�?��B��2�;�?��B���&����Q��;�/�	�������G�	)�(�C�H�	)��
	K�*5�c�h�h�	�*J�D���c�h�h�'���	'�&�I�	'�s.�F�F#�G�F �F �#/G�G,�+G,c��[RS5 [5 SUlUR	URS55 UR
5RURS55 [R"SS/5Ul
Sn/nURH nU[;dMURU5 M" [RSS	RU5-5 /n[H%nX0R;dMURU5 M' [RS
S	RU5-5 /n[H"nX2;dM
X4;dMURU5 M$ [RSS	RU5-5 UGH<n[RSU-5 [R"X0RS
S9nUR (d([RS5 URU5 MtUR#U5nUR$[&:Xa4[)UR*URSUR,-5Xs5 OfUR.(a4[)UR*URSUR,-5Xs5 O![)UR*UR,Xs5 U[U'GM? [RSS	RU5-5 SnUH�nUnUR*R15S-
n	UR*R3U	5n
[RSU-5 [U	U	S:�aZU
bWU
R6U:XaUR*R9U	5 O+U	S-n	UR*R3U	5n
U	S:�aU
bMW[:R=5 M� UR*R?5 [:R=5 [A[5(Ga�URBHnURDRGUS5 M! URH(a�Sn	UR*R3U	5=p�U
b[:R=5 U
R6URH:Xa,U
nUR
5RURH5 O3U	S-
n	UR*R3U	5n
U
bMSUl%SUl$URJcIUR*R3S5n
U
b+U
R6Ul$[URHUl%U
nURM5 URH(a5URHURNl(URNRS5 XR-H"nX4;dM
URU[U5 M$ O�SUl%URVRYS
5 URZRYS
5 S
UlUR
5RURS55 URBHnURDRGUS
5 M! []5 [_U5nURa5 S
Ul[]5 UbUR*RcU5 URVRYS5 URJbUURZRYS5 UR
5RURH5 URe5 gg![4a GNf=f!S
Ul[]5 f=f)NzRescanning device list...rTz*Refreshing Device List - HP Device ManagerzRefreshing device list...�hp�hpfaxzAdds: %s�,zRemovals (1): %szUpdates: %sz
adding: %sF)r��disable_dbusz$Unsupported model - removing device.z%s (Fax)z%s (Printer)zRemovals (2): %szremoving: %srrxzPress F6 to refresh.)3rzr{�beginWaitCursorr��setWindowTitle�_DevMgr5__tr�	statusBar�showMessager�getSupportedCUPSDevices�cups_devices�device_listr}r�Devicer��	supportedr�r�r�rDr��model_ui�fax_type�countr2�KeyErrorrG�takeItemrk�
processEvents�updateGeometry�lenrr�
setTabEnabledr�r^�updatePrinterCombosr�r��saver�r�r�r��
endWaitCursorr$rer4�updateWindowTitle)r5�current�addsr6�removals�updatesr\r��removed_devicer5r2r��
first_item�i�dlgs               r9�refreshDeviceList�DevMgr5.refreshDeviceList�s����	�	�-�.���� �D�M�����	�	�*V� W�X��N�N��(�(����3N�)O�P� &� >� >��g�� O�D���G�C
 ����*�*�A���+����A��+��	�	�*�s�x�x��~�5�6���$�A�� 1� 1�1� ����*�%��	�	�,�s�x�x��/A�A�B���$�A��}��):����q�)�%��	�	�-�#�(�(�7�*;�;�<��A��I�I�l�Q�.�/� �-�-��<�<�e�T�C��=�=��	�	�"H�I� ����*� ��0�0��5�D����/�9�&�t������:�c�l�l�CZ�9[� �%��<�<�*�4�?�?�D�I�I�n�UX�Ua�Ua�Fa�<b� $�)�+�4�?�?�C�L�L� $�)�&)�K��N�/�2�	�	�,�s�x�x��/A�A�B�#��!�A�%&�N� �O�O�1�1�3�A�5�E��?�?�/�/��6�D��I�I�n�q�0�1��'��N� �1�*��)9��?�?�a�/� �O�O�4�4�U�;�!���
��#���3�3�E�:��
 �1�*��)9��&�&�(�'"�*���.�.�0��"�"�$��{�#�#�#�}�}���	�	�/�/��T�:� -��*�*� !��,0�O�O�,@�,@��,G�G��"�.� �.�.�0�#���$�2E�2E�E�*.�� $��� 0� <� <�T�=P�=P� Q� %�!�Q�J�E�#'�?�?�#7�#7��#>�D�#�.�/3�D�O�24�D�/����.� �O�O�0�0��3���=�23�,�,�D�/�.9�$�:M�:M�.N�D�O�&'�G��,�,�.��*�*�BF�BU�BU��*�*�?��*�*�/�/�1�$�^���,� �4�4�[��^�D�,�
'+�D�O��,�,�7�7��>��+�+�6�6�u�=�$)�D�M��N�N�$�0�0����;Q�1R�S�#�}�}���	�	�/�/��U�;� -�"�O�)�$�/�C��I�I�K�!&��
����"����.�.�w�7��$�$�/�/��5����*��'�'�2�2�4�8���� �,�,�T�-@�-@�A��&�&�(�+��c$�����R!&��
���sa�]+�3A]+�A
]+�]+� G?]+� ]�'A]+�D9]+�C]+�
C#]+�
](�$]+�'](�(]+�+]>c��URR[:Xa8URUR	SURR
-55 O�URR(a8URUR	SURR
-55 O7URUR	SURR
-55 UR5RUR5 g)NzHP Device Manager - %s (Fax)z HP Device Manager - %s (Printer)zHP Device Manager - %s)
r^r�r�r�r�r�r�r�r�r�r�s r9r��DevMgr5.updateWindowTitle2s����?�?�&�&�/�9��#�#�D�I�I�.L�T�_�_�Me�Me�.e�$f�g����'�'��#�#�D�I�I�.P�QU�Q`�Q`�Qi�Qi�.i�$j�k��#�#�D�I�I�.F�t���G_�G_�._�$`�a�����$�$�T�%8�%8�9r;c�B�URURU55$r/)rjrE�r5rGs  r9�updateDeviceByURI�DevMgr5.updateDeviceByURI>s��� � ��!5�!5�j�!A�B�Br;c��UcURn[RSUR-5 UR	U5nUb)UR[
URU555 XRLGa�U(Ga�UR5 UR5 UR5RUR5 URR[:Xa�URR!URR#UR$5[&R)SSS55 URR!URR#UR*5[&R)SSS55 gURR!URR#UR$5[&R)SSS55 URR!URR#UR*5[&R)SSS55 ggg)z<Update the device icon and currently displayed tab.
        NzupdateDevice(%s)�
MainWindowzPrint SettingszPrinter ControlzFax SettingszFax Control)r^rzr{rG�findItemr�r2r�r�r�r�r�r�r��DEVICE_TYPE_PRINTERr�
setTabText�indexOf�Settings�QApplicationrl�Control)r5r\�
update_tabr2s    r9rj�DevMgr5.updateDeviceBs����;��/�/�C��	�	�$�s�~�~�5�6��}�}�S�!�����L�L��t�4�4�S�9�:�;��/�/�!�j��$�$�&��!�!�#��N�N��(�(��)<�)<�=����*�*�.A�A��	�	�$�$�T�Y�Y�%6�%6�t�}�}�%E�|�G]�G]�^j�l|�C�HD�E��	�	�$�$�T�Y�Y�%6�%6�t�|�|�%D�l�F\�F\�]i�k|�C�GD�E��	�	�$�$�T�Y�Y�%6�%6�t�}�}�%E�|�G]�G]�^j�lz�}A�HB�C��	�	�$�$�T�Y�Y�%6�%6�t�|�|�%D�l�F\�F\�]i�kx�z~�F�A�'1�!r;c�\�Ub�UR(d�URR5RUl[
URUlURURlURR5 UR5 UR5 gggr/)r�r��currentItemrGr�r�r^r�r�r�rjr�)r5r��js   r9r�!DevMgr5.DeviceList_currentChanged\s���=����"&�/�/�"=�"=�"?�"J�"J�D��)�$�*=�*=�>�D�O�6:�6I�6I�D���3����#�#�%������"�"�$�"/�=r;c�V�UcURnURUR5$r/)r^�
findItemByURIrG)r5r\s  r9r��DevMgr5.findItemhs%���;��/�/�C��!�!�#�.�.�1�1r;c��SnURRU5nUb8URU:XaU$US-
nURRU5nUbM7gg)Nrr)r�r2rG)r5rGr5r2s    r9r�DevMgr5.findItemByURIosW�������#�#�E�*�������*�,����Q�J�E��?�?�'�'��.�D��r;c�$�[U$! g=fr/)r�r�s  r9rE�DevMgr5.findDeviceByURI{s��	��z�*�*��	��s��c��UcURnUb=[UlURUSS9 UR	UR
S[5 gg)z/Submit device update request to update thread. NF)r�rx)r^�ERROR_STATE_REFRESHINGr�rjr�rG�EVENT_DEVICE_UPDATE_REQUESTED)r5r\r2s   r9r��DevMgr5.requestDeviceUpdate�sM���;��/�/�C��?�4�C�O����c�e��4����S�^�^�R�1N�O�	r;c��UR(dHURRS5 UR5 URRS5 gg!URRS5 f=f)zRescan and update all devices. FTN)r�r�r�r�r�s r9r#�DevMgr5.rescanDevices�s_���}�}��!�!�,�,�U�3�
7��&�&�(��%�%�0�0��6���
�%�%�0�0��6�s�A�A8c�,�[R5 gr/)rkr�r�s r9�callback�DevMgr5.callback�s�����r;c�^�TRnUGbGUR[:g=(a URnUR[
:H=(a UnUR[:�=(aM [R=(a6 UR[:H=(a [RS:�=(a UnUR[:�=(a6 [R=(a U=(a TR R"nUR$[&:�=(a Un[)T5nTR*R-5n	U	GbTRR.[0:wa�U(a~UR3TR5S5U4Sj5 U(a%UR3TR5S5U4Sj5 U(a%UR3TR5S5U4Sj5 O,U(a%UR3TR5S5U4S	j5 UR75 TR8(d+UR3TR5S
5TR:5 TR8(d+UR3TR5S5TR<5 UR75 TR*R?5[@RB:Xa&UR3TR5S5U4S
j5 O%UR3TR5S5U4Sj5 URETR*RGU55 gg)N��zPrint...c�N>�TR[TTR55$r/)�contextMenuFuncrr�r�s�r9r��?DevMgr5.DeviceList_customContextMenuRequested.<locals>.<lambda>�s$���t�G[�G[�\g�hl�nr�n~�n~�\�HAr;zScan...c�N>�TRTRR5$r/)rr��cmd_scanr�s�r9r�r�s���4�K_�K_�`d�`r�`r�`{�`{�K|r;zMake Copies...c�0>�[TTR5$r/�rr�r�s�r9r�r�s���Rb�cg�im�i|�i|�R}r;zSend Fax...c�d>�TR[TTRTR55$r/)rrr�r�r�s�r9r�r�sE���t�Oc�Oc�dq�rv�x|�yI�yI�KO�K^�K^�e_�P`r;zRefresh DevicezRefresh AllzView as Listc�B>�TR[R5$r/r�r�s�r9r�r�s���4�C]�C]�^g�^p�^p�Cqr;z
View as Iconsc�B>�TR[R5$r/r�r�s�r9r�r�s���D�D^�D^�_h�_q�_q�Drr;)$r^�device_state�DEVICE_STATE_NOT_FOUNDr�r�r�r��
FAX_TYPE_NONEr|�	fax_buildr��sys�
hexversion�	scan_type�SCAN_TYPE_NONE�
scan_buildr�r�	copy_type�COPY_TYPE_NONE�QMenur�rr��ERROR_STATE_ERROR�	addActionr��addSeparatorr�r�r#�viewModer�r�re�mapToGlobal)
r5r�r6�avail�printer�fax�scan�cpy�popupr2s
`         r9r��-DevMgr5.DeviceList_customContextMenuRequested�sT����O�O���=��N�N�&<�<�L����E��m�m�':�:�D�u�G��*�*�}�,�7����7�A�M�M�Ud�Dd�7����*�,�7�16�
��;�;��/�D�D�O�O�D�#�D�(,�(:�(:�(C�(C�
��+�+��.�:�7�C��$�K�E��?�?�.�.�0�D����?�?�.�.�2C�C������	�	�*�(=�@A�B��!�O�O�D�I�I�i�,@�C|�}��!�O�O�D�I�I�6F�,G�J}�~���!�O�O�D�I�I�m�,D�H`�a��&�&�(��}�}��O�O�D�I�I�.>�$?�$�BZ�BZ�[��=�=�����	�	�-� 8�4�;M�;M�N���� ����'�'�)�Y�-?�-?�?�����	�	�.� 9�;q�r�����	�	�/� :�<r�s��K�K����3�3�A�6�7�[r;c���URSS[5 UR5 URSS[5 g![a� [	5 URS5SS;a/[RSU-5 [R"U5 OURU5 [RSUR5 N�f=f!URSS[5 f=f�Nrx�:r)�http�https�filezOpening browser to: %s��)r�rWrer�r��splitrzr{r�openURL�runExternalCommandr�r��unlockClickrV)r5�fs  r9r�DevMgr5.contextMenuFunc�s�������R�!:�;�	A�
:����	�
���R��%?�@��"�	
:��!��7�7�3�<��?�&?�?��I�I�6��:�;��M�M�!�$��+�+�A�.��!�!�$��(8�(8�9�	
:��
���R��%?�@�s$�A�BC�C�C�C�C-c���URR5 URR5 URb�URR(a�URR5 URRH;nURRSU5 URRSU5 M= [URR55Ul
gggr{)r��clearr�r^r��updateCUPSPrinters�
cups_printers�
insertItem�
to_unicode�currentTextr�)r5ros  r9r��DevMgr5.updatePrinterCombos�s����*�*�0�0�2��)�)�/�/�1��?�?�&��O�O�%�%��O�O�.�.�0��_�_�2�2���2�2�=�=�a��C��1�1�<�<�Q��B�3� *�$�*L�*L�*X�*X�*Z�[�D��
&�'r;c�D�[U5UlUR5 gr/�rIr�r��r5rns  r9r��/DevMgr5.PrintSettingsPrinterNameCombo_activated���%�a�=������r;c�D�[U5UlUR5 gr/rMrNs  r9r��.DevMgr5.PrintControlPrinterNameCombo_activatedrPr;c�$�SUlURR[SS55 URRSRUR5 URRSRUR5 g)N� r�)�
click_lock�ActionsListrr	�itemClickedr��ActionsList_clicked�itemDoubleClickedr�s r9r��DevMgr5.initActionsTabso��������$�$�U�2�r�]�3����$�$�%8�9�A�A�$�BZ�BZ�[����*�*�+>�?�G�G��H`�H`�ar;c�^^^^^^^^^^^�[5 TRR5 TRmTGb�TR[
:g=(a TRmTR[:�=(aM [R=(a6 TR[:H=(a [RS:�=(a TmTR[:H=(a TmTR [":�=(a6 [R$=(a T=(a TR&R(mTR*[,:�=(a TmTR.[0:HmTR.[2:Hm[4R6"TR85u	pmp4pVpx[>R@"5n	[CSS5n
U	REU
5 U
RG5 [HRJ"U	RMSS55mTR.[P:wa�T(aT(aTRSS5nObT(aT(dTRSS5nOBT(aT(aTRSS	5nO"T(aT(dTRSS
5nOSnU4SjTRSS
5STRSS5U4Sj4U4SjTRSS5STRSS5TR&R(4U4SjTRSS5STRSS5U4Sj4U4SjTRSS5STRSS5U4Sj4U4SjTRSS 5S!TRSS"5U4S#j4UU4S$jTRSS%5S&TRSS'5TR&RT4UU4S(jTRSS)5S*TRSS+5U4S,j4U4S-jTRSS.5S/TRSS05U4S1j4S2TRSS35S4TRSS55U4S6j4UU4S7jTRSS85S9TRSS:5U4S;j4UU4S<jTRSS=5S>TRSS?5U4S@j4UU4SAjTRSSB5SCTRSSD5U4SEj4UU4SFjTRSSB5SCTRSSG5U4SHj4UU4SIjTRSSJ5SKTRSSL5U4SMj4UU4SNjTRSSO5SPTRSSQ5U4SRj4UUU4SSjTRSST5SUTRSSV5SWTR8-4UU4SXjTRSSY5SZTRSS[5U4S\j4UU4S]jTRSS^5SWUUU4S_j4UU4S`jTRSSa5SUUUU4Sbj4UUU4ScjTRSSd5SeTRSSf5[WXg54SgTRSSh5SiTRSSj5TRX4SkTRSSl5SmTRSSn5TRZ4/Tl.TR^(d7TR\H up�p�n[aUSo5TRbU'M" SpTl/TR\H?unp�nnUbU"5(dM[eTRU
TRbUUU5 MA [=5 g![:a
 [=5 gf=f![>RNa SmGN`f=f![=5 f=f)qNrz/etc/hp/hplip.conf�rrv�pluginFz<Download and install<br>required plugin (already installed).z=Download and install<br>required plugin (needs installation).z<Download and install<br>optional plugin (already installed).z=Download and install<br>optional plugin (needs installation).rxc�>�T$r/rB�r1s�r9r��*DevMgr5.updateActionsTab.<locals>.<lambda>T����gr;�Print�printzPrint documents or files.c�0>�[TTR5$r/)rr�r�s�r9r�r`Xs���[��t�/?�/?�@r;c�>�T$r/rB)r3s�r9r�r`Zs���Tr;�Scanr3z*Scan a document, image, or photograph.<br>c�>�T$r/rB)r4s�r9r�r``s���cr;zMake Copies�
makecopiesz3Make copies on the device controlled by the PC.<br>c�0>�[TTR5$r/rr�s�r9r�r`ds���-�d�D�4G�4G�Hr;c�>�T$r/rB�r2s�r9r�r`h����Sr;zSend Faxr2zSend a fax from the PC.c�F>�[TTRTR5$r/)rr�r�r�s�r9r�r`ls���]�4��1A�1A�4�CV�CV�Wr;c�>�T$r/rBrks�r9r�r`nrlr;z	Fax Setup�	fax_setupz4Fax support must be setup before you can send faxes.c�0>�[TTR5$r/)rr�r�s�r9r�r`r����^�D�$�2E�2E�Fr;c�B>�T=(a TRR$r/)r��cmd_fab)r2r5s��r9r�r`ts���S�?�T�%7�%7�%?�%?�?r;zFax Address Book�fabz>Setup fax phone numbers to use when sending faxes from the PC.c�<>�TR[:g=(a T$r/)�power_settings�POWER_SETTINGS_NONE)r0r6s��r9r�r`|s���a�.�.�2E�E�O�%�Or;zDevice Settingsr�zNYour device has special device settings.<br>You may alter these settings here.c�0>�[TTR5$r/)rr�r�s�r9r�r`�����.�t�T�5H�5H�Ir;c�>�T$r/rBr_s�r9r�r`�rar;zPrint Test Page�testpagez4Print a test page to test the setup of your printer.c�0>�[TTR5$r/)rr�r�s�r9r�r`�s���0��t�7G�7G�Hr;c��g�NTrBrBr;r9r�r`�s��tr;z#View Printer and Device Informationrz:View information about the device and all its CUPS queues.c�0>�[TTR5$r/)rr�r�s�r9r�r`�s���Z��d�.A�.A�Br;c�<>�T=(a TR[:g$r/)�
align_type�ALIGN_TYPE_NONE�r6r1s��r9r�r`�����W�H�����)H�Hr;zAlign Cartridges (Print Heads)�alignzJThis will improve the quality of output when a new cartridge is installed.c�0>�[TTR5$r/)rr�r�s�r9r�r`�����[��t�/B�/B�Cr;c�<>�T=(a TR[:g$r/)�
clean_type�CLEAN_TYPE_NONEr�s��r9r�r`�r�r;zClean Printheads�cleanzyYou only need to perform this action if you are<br>having problems with poor printout quality due to clogged ink nozzles.c�0>�[TTR5$r/)r r�r�s�r9r�r`�r�r;c�p>�T=(a- TR[:g=(a TR[:H$r/��color_cal_type�COLOR_CAL_TYPE_NONE�COLOR_CAL_TYPE_TYPHOONr�s��r9r�r`��+���W���)9�)9�=P�)P��UV�Ue�Ue�i�U�r;zColor Calibration�colorcalz^Use this procedure to optimimize your printer's color output<br>(requires glossy photo paper).c�0>�[TTR5$r/�r!r�r�s�r9r�r`�rqr;c�p>�T=(a- TR[:g=(a TR[:g$r/r�r�s��r9r�r`�r�r;z=Use this procedure to optimimize your printer's color output.c�0>�[TTR5$r/r�r�s�r9r�r`�rqr;c�<>�T=(a TR[:g$r/)�linefeed_cal_type�LINEFEED_CAL_TYPE_NONEr�s��r9r�r`�s���W�V��)<�)<�@V�)V�Vr;zLine Feed Calibration�linefeed_calz^Use line feed calibration to optimize print quality<br>(to remove gaps in the printed output).c�0>�[TTR5$r/)r"r�r�s�r9r�r`�ryr;c�<>�T=(a TR[:g$r/)�pq_diag_type�PQ_DIAG_TYPE_NONEr�s��r9r�r`�s���W�L����;L�)L�Lr;zPrint Diagnostic Page�pq_diagzOYour printer can print a test page <br>to help diagnose print quality problems.c�0>�[TTR5$r/)r#r�r�s�r9r�r`�s���\�$��0C�0C�Dr;c�T>�T=(a TR[:�=(a TS:H$)N�usb)�wifi_config�WIFI_CONFIG_USB_XML��busr6r1s���r9r�r`�s#���W�^����:M�)M�^�RU�Y^�R^�^r;zWireless/wifi setup using USB�wirelesszIConfigure your wireless capable printer using a temporary USB connection.zhp-wificonfig -d %sc�.>�T=(a TR$r/)�fw_downloadr�s��r9r�r`�s���g�7�!�-�-�7r;zDownload Firmware�firmwarezUDownload firmware to your printer <br>(required on some devices after each power-up).c�0>�[TTR5$r/)rr�r�s�r9r�r`�rqr;c�>�T=(a T$r/rB)r1�
req_plugins��r9r�r`��
���g�4�*�4r;zInstall Required Pluginc�2>�[TTRT5$r/�rNr]�r6rRr5s���r9r�r`�����]�4����;K�Lr;c�>�T=(a T$r/rB)�
opt_pluginr1s��r9r�r`�r�r;zInstall Optional Pluginc�2>�[TTRT5$r/r�r�s���r9r�r`�r�r;c�T>�T=(a TR[:�=(a TS:H$)N�net)�embedded_server_type�EWS_NONEr�s���r9r�r`�s$���g�\�!�*@�*@�8�*K�\�PS�W\�P\�\r;z$Open printer's web page in a browser�ewszAThe printer's web page has supply, status, and other information.c��gr~rBrBr;r9r�r`����dr;zVisit HPLIP Support Websiter�zVisit HPLIP Support Website.c��gr~rBrBr;r9r�r`�r�r;�Helpr�zView HPLIP help.�32x32T)3r�rVrEr^rr r�r�r!r|r"r�r�r#r$r�r%r&r'r�rr(r)r]r]�PLUGIN_OPTIONALr�parseDeviceURIr��Errorr�r�ConfigParser�open�	read_filer"r�to_boolr��
NoOptionError�PLUGIN_NONEr�rs�openEWSrr�ICONSr�r�r�r,)r5�back_end�is_hp�model�serial�dev_file�host�zc�port�
hplip_conf�fp�x�filter7r��tooltipr4�fltrr0r�r4r6r2r�rRr1r�r3s`                 @@@@@@@@@@r9r�DevMgr5.updateActionsTabs�������Z	����"�"�$����A��}����*@�@�P�Q�[�[���j�j�=�0�;�T�^�^�;��
�
�Yh�Hh�;��N�N�j�0�;�5:���-�-�+>�>�H�5���{�{�^�3�@����@��@�$(�$6�$6�$?�$?���k�k�N�2�>�w���X�X��8�
��X�X��8�
���-�-�d�.A�.A�B�R�H�S�%���
*�6�6�8�
��.��4���$�$�R�(����
�-�',�}�}�Z�^�^�G�X�5V�'W�$��8�8�{�*�!�&6� �I�I�&d�e��#�,<� �I�I�&e�f��#�(8� �I�I�&d�e��#�,<� �I�I�&e�f����A�&��I�I�g�&���I�I�9�:�@�	B�"��I�I�f�%���I�I�J�K��&�&�/�/�	1�"��I�I�m�,� ��I�I�S�T�H�	J�!��I�I�j�)���I�I�7�8�W�	Y�!��I�I�k�*���I�I�T�U�F�	H�@��I�I�0�1���I�I�^�_��&�&�.�.�	0�P��I�I�/�0���I�I�n�o�I�	K�&��I�I�/�0���I�I�T�U�H�	J�$��I�I�C�D���I�I�Z�[�B�	D�I��I�I�>�?���I�I�j�k�C�	E�I��I�I�0�1���I�I�Z�[�C�	E�@��I�I�1�2���I�I�~��F�	H�@��I�I�1�2���I�I�]�^�F�	H�W��I�I�5�6�"��I�I�~��I�	K�M��I�I�5�6���I�I�o�p�D�	F�_��Y�Y�>�?���Y�Y�j�k�*�T�-@�-@�@�	B�8��I�I�1�2���I�I�u�v�F�	H�5��I�I�7�8���L�	N�5��I�I�7�8���L�	N�]��Y�Y�E�F���Y�Y�b�c��T�&�	(�#��I�I�;�<���I�I�<�=��L�L�	"�#��I�I�f�%���I�I�0�1��I�I�	�]T��
�l�-�-�;?�:�:�7��T�C�0;�D�'�0J�����-�<F�-1�D�*�6:�j�j�2�D�$�g�s��'�#�v�v�$� ��!1�!1�4�����-����7A�
�O��O���L
�O�O��$�1�1�-�',�$�-��z
�O�sV�E%]0�=&\9�#A]0�&&]�T"]0�9
]�]0�]�]0�]-�)]0�,]-�-]0�0]<c���UGbUURULGaDXlUR(ay[UR[R5(aPUR5nURSS[5 UR5 URSS[5 O�[5 URRS5SS;aC[RSUR-5 [R"UR5 O$UR[!UR55 ["R%SUR&5 ggg!URSS[5 f=fr8)rUr4�
isinstance�collectionsAbc�Callabler�rWrerVr�r>rzr{rr?r@rdr�r�rA)r5r2r�s   r9rX�DevMgr5.ActionsList_clicked�s	�������t� ;�"�O��x�x�J�t�x�x��1H�1H�I�I��h�h�j��� � ��R�)B�C�I��I�I�K��$�$�R��-G�H� �!��8�8�>�>�#�&�q�)�-F�F��I�I�6����A�B��M�M�$�(�(�+��+�+�C����M�:����d�D�$4�$4�5�%!<����$�$�R��-G�H�s�=E�E4c�&�SUl[5 gr/)rUr�r�s r9rA�DevMgr5.unlockClicks������r;c��[U5 gr/)rc)r5r�s  r9�&ActionsList_customContextMenuRequested�.DevMgr5.ActionsList_customContextMenuRequesteds	��
�a�r;c��URRS5 URS5URS5URS5URS5URS5URS5/Ulg)Nrrx�Statusz
Date and Time�Code�Job ID�Description)�StatusTable�setColumnCountr��status_headersr�s r9r��DevMgr5.initStatusTabse�����'�'��*�#�y�y��}�d�i�i��.A�4�9�9�_�C]�#�y�y��0�$�)�)�H�2E�t�y�y�Q^�G_�a��r;c�D�UR5 UR5 gr/)�updateStatusLCD�updateStatusTabler�s r9r�DevMgr5.updateStatusTab$s��������� r;c��URb�URR(a�URR(a�URRnUR	SS5S:Xa%UR	SS5nUR	SS5nO:[
R"URRSR5nSnURX#5 gURR[:Xa1URURS5URS55 gURR(d!URURS	55 gURR(d!URURS
55 gUR5 g![[4a SnGNf=f)N�panelrrzpanel-line1rxzpanel-line2zStatus information notzavailable for this device.zDevice not supported.zNo status history available.)r^r�r�rgr�r�queryStringrBr��	TypeError�
drawStatusLCD�status_type�STATUS_TYPE_NONEr�)r5rg�line1�line2s    r9r��DevMgr5.updateStatusLCD)sS���?�?�&��O�O� � ��O�O�%�%����#�#�B��v�v�g�q�!�Q�&����}�b�1�����}�b�1���"�.�.�t���/C�/C�A�/F�/Q�/Q�R�E������u�,����*�*�.>�>��"�"�4�9�9�-E�#F��	�	�Rn�Ho�p��_�_�.�.��"�"�4�9�9�-D�#E�F��_�_�)�)��"�"�4�9�9�-K�#L�M��"�"�$��%'�	�2���E��s�7F9�9G�Gc��[SS5n[5nURU5 UR[	SSS55 URUR
55 SupVnU(aURXVU5 U(aURXWU5 UR5 URRU5 g)N�	panel_lcdr�r)�
��!)r�r��begin�setPen�QColor�setFont�font�drawTextr��LCD�	setPixmap)r5r�r��pmr�r��y_line1�y_line2s        r9r��DevMgr5.drawStatusLCDKs���
��g�
.���J��	�����	�����1�a��!�	�	�	�$�)�)�+��(���G��
�J�J�q�5�)��
�J�J�q�5�)�	���������2�r;c�
�URR5 [R[R-nSnUR
RSSnU(GaKURR[U55 URR[UR55 URRUR5 URR5R5 URR5R5 UR!5 [U5S-
nUGH(nUcM	["R$"UR&S5n["R$"UR&S5nUS:XaUR)S5nO[+UR,5n[/5nUR1[3UR,55 [5UR75<SU<35n	UR8(a[;UR85n
O[;S5n
[<R?UR&[@5nUR
RBnU[D[F4;a[IU5Sn
O[IU5Sn
[;UR&5n[K[MU
5UR)S55nUROU5 URRQUSU5 SU4SU	4SU4SU
4S	U44HHunn[K[5U55nUROU5 URRQUUU5 MJ US-nGM+ URRS5 URRUSS
5 gURRS5 URRS5 URRSS/5 URR5R5 URR5R5 [Rn[I[V5Sn[K[MU5UR)S55nUROU5 URRQUSU5 [KUR)S55nUROU5 URRQSSU5 URRS5 URRUSS
5 g)Nrrz
(most recent)r0rxrrrr(�z1Status information not available for this device.),r�rErJ�ItemIsSelectable�
ItemIsEnabledr^r��setRowCountr�r�r��setHorizontalHeaderLabels�verticalHeader�hide�horizontalHeader�showr|rr�rBr��getTimeDeltaDesc�timedate�	QDateTime�	setTime_trrd�toStringr�rIr�r�r�r�r�r��getStatusListIcon�QTableWidgetItemr2�setFlags�setItem�resizeColumnsToContents�setColumnWidthr+)r5�flags�rowr�r]�ess�esl�desc�dt�ttr�r�r��
status_pixrBr��colrlr8s                   r9r��DevMgr5.updateStatusTablebs�������� ��#�#�b�&6�&6�6�������#�#�A�&������(�(��T��3����+�+�C��0C�0C�,D�E����6�6�t�7J�7J�K����+�+�-�2�2�4����-�-�/�4�4�6��L�L�N��d�)�A�+�C����9���(�(����q�9���(�(����q�9���!�8��9�9�_�5�D�,�A�J�J�7�D��[�����S����_�-��"�+�+�-��5�6���8�8�'����1�F�'��^�F�7�;�;�A�L�L�J[�\�� �O�O�5�5�	��!4�6H� I�I�!2�;�!?��!B�J�!2�;�!?��!B�J�'����5�
�$�U�:�%6��	�	�"�
�F���
�
�5�!�� � �(�(��a��3� !�3�x�!�R��1�j�/�A�v�;�QR�TW�PX�Y�F�C��(��Q��0�A��J�J�u�%��$�$�,�,�S�#�q�9�	Z��q���Y�\
���4�4�6����+�+�A�r�2�
���(�(��+����+�+�A�.����6�6��B�x�@����+�+�-�2�2�4����-�-�/�4�4�6��$�$�E�&�'8�9�!�<�F� ��v���	�	�"�
�>�A�
�J�J�u�����$�$�S�!�Q�/� ����+^�!_�`�A�
�J�J�u�����$�$�Q��1�-����4�4�6����+�+�A�r�2r;c�T�[SS5UlSnSnSnSnSnSnS	nS
nSn	Sn
S
nSn0[U/_[U/_[U/_[
U
/_[U/_[X5U/_[XFU/_[U
/_[U/_[U/_[U/_[U/_[U/_[U/_[ U/_["XU/_[$XF/_[&X�/[(U/[*U	/[,U
/[.U/[0X5/[2Xq/[4U/[6U/0	EUlUR;S5UR;S5UR;S5UR;S5UR;S5/UlUR>S:waUR>R@S gg![Ba UR>RE5 gf=f)N�batteryr�z#ffff00z#ffffccz#00ffffz#ccffffz#ff00ffz#ffccffz#000000z#0000ffz#808080z#a9a9a9z#c0c0c0z#ff0000rxr�zHP Part No.z
Approx. Levelr�zagent1-type)#r��pix_battery�AGENT_TYPE_UNSPECIFIED�AGENT_TYPE_BLACK�AGENT_TYPE_MATTE_BLACK�AGENT_TYPE_PHOTO_BLACK�AGENT_TYPE_BLACK_B8800�AGENT_TYPE_CMY�AGENT_TYPE_KCM�AGENT_TYPE_GGK�AGENT_TYPE_YELLOW�AGENT_TYPE_MAGENTA�AGENT_TYPE_CYAN�AGENT_TYPE_CYAN_LOW�AGENT_TYPE_YELLOW_LOW�AGENT_TYPE_MAGENTA_LOW�AGENT_TYPE_BLUE�AGENT_TYPE_KCMY_CM�AGENT_TYPE_LC_LM�AGENT_TYPE_LG_PK�
AGENT_TYPE_LG�AGENT_TYPE_G�
AGENT_TYPE_DG�
AGENT_TYPE_PG�AGENT_TYPE_C_M�AGENT_TYPE_K_Y�
AGENT_TYPE_LC�AGENT_TYPE_RED�TYPE_TO_PIX_MAPr��supplies_headersr^rgr��queryDevice)
r5�yellow�light_yellow�cyan�
light_cyan�magenta�
light_magenta�black�blue�gray�	dark_gray�
light_gray�reds
             r9r��DevMgr5.initSuppliesTab�s"��&�y�'�:����� �����
���!�
��������	��
��� !�5��� !�/�%�� !� 6��� !� 6���	 !�
 6��w� !� .��v�/F�
 !� .�
�<�/X� !� .�	�{� !� 1�6�(� !� 2�G�9� !� /�$�� !� 3�Z�L� !� 5�|�n� !� 6�
�� !� /��� !�  2�F�'�3J�! !�" 0�*�1L�# !�( 0�*�1H�,�z�l�+�d�V�,�y�k�,�z�l�-���-���,�z�l�-���9 !���>"&���2���	�	�-�0H�!%���=�!9�4�9�9�_�;U�!%���8�!4�!6����?�?�d�"�
.����"�"�=�1�#���
.����+�+�-�
.�s�%F�$F'�&F'c	�V�[5 [R[R-nURR5 URR
S5 URRS5 URGbURR(a�URR[:wa�URR[:wa�/URlSn[URR SU-5n[URR SU-5nURR SU-nURRR#X$X545 US-
nM�[hRkS5 [RnURR
S5 URRS
5 URR5SS/5 URR75R95 URR;5R95 [YUR]S55n
U
R_U5 URRaSSU
5 [m[n5Sn[Y[[U5UR]S55n
U
R_U5 URRaSSU
5 URRe5 URRgSS5 [q5 g![$a& US:XaURR'5 GN�Of=fURRR)[*R,"[*R.5S9 URR
[1URR55 URR[1UR255 URR5UR25 URR75R95 URR;5R=5 URR?[ASS55 [CURR5GH�upgUup$p5[URR S	U-5nURR S
U-n	URR SU-n
O![$a  GOyf=fSnU[D[F[H[J[L[N[P4;aURSX�5nSnU[D[T[F[H[N4;aURWXC5nUbR[Y[[U5UR]S55n
U
R_U5 URRaUSU
5 SU	4S
U4SU
44HFup�[Y[cU55n
U
R_U5 URRaXnU
5 MH UcGM�[Y[[U5UR]S55n
U
R_U5 URRaUSU
5 GM� URRe5 URRgSS5 URRgSS5 GN�![q5 f=f)Nrrzagent%d-typezagent%d-kindzagent%d-sku)rm�d�z
agent%d-levelzagent%d-desczagent%d-health-descrxrrrr�xz3Supplies information not available for this device.)9r�rJrr�
SuppliesTablerErr�r^r�r�r�rr �sorted_suppliesrrgr}r�rK�sortr�
cmp_to_key�	levelsCmpr�rJrrrrrrr	�	enumerate�AGENT_KIND_SUPPLY�AGENT_KIND_HEAD_AND_SUPPLY�AGENT_KIND_TONER_CARTRIDGE�AGENT_KIND_MAINT_KIT�AGENT_KIND_ADF_KIT�AGENT_KIND_INT_BATTERY�AGENT_KIND_DRUM_KIT�createStatusLevelGraphic�AGENT_KIND_HEAD�
getStatusIconrr2r�rrrdr r!rzrVrr+r�)r5r"�a�
agent_type�
agent_kind�	agent_skur#r��agent_level�
agent_desc�agent_health_desc�level_pixmapr8r�r*rls                r9r�DevMgr5.updateSuppliesTab�s������#�#�b�&6�&6�6��p	����$�$�&����*�*�1�-����-�-�a�0����*����)�)����+�+�/?�?����,�,�0F�F�24����/����
g�%(����);�);�N�Q�<N�)O�%P�
�%(����);�);�N�Q�<N�)O�%P�
�$(�O�O�$6�$6�}�q�7H�$I�	����7�7�>�>��z�?e�f���F�A��`���Q�R��(�(���"�"�.�.�q�1��"�"�1�1�!�4��"�"�<�<�b�"�X�F��"�"�1�1�3�8�8�:��"�"�3�3�5�:�:�<�$�T�Y�Y�/d�%e�f���
�
�5�!��"�"�*�*�1�a��3�*�+<�=�a�@��$�U�6�]�D�I�I�b�M�B���
�
�5�!��"�"�*�*�1�a��3��"�"�:�:�<��"�"�1�1�!�R�8�
�O��A$�"���6� �O�O�7�7�9�!�	"�����/�/�4�4��9I�9I�%�/�/�9Z�4�[��"�"�.�.�s�4�?�?�3R�3R�/S�T��"�"�1�1�#�d�6K�6K�2L�M��"�"�<�<�T�=R�=R�S��"�"�1�1�3�8�8�:��"�"�3�3�5�:�:�<��"�"�.�.�u�S�"�~�>�'����(G�(G�H�F�C�;<�8�A�:��&)�$�/�/�*<�*<�_�q�=P�*Q�&R��%)�_�_�%7�%7���8J�%K�
�,0�O�O�,>�,>�?T�WX�?X�,Y�)��#�����$(�L�!�&7�&@�&@�&:�&8�&<�&9�&(�(�(,�'D�'D�[�']��"�F�!�&7�&5�&@�&@�'=�
&(�(�"&�!3�!3�J�!K���)�,�U�6�]�D�I�I�b�M�J���
�
�5�)��*�*�2�2�3��1�=�$%�z�?�Q�	�N�Q�HY�DZ�"[���,�S��V�4���
�
�5�)��*�*�2�2�3�Q�?�#\�
$�/�,�U�<�-@�$�)�)�B�-�P���
�
�5�)��*�*�2�2�3��1�=�cI�f�"�"�:�:�<��"�"�1�1�!�R�8��"�"�1�1�!�S�9��0
�O�s`�C	\�7A&M�G\�*M0�*\�/M0�0E2\�#AU�\�
U�\�U�D\�1B+\�\(c���U[[[[4;Ga.URUn[U[5(Ga[U5n[SS5nUR[SSSS55 [5nURU5 UR[R5 US:XajUR[US55 UR![#[US5[$R&55 UR)SSSSSS5 GOUS:Xa�UR[US55 UR![#[US5[$R&55 UR)SSSSSS5 UR[US55 UR![#[US5[$R&55 UR)S	SSSSS5 GO?US
:XGa8UR[US55 UR![#[US5[$R&55 UR)S	S	SSSS5 UR[US55 UR![#[US5[$R&55 UR)SS	SSSS5 UR[US55 UR![#[US5[$R&55 UR)SSSSSS5 UR+5 U$U$U[,:XaUR.$g)N�rrrr�i�r�r;r)rcrkrdrerIr��listr�r��fillrr�r�
setRenderHint�Antialiasingr�setBrush�QBrushrJ�SolidPattern�drawPier�rhr.)r5rorn�map�map_lenr�r�s       r9rl�DevMgr5.getStatusIconps����+�)�4�4�6�6�
�&�&�z�2�C��#�t�$�$��c�(���b�"�o�������1�a��+�,��J����������� 5� 5�6��a�<��H�H�V�C��F�^�,��J�J�v�f�S��V�n�b�o�o�F�G��I�I�a��B��A�t�4���\��H�H�V�C��F�^�,��J�J�v�f�S��V�n�b�o�o�F�G��I�I�a��A�q�!�T�2��H�H�V�C��F�^�,��J�J�v�f�S��V�n�b�o�o�F�G��I�I�a��A�q�!�T�2���\��H�H�V�C��F�^�,��J�J�v�f�S��V�n�b�o�o�F�G��I�I�a��A�q�!�T�2��H�H�V�C��F�^�,��J�J�v�f�S��V�n�b�o�o�F�G��I�I�a��A�q�!�T�2��H�H�V�C��F�^�,��J�J�v�f�S��V�n�b�o�o�F�G��I�I�a��A�q�!�T�2������
��
�
�1�
1��'�'�'�2r;c��U(a[US-U-5nOSn[X45nUR[SSSS55 [	5nURU5 UR
[R5 UR[R5 URUn[U5n	U	S:XdU	S:�a+URSSXT[[US555 GOU	S:Xaa[US-5n
URSSXZ[[US555 URSX�U[[US555 O�U	S:Xa�[US-5n[SU-5nURSSX[[[US555 URSX�U[[US555 URSX�U[[US555 URSSX45 US:�a4U[ ["[$4;aUR[R&5 [SU-S-5n
[US-5nUR)U
SX�5 UR)X�X�U-
5 US	:�a4U[ ["[$4;aUR[R&5 [US-5n[US-5nUR)USUU5 UR)X�X�U-
5 US
:�a4U[ ["[$4;aUR[R&5 [US-5nUR)USUU5 UR)UUUXN-
5 UR+5 U$)NrZrrrr�Krr;�2�)rr�rzrr�rr{r|rrJrRrIr��fillRectr~�drawRectr0r/r=�white�drawLiner�)r5�percentrnr�r��fw�px�ppr�r��h2�h3�h23�w1�h6�w2�h4�w4s                  r9rj� DevMgr5.createStatusLevelGraphic�s�����Q�s�U�7�]�#�B��B�
�Q�]��
����q�!�Q��"�#�
�Z��
�����
����.�.�/�
�	�	�"�(�(���"�"�:�.���c�(���a�<�7�Q�;��K�K��1�b�V�F�3�q�6�N�%;�<�
��\��Q��U��B��K�K��1�b�f�V�C��F�^�&<�=��K�K��2�1�f�V�C��F�^�&<�=�
��\��Q��U��B��a�"�f�+�C��K�K��1�b�f�V�C��F�^�&<�=��K�K��2�3��v�c�!�f�~�(>�?��K�K��3�A�v�f�S��V�n�'=�>�	���A�q�!���R�<�J��3�_�
E�F��I�I�b�h�h����Q����^��
��Q��Z��
���B��2�"�
���B�2��t�$��R�<�J��3�_�
E�F��I�I�b�h�h����Q��Z��
��Q��Z��
���B��2�r�"�
���B�2��t�$��R�<�J��3�_�
E�F��I�I�b�h�h����Q��Z��
���B��2�r�"�
���B��2�q�t�$�
�����	r;c��gr/rBr�s r9r�DevMgr5.initPrintSettingsTab�s��r;c��[5 URR[:Xa+URRUR
S55 O*URRUR
S55 URRURUR5 [5 g![5 f=f)N�
Printer Name:�	Fax Name:)r�r^r�r��PrintSettingsPrinterNameLabel�setTextr�r'�updateUir�r�r�s r9r�DevMgr5.updatePrintSettingsTab�s�����	����*�*�.A�A��2�2�:�:�4�9�9�_�;U�V��2�2�:�:�4�9�9�[�;Q�R��%�%�.�.�t����@P�@P�Q��O��M�O�s�B#B:�:Cc��[RURS5[RURS5[RURS5[R
URS5[RURS5[RURS5[RURS50Ul	URR[[SS	555 URR[[S
S	555 [R[[SS	55[R[[SS	55[R[[SS	55[R
[[S
S	55[R[[S
S	55[R[[SS	55[R[[SS	550UlUR R"R%UR&5 UR(R"R%UR*5 UR,R"R%UR.5 URR"R%UR05 URR"R%UR25 URS5URS5URS5/Ulg)N�PendingzOn hold�Printing�Stopped�Canceled�Aborted�	Completed�cancelr�r��busyrcrVr�rcr�zTitle/Descriptionr�)r�IPP_JOB_PENDINGr��IPP_JOB_HELD�IPP_JOB_PROCESSING�IPP_JOB_STOPPED�IPP_JOB_CANCELLED�IPP_JOB_ABORTED�IPP_JOB_COMPLETED�
JOB_STATES�CancelJobButtonr�r2r��
RefreshButton�JOB_STATE_ICONS�StartStopButton�clickedr��StartStopButton_clicked�AcceptRejectButton�AcceptRejectButton_clicked�SetDefaultButton�SetDefaultButton_clicked�CancelJobButton_clicked�RefreshButton_clicked�job_headersr�s r9r�DevMgr5.initPrintControlTabs[�� �0�0�4�9�9�Y�3G� �-�-��	�	�)�0D� �3�3�d�i�i�
�6K� �0�0�4�9�9�Y�3G� �2�2�T�Y�Y�z�5J� �0�0�4�9�9�Y�3G� �2�2�T�Y�Y�{�5K�
���	
���$�$�U�;�x��+I�%J�K����"�"�5��Y��)H�#I�J�!%�!5�!5�u�[��QX�=Y�7Z�!%�!2�!2�U�;�v�w�;W�5X�!%�!8�!8�5��W�V]�A^�;_�!%�!5�!5��k�)�U\�>]�8^�!%�!7�!7�%��I�W^�@_�:`�!%�!5�!5��k�'�SZ�>[�8\�!%�!7�!7�%��D�RY�@Z�:[�
 "���	
���$�$�,�,�T�-I�-I�J����'�'�/�/��0O�0O�P����%�%�-�-�d�.K�.K�L����$�$�,�,�T�-I�-I�J����"�"�*�*�4�+E�+E�F� �I�I�h�/����;N�1O�QU�QZ�QZ�[c�Qd�e��r;c�p�URRRUR5 SUlg�NF)�InstallLatestButtonr�r��InstallLatestButton_clicked�InstallLatestButton_lockr�s r9�initUpgradeTab�DevMgr5.initUpgradeTab)s*��� � �(�(�0�0��1Q�1Q�R�(-��%r;c��URSLagUR(a�URRS5 [R
"5nUb7[R"S5(aUS-n[R"U5 O[RSU-5 URRS5 gSUl[R"S5 [RSUR5 g)NTFz
hp-upgradez 'hp-upgrade -w'z3Failed to run hp-upgrade command from terminal =%s z>http://hplipopensource.com/hplip-web/install/manual/index.htmlr=)r�r�r�r�r�get_terminal�whichr�executerzr�r?r�r��InstallLatestButton_unlock)r5�terminal_cmdr4s   r9r��#DevMgr5.InstallLatestButton_clicked.s����(�(�D�0���'�'��$�$�/�/��6� �-�-�/�L��'�E�K�K��,E�,E�"�%7�7��� � ��%��	�	�O�P\�\�]��$�$�/�/��5�,0�D�)��M�M�Z�[����d�D�$C�$C�Dr;c��SUlgr�)r�r�s r9r��"DevMgr5.InstallLatestButton_unlock@s
��(-��%r;c�*�URR5nUbv[UR[R
55up#U(aDU(a<URRU5 [RSUR5 gggg)Nr=)�JobTabler�	value_intrkrJ�UserRoler^�	cancelJobr�r�r)r5r2r�rcs    r9r��DevMgr5.CancelJobButton_clickedDsl���}�}�(�(�*����"�4�9�9�R�[�[�#9�:�J�F��f����(�(��0�� � ��t�'A�'A�B��r�r;c�$�UR5 gr/)rr�s r9r��DevMgr5.RefreshButton_clickedNs���"�"�$r;c�$�UR5 gr/)r�r�s r9r�DevMgr5.updateHPLIPupgradeQs�����r;c��URR[:Xa[URR	URS55 URR[RSSS55 OZURR	URS55 URR[RSSS55 URR5 URRS5 URRS5 UR5 [R [R"-n[$R&"5nSnUH$nUR(UR*:XdMUS-
nM& U(GaUR,R/S5 URRU5 URRR255 URR5UR25 [7U5GHCupTUR(UR*:XdM"[9UR:UR<UR>UR<5nURA[RBURD5 URGU5 URRIUSU5 [9URJ5nURGU5 URRIUSU5 [9[MURD55nURGU5 URRIUS	U5 GMF URROSS5 URRQ5 gUR,R/S
5 g)Nr�r�zPrinter Queue Controlr�zFax Queue ControlrrTrF))r^r�r��PrintControlPrinterNameLabelr�r��groupBox�setTitler�rlr�rErr��updatePrintControllerrJrrr�getJobsr�r�r�r�r�r�rrbrr��stater��setDatar��idrrr�rI�setCurrentCellr )r5r"�jobs�num_jobsrr#r�s       r9r�DevMgr5.updatePrintControlTabWs����?�?�&�&�*=�=��-�-�5�5�d�i�i��6P�Q��M�M�"�"�<�#9�#9�,�H_�ae�#f�g��-�-�5�5�d�i�i��6L�M��M�M�"�"�<�#9�#9�,�H[�]a�#b�c��
�
�����
�
�!�!�!�$��
�
�$�$�Q�'��"�"�$��#�#�b�&6�&6�6���|�|�~�����A��v�v��)�)�)��A�
����� � �+�+�D�1��M�M�%�%�h�/��M�M�(�(��T�-=�-=�)>�?��M�M�3�3�D�4D�4D�E�#�D�/����6�6�T�-�-�-�(��)=�)=�a�g�g�)F����XY�X_�X_�H`�a�A��I�I�b�k�k�1�4�4�0��J�J�u�%��M�M�)�)�#�q�!�4�(����1�A��J�J�u�%��M�M�)�)�#�q�!�4�(��A�D�D�)9�:�A��J�J�u�%��M�M�)�)�#�q�!�4�*� 
�M�M�(�(��A�.��M�M�1�1�3�
� � �+�+�E�2r;c���[RUlSUl[R"5nUHAnUR
UR:XdMURUlURUl g gr~)	r�IPP_PRINTER_STATE_IDLEr&r*�getPrintersr�r�r��	accepting)r5rGr�s   r9r%�DevMgr5.getPrinterState�s]��!�8�8���!%����(�(�*�
��A��v�v��)�)�)�%&�W�W��"�)*����&��	r;c�*�URRURS55 [R"5nUR
R[:XaSnOSnXR:XanURRURSU-55 URR[SS55 URRS5 OmURRURSU-55 URR[S	S55 URRS
5 UR5 UR[R :Xa~UR"RURS55 UR$R[SS55 UR&RURS
U-55 GOUR[R(:Xa}UR"RURS55 UR$R[SS55 UR&RURS
U-55 O|UR"RURS55 UR$R[SS55 UR&RURSU-55 UR*(azUR,RURS55 UR.R[SS55 UR0RURS55 gUR,RURS55 UR.R[SS55 UR0RURS55 g)NzSet as Default�Printer�Faxz
Default %srcr�FzNot Default %s�infoTzStarted/Idle�idlezStop %szStarted/Processingr�r�rVzStart %szAccepting JobszReject JobszRejecting JobszAccept Jobs)r�r�r�r�getDefaultPrinterr^r�r�r��SetDefaultLabel�SetDefaultIconrr�r�r%r&r��StartStopLabel�
StartStopIconr��IPP_PRINTER_STATE_PROCESSINGr*�AcceptRejectLabel�AcceptRejectIconr�)r5r��
device_strings   r9r��DevMgr5.updatePrintController�s������%�%�d�i�i�0@�&A�B��0�0�2���?�?�&�&�*=�=�%�M�!�M��.�.�.�� � �(�(����<�
�3M�)N�O����)�)�+�d�G�*D�E��!�!�,�,�U�3�
� � �(�(����3C�M�3Q�)R�S����)�)�+�f�g�*F�G��!�!�,�,�T�2���������!<�!<�<����'�'��	�	�.�(A�B����(�(��V�W�)E�F�� � �(�(����9�]�3J�)K�L��
�
�4�#D�#D�
D����'�'��	�	�2F�(G�H����(�(��V�W�)E�F�� � �(�(����9�]�3J�)K�L�
���'�'��	�	�)�(<�=����(�(��Y��)H�I�� � �(�(����:�m�3K�)L�M��!�!��"�"�*�*�4�9�9�5E�+F�G��!�!�+�+�K���,H�I��#�#�+�+�D�I�I�m�,D�E�
�"�"�*�*�4�9�9�5E�+F�G��!�!�+�+�K�	�7�,K�L��#�#�+�+�D�I�I�m�,D�Er;c�|�[5 UR[R[R4;aw[R
"[R[SXR5upU[R:Xa+URR[:Xa[nO}[nOv[R
"[R[SXR5upU[R:Xa+URR[:Xa[ nO["nU[R:Xa7UR%5 URR'WUR5 O2[)XR+SU-55 [R,"5 [/5 g![/5 f=f)N�qt4z><b>Start/Stop printer queue operation fails. </b><p>Error : %s)r�r&rr�r��cups_operation�stop�GUI_MODEr��IPP_OKr^r�r�r)�EVENT_FAX_QUEUE_STOPPED�start�EVENT_PRINTER_QUEUE_STARTED�EVENT_FAX_QUEUE_STARTEDr�r(�	FailureUIr�rOr��r5r��
result_strr]s    r9r��DevMgr5.StartStopButton_clicked�s,����	��!�!�d�&A�&A�4�Cd�Cd�%e�e�%)�%8�%8����H�e�UY�[k�[k�%l�"���T�[�[�(����2�2�6I�I�7��3���&*�%8�%8����X�u�VZ�\l�\l�%m�"���T�[�[�(����2�2�6I�I�7��3������$��*�*�,����)�)�!�T�-=�-=�>��$�	�	�*j�ku�*u� v�w��(�(�*�
�O��M�O�s�FF/�/F;c�B�[5 UR(aw[R"[R[
SXR5upU[R:Xa+URR[:Xa[nO}[nOv[R"[R[
SXR5upU[R:Xa+URR[:Xa[nO[nU[R:Xa7UR!5 URR#WUR5 O2[%XR'SU-55 [R("5 [+5 g![+5 f=f)Nr�z@<b>Accept/Reject printer queue operation fails.</b><p>Error : %s)r�r*rr��rejectrr�rr^r�r�r+�EVENT_FAX_QUEUE_REJECTING_JOBS�accept�"EVENT_PRINTER_QUEUE_ACCEPTING_JOBS�EVENT_FAX_QUEUE_ACCEPTING_JOBSr�r(rr�rOr�rs    r9r��"DevMgr5.AcceptRejectButton_clicked�s����	��%�%�%)�%8�%8����h�PU�W[�]m�]m�%n�"���T�[�[�(����2�2�6I�I�>��:���&*�%8�%8����h�PU�W[�]m�]m�%n�"���T�[�[�(����2�2�6I�I�>��:������$��*�*�,����)�)�!�T�-=�-=�>��$�	�	�*l�mw�*w� x�y��(�(�*�
�O��M�O�s�E;F�Fc	�&�[5 [R"[R[SXR
R
S55upU[R:wa3[XRSU-55 [R"5 O`UR5 URR[:Xa[nO[ nURR#X0R
5 [%5 g![%5 f=f)Nr��utf8zB<b>Set printer queue as default operation fails. </b><p>Error : %s)r�rr��setDefaultPrinterrr��encoderrr�rOr�r^r�r��"EVENT_PRINTER_QUEUE_SET_AS_DEFAULT�EVENT_FAX_QUEUE_SET_AS_DEFAULTr(r�rs    r9r�� DevMgr5.SetDefaultButton_clickeds�����	�!%�!4�!4�T�5K�5K�X�W\�^b�dt�dt�d{�d{�}C�eD�"E��F�����$��$�	�	�*n�oy�*y� z�{��(�(�*��*�*�,��?�?�.�.�2E�E�:�A�6�A����)�)�!�-=�-=�>�
�O��M�O�s�C-D�Dc�D�[5 URR5nUbOUR5(a%URRUR5 UR5nUbMO[5 UR5 g![5 f=fr/)
r�r��
firstChild�isOnr^r�r��nextSiblingr�r)r5r2s  r9�cancelCheckedJobs�DevMgr5.cancelCheckedJobssz����		��=�=�+�+�-�D��"��9�9�;�;��O�O�-�-�d�k�k�:��'�'�)��	�"�
�O�	
�"�"�$��
�O�s�A*B�Bc�D�UR5 UR5 gr/)�cleanupr
)r5r[s  r9�
closeEvent�DevMgr5.closeEvent4s������
���r;c�$�UR5 gr/)r�r�s r9r�DevMgr5.cleanup9s�����r;c��[RS5 [R"S[R5 g![
a gf=f)NzCleaning up child processes.���)rzr{r�waitpid�WNOHANG�OSErrorr�s r9r��DevMgr5.cleanupChildren=s8���	�	�0�1�	��J�J�r�2�:�:�&���	��	�s�%=�
A
�	A
c�n�UR5 [R"5 UR5 gr/)r�rrOr"r�s r9r��DevMgr5.quitEs#������� � �"��
�
�r;c�:�[U5nURRU5 UR5[R
:XaSURR5 URb+URR[UR5 gggr/)r&�	TabWidget�setCurrentIndexre�QDialog�Acceptedr�r�r^r(r?r�)r5�tab_to_showr�s   r9r��#DevMgr5.PreferencesAction_activatedXss���T�"���
�
�%�%�k�2��9�9�;�'�*�*�*����#�#�%����*����)�)�*J�D�L\�L\�]�+�+r;c���[R"S5(aSnOSn[RU5 [R"U5 UR5 UR
5 g)N�hp-setupzhp-setup --guizpython ./setup.py --gui)rr�rzr{�runr#r��r5r4s  r9r��#DevMgr5.SetupDeviceAction_activatedisI���;�;�z�"�"�"�C�+�C��	�	�#��
�	�	�#������� � �"r;c��[R"S5(aSnOSnURbUSUR--
n[R	U5 [R
"U5 UR
5 UR5 g)Nr4zhp-setup --gui --removez python ./setup.py --gui --removez --device=%s)rr�r�rzr{r5r#r�r6s  r9r��$DevMgr5.RemoveDeviceAction_activatedusj���;�;�z�"�"�+�C�4�C����*��>�D�$7�$7�7�7�C��	�	�#��
�	�	�#������� � �"r;c��[R"S5(aSnOSn[RU5 [R
"U5 g)Nzhp-diagnose_queueszhp-diagnose_queues --guiz!python ./diagnose_queues.py --gui)rr�rzr{rr�r6s  r9�DiagnoseQueueAction_activated�%DevMgr5.DiagnoseQueueAction_activated�s5���;�;�+�,�,�+�C�4�C��	�	�#������r;c��[R"S5(aSnOSn[R"5nU(aUSU--n[R"U5 gg)Nz	hp-doctorzhp-doctor -i -wzpython ./doctor.py -i -wz '%s')rr�r�rr�)r5r4r�s   r9�DiagnoseHPLIP_activated�DevMgr5.DiagnoseHPLIP_activated�sM���;�;�{�#�#�#�C�,�C��)�)�+�������,�C����S�!�r;c
�~�[5 [U5S:Xa1[XRS55 [RS5 GOD[R
SS<SU<SUR<SS<35 [R
U5 S	RURU5Vs/sH(nURRRX35PM* sn5n[R
U5 UR5SnUR5n[R
U5 [R
U5 UR5 [R "[R"XE5 [$R'5 [)5 gs snf![a N�f=f![)5 f=f)
Nrzq<p><b>Unable to run command. No command specified.</b><p>Use <pre>Configure...</pre> to specify a command to run.z9No command specified. Use settings to configure commands.zRun: r/r0z (z) rx)r�r�rr�rzr�r{r�rr>r^r�r�r�r�r�spawnvp�P_NOWAITrkr�r�)r5r4�
macro_charr�r�rYs      r9r@�DevMgr5.runExternalCommand�s@����	��3�x�1�}��$�y�y�*]� ^�_��	�	�U�V��	�	�&�#�t�?R�?R�TZ�[�\��	�	�#����'�'��I�I�j�)�#+�)�q�$(�?�?�#>�#>�#B�#B�1�#H�)�#+�,�C�
�	�	�#���y�y�{�1�~���y�y�{���	�	�$���	�	�$���$�$�&��
�
�2�;�;��3��"�"�$�
�O��%#+��%����� 
�O�sC�BF0�F �//F�F �%B+F0�F � 
F-�*F0�,F-�-F0�0F<c�D�[R"UR5 gr/)rr?rr�s r9r��DevMgr5.helpContents�s��
�
�
�d�i�i� r;c�t�[U[RURS-5nUR	5 g)Nz (Qt4))r%r|rwr~re)r5r�s  r9r��DevMgr5.helpAbout�s(���$����d�.B�.B�X�.M�N���	�	�r;c�.�[RSX5$rhrjrms   r9rp�DevMgr5.__tr�rrr;)%r�r�r�r�r�rIrr�rUr�r^r�r�r�r�r�r�rrr�r�r�r�rr�r�r.r*r&r�r�r�rJrr~r�r�)NNNNrr/)rr~)NN�rxrx)rZr[)�%)Yr=r>r?r@r1r�r�r�r�r�r$r�rGrHrMrwrxr|r�r�r�rr�r�r�r�r�r�r�r�r�rjrr�rrEr�r#rr�rr�r�r�r�rrXrAr�r�rr�r�r�r�rrlrjrrrr�r�r�r�r�rrr%r�r�r�r�rr rr�r�r�r�r�r;r>r@r�r�r�rA�
__classcell__)r�s@r9riri�s����<@�<=�00�t:�5�=}�@5�,`�.�43D�l#��;�#�(�JN����B�C�%�"!�!�
2�2��5�)�X^)�B	:�C�A�4	%�2�	/��
P�7��08�fA�6
\�  �
 �b�\�~6�,�
�a�!�
%�D�.U3�|6.�rt�n3(�lA�V
�
�&f�B.�
E�$.�C�%��-3�`	�1F�j�>�>�*%�2�
���&^�"	#�#��	"�&�B!��
-�-r;ric�:�\rSrSrS	SjrSrSrSrS
SjrSr	g)�PasswordDialogi�Nc��[RX5 Xl[U5nUR	SSSS5 URS5 [
U5UlURURSSSS5 [
U5Ul	URURSS5 [U5UlURR[R5 URURSSSS5 [
U5UlURURSS5 [U5UlURR[R 5 URURSSSS5 [#U5UlURUR$SS5 UR'5 UR)[+SS5R-UR/555 UR$R0R3UR45 URR6R3UR45 g)	Nr�r;rrrri��)r/r1�prompt�QGridLayout�setContentsMargins�
setSpacing�QLabel�PromptTextLabel�	addWidget�UsernameTextLabel�	QLineEdit�UsernameLineEdit�setEchoMode�Normal�PasswordTextLabel�PasswordLineEdit�Password�QPushButton�OkPushButton�languageChange�resizer	�
expandedTo�minimumSizeHintr�r�r
�
returnPressed)r5rRr6r��modalr��Layouts       r9r1�PasswordDialog.__init__�s�������&����D�!���!�!�"�R��2�.����!��%�d�|�������-�-�a��!�A�6�!'���������/�/��!�4� )�$�������)�)�)�*:�*:�;�����.�.�q��1�Q�7�!'���������/�/��!�4� )�$�������)�)�)�*<�*<�=�����.�.�q��1�Q�7�'��-�������*�*�1�Q�/��������E�#�c�N�-�-�d�.B�.B�.D�E�F����!�!�)�)�$�+�+�6����+�+�3�3�D�K�K�@r;c�H�[URR55$r/)rIr[r7r�s r9�getUsername�PasswordDialog.getUsername�����$�/�/�4�4�6�7�7r;c�H�[URR55$r/)rIr_r7r�s r9�getPassword�PasswordDialog.getPassword�rnr;c��URURS55 URRURUR55 UR
RURS55 URRURS55 URRURS55 g)Nz+HP Device Manager - Enter Username/Passwordz	Username:z	Password:�OK)r��_PasswordDialog__trrWr�rRrYr^rbr�s r9rc�PasswordDialog.languageChange�s������D�I�I�&S�T�U����$�$�T�Y�Y�t�{�{�%;�<����&�&�t�y�y��'=�>����&�&�t�y�y��'=�>����!�!�$�)�)�D�/�2r;c�.�[RSX5$rhrjrms   r9rp�PasswordDialog.__tr	rrr;)rbr_r^rWr[rYrR)NNrrr/)
r=r>r?r@r1rlrprcrtrArBr;r9rOrO�s��!A�H8�8�3�-r;rOc��[US5nUR5[R:Xa UR	5UR54$g!f=f)NrK)rOrer/r0rlrp)rRr�s  r9r�r�	sV��
��V�T�*���9�9�;�'�*�*�*��O�O�%�s���'8�9�	
�	+�	
���	
�s�A
A�Ac��U(a2[RU5up#U[R:waSnSU-$UnSU-$)Nzhplipopensource.comz	http://%s)r�get_zc_ip_address�
HPMUD_R_OK)r�r��status�ips    r9r�r�	sI��	��/�/��3�
���X�(�(�(�&�B����������r;)hr#�timer�gzip�select�structr��base.sixext.movesr�base.g�baserrrrr	r
r�prntr�base.sixextr
�
base.codes�ui_utils�installer.core_install�PyQt5.QtCore�PyQt5.QtGui�PyQt5.QtWidgets�collections�abcr�r��
import_extrrI�dbus.mainloop.glibrr�ImportErrorrzr��exit�warnings�simplefilter�DeprecationWarning�devmgr5_baser�
devmgr_extr�faxsetupdialogr�plugindialogr�firmwaredialogr�aligndialogr�printdialogr�makecopiesdialogr�
sendfaxdialogr�	fabwindowr�devicesetupdialogr�printtestpagedialogr�
infodialogr�cleandialogr �colorcaldialogr!�linefeedcaldialogr"�pqdiagdialogr#�nodevicesdialogr$�aboutdialogr%�settingsdialogr&�printsettingstoolboxr'�MIN_AUTO_REFRESH_RATE�MAX_AUTO_REFRESH_RATE�DEF_AUTO_REFRESH_RATEr��	ModelDatarbr0r,rD�QObjectrN�QMainWindowrir/rOr�r�rBr;r9�<module>r�s���2��	��
�
�
�*��B�B�B�����$�����!� �_�_�N����J�'����0���	���h� 2�3�(�-�*�&�*�$�$�.�(� �0�4�"�$�*�0�&�,�$�+�6��������������	��?��/�_�/�-�G�-�L*�Xu-�#�]�K�u-�t?6-�W�6-�t
���OG�!� �N�!�����I�I�\�]�
��	�	�\�]��H�H�Q�K�	�s%�)F
�F�
F�F�AG!� G!

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 129 B 0644
aboutdialog.cpython-313.pyc File 1.67 KB 0644
aboutdialog_base.cpython-313.pyc File 12.62 KB 0644
aligndialog.cpython-313.pyc File 41.93 KB 0644
aligndialog_base.cpython-313.pyc File 40.41 KB 0644
cleandialog.cpython-313.pyc File 15.76 KB 0644
cleandialog_base.cpython-313.pyc File 17.91 KB 0644
colorcaldialog.cpython-313.pyc File 21.01 KB 0644
colorcaldialog_base.cpython-313.pyc File 36.36 KB 0644
devicesetupdialog.cpython-313.pyc File 12.45 KB 0644
devicesetupdialog_base.cpython-313.pyc File 8.12 KB 0644
deviceuricombobox.cpython-313.pyc File 6.62 KB 0644
devmgr5.cpython-313.pyc File 113.65 KB 0644
devmgr5_base.cpython-313.pyc File 39.38 KB 0644
devmgr_ext.cpython-313.pyc File 3.74 KB 0644
fabgrouptable.cpython-313.pyc File 2.54 KB 0644
fabnametable.cpython-313.pyc File 1.14 KB 0644
fabwindow.cpython-313.pyc File 38.92 KB 0644
fabwindow_base.cpython-313.pyc File 14.44 KB 0644
faxsetupdialog.cpython-313.pyc File 21.82 KB 0644
faxsetupdialog_base.cpython-313.pyc File 10.13 KB 0644
filetable.cpython-313.pyc File 22.07 KB 0644
firmwaredialog.cpython-313.pyc File 4.36 KB 0644
firmwaredialog_base.cpython-313.pyc File 6.12 KB 0644
infodialog.cpython-313.pyc File 14.75 KB 0644
infodialog_base.cpython-313.pyc File 10.15 KB 0644
linefeedcaldialog.cpython-313.pyc File 5.25 KB 0644
linefeedcaldialog_base.cpython-313.pyc File 4.81 KB 0644
loadpapergroupbox.cpython-313.pyc File 4.68 KB 0644
makecopiesdialog.cpython-313.pyc File 3.59 KB 0644
makecopiesdialog_base.cpython-313.pyc File 4.37 KB 0644
mimetypesdialog.cpython-313.pyc File 1.94 KB 0644
mimetypesdialog_base.cpython-313.pyc File 6.68 KB 0644
nodevicesdialog.cpython-313.pyc File 3.09 KB 0644
nodevicesdialog_base.cpython-313.pyc File 8.34 KB 0644
plugindiagnose.cpython-313.pyc File 4.33 KB 0644
plugindiagnose_base.cpython-313.pyc File 5.51 KB 0644
plugindialog.cpython-313.pyc File 17.44 KB 0644
plugindialog_base.cpython-313.pyc File 11.7 KB 0644
pluginlicensedialog.cpython-313.pyc File 1.28 KB 0644
pluginlicensedialog_base.cpython-313.pyc File 8.41 KB 0644
pqdiagdialog.cpython-313.pyc File 5.04 KB 0644
pqdiagdialog_base.cpython-313.pyc File 4.79 KB 0644
printdialog.cpython-313.pyc File 9.78 KB 0644
printdialog_base.cpython-313.pyc File 9.83 KB 0644
printernamecombobox.cpython-313.pyc File 6.69 KB 0644
printsettings_base.cpython-313.pyc File 139 B 0644
printsettingsdialog.cpython-313.pyc File 4.78 KB 0644
printsettingsdialog_base.cpython-313.pyc File 4.88 KB 0644
printsettingstoolbox.cpython-313.pyc File 88.52 KB 0644
printtestpagedialog.cpython-313.pyc File 7.25 KB 0644
printtestpagedialog_base.cpython-313.pyc File 7.18 KB 0644
queuesconf.cpython-313.pyc File 15.2 KB 0644
readonlyradiobutton.cpython-313.pyc File 2.24 KB 0644
scandialog.cpython-313.pyc File 123.01 KB 0644
sendfaxdialog.cpython-313.pyc File 57.92 KB 0644
sendfaxdialog_base.cpython-313.pyc File 39.46 KB 0644
settingsdialog.cpython-313.pyc File 5.55 KB 0644
settingsdialog_base.cpython-313.pyc File 25.92 KB 0644
setupdialog.cpython-313.pyc File 79.67 KB 0644
setupdialog_base.cpython-313.pyc File 38.46 KB 0644
setupdialog_base5.cpython-313.pyc File 38.43 KB 0644
systemtray.cpython-313.pyc File 41.3 KB 0644
systrayframe.cpython-313.pyc File 12.48 KB 0644
systrayframe_base.cpython-313.pyc File 10.84 KB 0644
ui_utils.cpython-313.pyc File 28.62 KB 0644
upgradedialog.cpython-313.pyc File 6.38 KB 0644
upgradedialog_base.cpython-313.pyc File 5.98 KB 0644
wifisetupdialog.cpython-313.pyc File 54.96 KB 0644
wifisetupdialog_base.cpython-313.pyc File 62.3 KB 0644
Filemanager