Esempio n. 1
0
class SystemTrayIcon(QSystemTrayIcon):
    def __init__(self, main_window):
        QSystemTrayIcon.__init__(self)
        self.main_window = main_window
        self.setIcon(QIcon(LOGO_PADDED_PATH))
        self.initialize_context_menu()

    def initialize_context_menu(self):
        self.menu = QMenu()
        self.version_action = self.menu.addAction(f"Version {__version__}")
        self.version_action.setEnabled(False)
        self.menu.addSeparator()
        self.open_action = self.menu.addAction("Open Control Panel",
                                               self.show_main_window)
        self.restore_action = self.menu.addAction(
            "Restore Files", self.main_window.open_restore_files)
        self.settings_action = self.menu.addAction(
            "Settings", self.main_window.open_settings)
        self.help_action = self.menu.addAction(
            "Help", lambda: webbrowser.open(SUPPORT_URL))
        self.quit_action = self.menu.addAction(
            "Quit", self.main_window.quit_application)
        self.setContextMenu(self.menu)

    def show_main_window(self):
        self.main_window.show()
        self.main_window.activateWindow()
        self.main_window.raise_()
Esempio n. 2
0
 def contextMenuEvent(self, event):
     """A simple context menu for managing images."""
     context_menu = QMenu(self) # Create menu instance
     context_menu.addAction(self.parent.sort_ascend_act)
     context_menu.addAction(self.parent.sort_descend_act)
     context_menu.addSeparator()
     context_menu.addAction(self.parent.delete_act)
     context_menu.exec(self.mapToGlobal(event.pos()))       
Esempio n. 3
0
class WindowCpu(QSystemTrayIcon):
    def __init__(self):
        super().__init__()
        self.menu = QMenu()
        self.usage = QAction()
        self.usage.setText("Initialised")
        self.menu.addAction(self.usage)
        self.version = QAction("Notifier ({})".format(__version__))
        self.version.setDisabled(True)
        self.menu.addAction(self.version)
        self.menu.addSeparator()
        self.menu.addAction("Quit", lambda: exit(0))
        self.setContextMenu(self.menu)
        self.setIcon(QIcon("icons/0.svg"))
        self.show()
        self.task = TaskCpu()
        self.task.start()
        self.task.on_cpu_changed.connect(
            lambda value: self.set_icon(value))  # noqa

    def set_icon(self, value):
        """
        initial  == 0 white
        [0-25)   == 1 blue
        [25-50)  == 2 green
        [50-75)  == 3 yellow
        [75-100) == 4 orange
        [100-)   == 5 red

        :param value:
        :return:
        """
        if 0 <= value < 25:
            icon = 1
        elif 25 <= value < 50:
            icon = 2
        elif 50 <= value < 75:
            icon = 3
        elif 75 <= value < 100:
            icon = 4
        else:
            icon = 5
        self.usage.setText("Usage % {}".format(value))
        self.setIcon(QIcon("icons/{}.svg".format(icon)))
Esempio n. 4
0
    def contextMenuEvent(self, event):
        """Add actions to right click menu, dependent on currently active table
        """
        child = self.childAt(event.pos())

        menu = QMenu(self)
        # menu.setToolTipsVisible(True)

        table_widget = self.active_table_widget()
        for section in table_widget.context_actions.values():
            for action in section:
                name_action = f'act_{action}'
                try:
                    menu.addAction(getattr(self, name_action))
                except Exception as e:
                    try:
                        menu.addAction(getattr(table_widget, name_action))
                    except Exception as e:
                        log.warning(
                            f'Couldn\'t add action to context menu: {action}')

            menu.addSeparator()

        action = menu.exec(self.mapToGlobal(event.pos()))