Esempio n. 1
0
class SystemTrayIcon(QSystemTrayIcon):
    def __init__(self, icon, parent=None):
        QSystemTrayIcon.__init__(self, icon, parent)
        self.setToolTip("usb-resetter 1.0 (Left\Right-Click)")
        self.parent = parent
        self.activated.connect(self.toggleP)
        menu = QMenu(parent)
        self.fmenu = QMenu("Fast reset", parent)
        self.fmenu.setToolTip("List of filtered devices to fast reset")
        aboutAction = QAction("About", self)
        aboutAction.triggered.connect(parent.show_about)
        quitAction = QAction("Exit", self)
        quitAction.triggered.connect(parent.exitEvent)
        menu.addMenu(self.fmenu)
        menu.addSeparator()
        menu.addAction(aboutAction)
        menu.addAction(quitAction)
        self.setContextMenu(menu)

    def toggleP(self, ar):
        actions = [QSystemTrayIcon.ActivationReason.Context,
                   QSystemTrayIcon.ActivationReason.Trigger]
        if ar in actions:
            self.set_Freset()
        else:
            if self.parent.Hidden:
                self.parent.show()
                self.parent.Hidden = None
            else:
                self.parent.hide()
                self.parent.Hidden = True

    def set_Freset(self):
        self.fmenu.clear()
        for l in self.parent.get_list():
            ac = QAction(l, self)

            def actdo(t):
                if resetit(t):
                    self.parent.statusbar.setStyleSheet(self.parent.s_norm)
                    self.parent.statusbar.showMessage(
                        "# Done: usb device got reset")
                    return True
                self.parent.statusbar.setStyleSheet(self.parent.s_error)
            ac.triggered.connect(partial(actdo, l))
            self.fmenu.addAction(ac)