mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
always create services menu but hide it until any action is added
This commit is contained in:
parent
4a39f7b371
commit
a76980a1a9
2 changed files with 18 additions and 14 deletions
|
|
@ -144,12 +144,19 @@ class ITrayService(ITrayModule):
|
|||
# pass
|
||||
|
||||
@staticmethod
|
||||
def services_submenu():
|
||||
def services_submenu(tray_menu):
|
||||
if ITrayService._services_submenu is None:
|
||||
from Qt import QtWidgets
|
||||
services_submenu = QtWidgets.QMenu("Services", tray_menu)
|
||||
services_submenu.setVisible(False)
|
||||
ITrayService._services_submenu = services_submenu
|
||||
return ITrayService._services_submenu
|
||||
|
||||
@staticmethod
|
||||
def _set_services_submenu(services_submenu):
|
||||
ITrayService._services_submenu = services_submenu
|
||||
def add_service_action(action):
|
||||
ITrayService._services_submenu.addAction(action)
|
||||
if not ITrayService._services_submenu.isVisible():
|
||||
ITrayService._services_submenu.setVisible(True)
|
||||
|
||||
@staticmethod
|
||||
def _load_service_icons():
|
||||
|
|
@ -184,16 +191,14 @@ class ITrayService(ITrayModule):
|
|||
|
||||
def tray_menu(self, tray_menu):
|
||||
from Qt import QtWidgets
|
||||
services_submenu = self.services_submenu()
|
||||
if services_submenu is None:
|
||||
services_submenu = QtWidgets.QMenu("Services", tray_menu)
|
||||
self._set_services_submenu(services_submenu)
|
||||
|
||||
action = QtWidgets.QAction(self.label, services_submenu)
|
||||
services_submenu.addAction(action)
|
||||
|
||||
action = QtWidgets.QAction(
|
||||
self.label,
|
||||
self.services_submenu(tray_menu)
|
||||
)
|
||||
self.menu_action = action
|
||||
|
||||
self.add_service_action(action)
|
||||
|
||||
self.set_service_running_icon()
|
||||
|
||||
def set_service_running_icon(self):
|
||||
|
|
|
|||
|
|
@ -39,9 +39,8 @@ class TrayManager:
|
|||
self.modules_manager.initialize(self.tray_widget.menu)
|
||||
|
||||
# Add services if they are
|
||||
services_submenu = ITrayService.services_submenu()
|
||||
if services_submenu is not None:
|
||||
self.tray_widget.menu.addMenu(services_submenu)
|
||||
services_submenu = ITrayService.services_submenu(self.tray_widget.menu)
|
||||
self.tray_widget.menu.addMenu(services_submenu)
|
||||
|
||||
# Add separator
|
||||
self.tray_widget.menu.addSeparator()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue