# -*- coding: utf-8 -*- # # (c) Copyright 2001-2015 HP Development Company, L.P. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Author: Don Welch # # Local from base.g import * from base.codes import * from .ui_utils import * # Qt from PyQt5.QtCore import * from PyQt5.QtGui import * class SystrayFrame(QFrame): def __init__(self, parent): QFrame.__init__(self, parent) def initUi(self, systray_visible, polling, polling_interval, device_list, systray_messages,upgrade_notify, upgrade_postpone_time, upgrade_msg): self.systray_visible = systray_visible self.polling = polling self.polling_interval = polling_interval self.device_list = device_list self.systray_messages = systray_messages self.upgrade_notify = upgrade_notify self.upgrade_postpone_time =upgrade_postpone_time self.upgrade_msg = upgrade_msg self.gridlayout = QGridLayout(self) self.frame = QFrame(self) self.frame.setFrameShape(QFrame.StyledPanel) self.frame.setFrameShadow(QFrame.Raised) self.gridlayout1 = QGridLayout(self.frame) self.groupBox_2 = QGroupBox(self.frame) self.gridlayout2 = QGridLayout(self.groupBox_2) self.ShowAlwaysRadioButton = QRadioButton(self.groupBox_2) self.gridlayout2.addWidget(self.ShowAlwaysRadioButton,0,0,1,1) self.HideWhenInactiveRadioButton = QRadioButton(self.groupBox_2) self.gridlayout2.addWidget(self.HideWhenInactiveRadioButton,1,0,1,1) self.HideAlwaysRadioButton = QRadioButton(self.groupBox_2) self.gridlayout2.addWidget(self.HideAlwaysRadioButton,2,0,1,1) self.gridlayout1.addWidget(self.groupBox_2,0,0,1,1) self.groupBox_3 = QGroupBox(self.frame) self.gridlayout3 = QGridLayout(self.groupBox_3) self.label_2 = QLabel(self.groupBox_3) self.gridlayout3.addWidget(self.label_2,0,0,1,1) self.MessageShowComboBox = QComboBox(self.groupBox_3) self.gridlayout3.addWidget(self.MessageShowComboBox,1,0,1,1) self.MessageShowComboBox.addItem(self.__tr("All"), SYSTRAY_MESSAGES_SHOW_ALL) self.MessageShowComboBox.addItem(self.__tr("Errors and Warnings"), SYSTRAY_MESSAGES_SHOW_ERRORS_AND_WARNINGS) self.MessageShowComboBox.addItem(self.__tr("Errors Only"), SYSTRAY_MESSAGES_SHOW_ERRORS_ONLY) self.MessageShowComboBox.addItem(self.__tr("None"), SYSTRAY_MESSAGES_SHOW_NONE) spacerItem = QSpacerItem(20,40,QSizePolicy.Minimum,QSizePolicy.Minimum) self.gridlayout3.addItem(spacerItem,2,0,1,1) self.gridlayout1.addWidget(self.groupBox_3,0,1,1,1) self.MonitorGroupBox = QGroupBox(self.frame) self.MonitorGroupBox.setCheckable(True) self.MonitorGroupBox.setEnabled(False) self.gridlayout4 = QGridLayout(self.MonitorGroupBox) self.label = QLabel(self.MonitorGroupBox) self.gridlayout4.addWidget(self.label,0,0,1,1) self.listWidget = QListWidget(self.MonitorGroupBox) self.gridlayout4.addWidget(self.listWidget,1,0,1,1) self.gridlayout1.addWidget(self.MonitorGroupBox,1,0,1,2) #UpdategroupBox is same as "gridlayout5" self.groupBox_4 = QGroupBox(self.frame) self.UpdategroupBox = QGridLayout(self.groupBox_4) self.UpdategroupBox.setObjectName("UpdategroupBox") self.UpdatecheckBox = QCheckBox(self.groupBox_4) self.UpdatecheckBox.setObjectName("UpdatecheckBox") self.UpdategroupBox.addWidget(self.UpdatecheckBox,0,0,1,4) self.label_5 = QLabel(self.groupBox_4) self.label_5.setObjectName("label_5") self.UpdategroupBox.addWidget(self.label_5, 1, 0, 1, 4) self.textEdit = QTextEdit(self.groupBox_4) self.textEdit.setObjectName("textEdit") self.textEdit.setReadOnly(True) self.UpdategroupBox.addWidget(self.textEdit, 2, 0, 1, 4) self.gridlayout1.addWidget(self.groupBox_4,2,0,1,2) self.gridlayout.addWidget(self.frame,0,0,1,1) self.setWindowTitle(QApplication.translate("self", "self", None)) self.groupBox_2.setTitle(QApplication.translate("self", "System tray icon visibility", None)) self.ShowAlwaysRadioButton.setText(QApplication.translate("self", "Always show", None)) self.HideWhenInactiveRadioButton.setText(QApplication.translate("self", "Hide when inactive", None)) self.HideAlwaysRadioButton.setText(QApplication.translate("self", "Always hide", None)) self.groupBox_3.setTitle(QApplication.translate("self", "System tray icon messages", None)) self.label_2.setText(QApplication.translate("self", "Messages to show:", None)) self.MonitorGroupBox.setTitle(QApplication.translate("self", "Monitor button presses on devices", None)) self.label.setText(QApplication.translate("self", "Devices to monitor:", None)) self.groupBox_4.setTitle(QApplication.translate("Dialog", "Update Settings", None)) self.UpdatecheckBox.setText(QApplication.translate("Dialog", "Check and notify HPLIP updates", None)) self.label_5.setText(QApplication.translate("Dialog", "Status:", None)) self.textEdit.setPlainText(self.upgrade_msg) self.ShowAlwaysRadioButton.clicked[bool].connect(self.ShowAlwaysRadioButton_clicked) self.HideWhenInactiveRadioButton.clicked[bool].connect(self.HideWhenInactiveRadioButton_clicked) self.HideAlwaysRadioButton.clicked[bool].connect(self.HideAlwaysRadioButton_clicked) self.MessageShowComboBox.activated[int].connect(self.MessageShowComboBox_activated) self.UpdatecheckBox.clicked[bool].connect(self.UpdatecheckBox_clicked) def UpdatecheckBox_clicked(self, b): log.debug("Update HPLIP val =%d "%b) if b is False: self.upgrade_notify = False else: self.upgrade_notify = True def updateUi(self): self.updateVisibility() self.updateMessages() self.updateDeviceList() self.updateUpgradeSettings() def updateVisibility(self): if self.systray_visible == SYSTRAY_VISIBLE_SHOW_ALWAYS: self.ShowAlwaysRadioButton.setChecked(True) elif self.systray_visible == SYSTRAY_VISIBLE_HIDE_WHEN_INACTIVE: self.HideWhenInactiveRadioButton.setChecked(True) else: # SYSTRAY_VISIBLE_HIDE_ALWAYS self.HideAlwaysRadioButton.setChecked(True) def ShowAlwaysRadioButton_clicked(self, b): if b: self.systray_visible = SYSTRAY_VISIBLE_SHOW_ALWAYS def HideWhenInactiveRadioButton_clicked(self, b): if b: self.systray_visible = SYSTRAY_VISIBLE_HIDE_WHEN_INACTIVE def HideAlwaysRadioButton_clicked(self, b): if b: self.systray_visible = SYSTRAY_VISIBLE_HIDE_ALWAYS def updateMessages(self): #i = self.MessageShowComboBox.findData(QVariant(self.systray_messages)) i = self.MessageShowComboBox.findData(self.systray_messages) if i != -1: self.MessageShowComboBox.setCurrentIndex(i) def MessageShowComboBox_activated(self, i): sender = self.sender() mode, ok = value_int(sender.itemData(i)) if ok: self.systray_messages = mode def updateDeviceList(self): pass def updateUpgradeSettings(self): if self.upgrade_notify is True: self.UpdatecheckBox.setChecked(True) else: self.UpdatecheckBox.setChecked(False) def __tr(self, s, c=None): return QApplication.translate("SystrayFrame", s, c)