Put update status in tray menu

This commit is contained in:
JonnyWong16 2020-12-04 18:48:39 -08:00
parent 6659802689
commit b41249cfa8
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
2 changed files with 21 additions and 14 deletions

View file

@ -47,9 +47,9 @@ class MacOSSystemTray(object):
self.icon = os.path.join(self.image_dir, 'logo-flat-white.ico')
if plexpy.UPDATE_AVAILABLE:
self.title = common.PRODUCT + ' - Update Available!'
self.update_title = 'Check for Updates - Update Available!'
else:
self.title = common.PRODUCT
self.update_title = 'Check for Updates'
self.menu = [
rumps.MenuItem('Open Tautulli', callback=self.tray_open),
@ -57,7 +57,7 @@ class MacOSSystemTray(object):
rumps.MenuItem('Start Tautulli at Login', callback=self.tray_startup),
rumps.MenuItem('Open Browser when Tautulli Starts', callback=self.tray_browser),
None,
rumps.MenuItem('Check for Updates', callback=self.tray_check_update),
rumps.MenuItem(self.update_title, callback=self.tray_check_update),
rumps.MenuItem('Restart', callback=self.tray_restart),
rumps.MenuItem('Quit', callback=self.tray_quit)
]
@ -66,8 +66,7 @@ class MacOSSystemTray(object):
self.menu[2].state = plexpy.CONFIG.LAUNCH_STARTUP
self.menu[3].state = plexpy.CONFIG.LAUNCH_BROWSER
self.tray_icon = rumps.App(common.PRODUCT, title=self.title,
icon=self.icon, menu=self.menu, quit_button=None)
self.tray_icon = rumps.App(common.PRODUCT, icon=self.icon, menu=self.menu, quit_button=None)
def start(self):
logger.info("Launching MacOS menu bar icon.")
@ -82,8 +81,6 @@ class MacOSSystemTray(object):
def update(self, **kwargs):
if 'icon' in kwargs:
self.tray_icon.icon = kwargs['icon']
if 'title' in kwargs:
self.tray_icon.title = kwargs['title']
def tray_open(self, tray_icon):
plexpy.launch_browser(plexpy.CONFIG.HTTP_HOST, plexpy.HTTP_PORT, plexpy.HTTP_ROOT)
@ -102,6 +99,9 @@ class MacOSSystemTray(object):
def tray_update(self, tray_icon):
if plexpy.UPDATE_AVAILABLE:
plexpy.SIGNAL = 'update'
else:
self.update_title = 'Check for Updates - No Update Available'
self.menu[5].title = self.update_title
def tray_restart(self, tray_icon):
plexpy.SIGNAL = 'restart'
@ -111,10 +111,10 @@ class MacOSSystemTray(object):
def change_tray_update_icon(self):
if plexpy.UPDATE_AVAILABLE:
self.title = common.PRODUCT + ' - Update Available!'
self.update_title = 'Check for Updates - Update Available!'
else:
self.title = common.PRODUCT + ' - No Update Available'
self.update(title=self.title)
self.update_title = 'Check for Updates'
self.menu[5].title = self.update_title
def change_tray_icons(self):
self.tray_icon.menu['Start Tautulli at Login'].state = plexpy.CONFIG.LAUNCH_STARTUP

View file

@ -47,8 +47,10 @@ class WindowsSystemTray(object):
if plexpy.UPDATE_AVAILABLE:
self.hover_text = common.PRODUCT + ' - Update Available!'
self.update_title = 'Check for Updates - Update Available!'
else:
self.hover_text = common.PRODUCT
self.update_title = 'Check for Updates'
if plexpy.CONFIG.LAUNCH_STARTUP:
launch_start_icon = os.path.join(self.image_dir, 'check-solid.ico')
@ -65,7 +67,7 @@ class WindowsSystemTray(object):
['Start Tautulli at Login', launch_start_icon, self.tray_startup, None],
['Open Browser when Tautulli Starts', launch_browser_icon, self.tray_browser, None],
['', None, 'separator', None],
['Check for Updates', None, self.tray_check_update, None],
[self.update_title, None, self.tray_check_update, None],
['Restart', None, self.tray_restart, None]
]
if not plexpy.FROZEN:
@ -104,8 +106,10 @@ class WindowsSystemTray(object):
if plexpy.UPDATE_AVAILABLE:
plexpy.SIGNAL = 'update'
else:
hover_text = common.PRODUCT + ' - No Update Available'
self.update(hover_text=hover_text)
self.hover_text = common.PRODUCT + ' - No Update Available'
self.update_title = 'Check for Updates - No Update Available'
self.menu[5][0] = self.update_title
self.update(hover_text=self.hover_text, menu_options=self.menu)
def tray_restart(self, tray_icon):
plexpy.SIGNAL = 'restart'
@ -116,9 +120,12 @@ class WindowsSystemTray(object):
def change_tray_update_icon(self):
if plexpy.UPDATE_AVAILABLE:
self.hover_text = common.PRODUCT + ' - Update Available!'
self.update_title = 'Check for Updates - Update Available!'
else:
self.hover_text = common.PRODUCT + ' - No Update Available'
self.update(hover_text=self.hover_text)
self.update_title = 'Check for Updates'
self.menu[5][0] = self.update_title
self.update(hover_text=self.hover_text, menu_options=self.menu)
def change_tray_icons(self):
if plexpy.CONFIG.LAUNCH_STARTUP: