minor tray fixes

This commit is contained in:
ingvar1995 2018-05-19 23:20:37 +03:00
parent 77bdabb993
commit f67de1ba91
2 changed files with 16 additions and 15 deletions

View file

@ -328,7 +328,7 @@ class App:
widgets_factory = WidgetsFactory(self._settings, profile, self._profile_manager, self._contacts_manager,
self._file_transfer_handler, self._smiley_loader, self._plugin_loader,
self._toxes, self._version, self._groups_service)
self._tray = tray.init_tray(profile, self._settings, self._ms)
self._tray = tray.init_tray(profile, self._settings, self._ms, self._toxes)
self._ms.set_dependencies(widgets_factory, self._tray, self._contacts_manager, self._messenger, profile,
self._plugin_loader, self._file_transfer_handler, history, self._calls_manager,
self._groups_service)

View file

@ -1,6 +1,7 @@
from PyQt5 import QtWidgets, QtGui, QtCore
from utils.ui import tr
from utils.util import *
from ui.password_screen import UnlockAppScreen
import os.path
@ -24,16 +25,16 @@ class Menu(QtWidgets.QMenu):
self._settings = settings
self._profile = profile
def newStatus(self, status):
def new_status(self, status):
if not self._settings.locked:
self._profile.Profile.get_instance().set_status(status)
self.aboutToShowHandler()
self._profile.set_status(status)
self.about_to_show_handler()
self.hide()
def aboutToShowHandler(self):
def about_to_show_handler(self):
status = self._profile.status
act = self.act
if status is None or self._ettings.get_instance().locked:
if status is None or self._settings.locked:
self.actions()[1].setVisible(False)
else:
self.actions()[1].setVisible(True)
@ -52,10 +53,9 @@ class Menu(QtWidgets.QMenu):
self.act.actions()[2].setText(tr('Busy'))
def init_tray(profile, settings, main_screen):
def init_tray(profile, settings, main_screen, toxes):
icon = os.path.join(get_images_directory(), 'icon.png')
tray = SystemTrayIcon(QtGui.QIcon(icon))
tray.setObjectName('tray')
menu = Menu(settings, profile)
show = menu.addAction(tr('Open Toxygen'))
@ -72,7 +72,8 @@ def init_tray(profile, settings, main_screen):
def show_window():
def show():
if not main_screen.isActiveWindow():
main_screen.setWindowState(main_screen.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)
main_screen.setWindowState(
main_screen.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)
main_screen.activateWindow()
main_screen.show()
if not settings.locked:
@ -84,8 +85,8 @@ def init_tray(profile, settings, main_screen):
settings.unlockScreen = False
if not settings.unlockScreen:
settings.unlockScreen = True
self.p = UnlockAppScreen(toxes.ToxES.get_instance(), correct_pass)
self.p.show()
show_window.screen = UnlockAppScreen(toxes, correct_pass)
show_window.screen.show()
def tray_activated(reason):
if reason == QtWidgets.QSystemTrayIcon.DoubleClick:
@ -98,10 +99,10 @@ def init_tray(profile, settings, main_screen):
show.triggered.connect(show_window)
exit.triggered.connect(close_app)
menu.aboutToShow.connect(lambda: menu.aboutToShowHandler())
online.triggered.connect(lambda: menu.newStatus(0))
away.triggered.connect(lambda: menu.newStatus(1))
busy.triggered.connect(lambda: menu.newStatus(2))
menu.aboutToShow.connect(menu.about_to_show_handler)
online.triggered.connect(lambda: menu.new_status(0))
away.triggered.connect(lambda: menu.new_status(1))
busy.triggered.connect(lambda: menu.new_status(2))
tray.setContextMenu(menu)
tray.show()