work around tray widget being a top level widget

This commit is contained in:
Damien Elmes 2008-12-07 22:52:55 +09:00
parent 8e0df4aaa4
commit bb083ab965

View file

@ -18,6 +18,7 @@ class AnkiTrayIcon(QtCore.QObject):
if (QtGui.QSystemTrayIcon.isSystemTrayAvailable() and
mw.config['showTrayIcon']):
self.ti = QtGui.QSystemTrayIcon(mw)
self.ti.setObjectName("trayIcon")
if self.ti:
QtGui.QApplication.setQuitOnLastWindowClosed(False)
self.mw.addHook("quit", self.onQuit)
@ -46,6 +47,8 @@ class AnkiTrayIcon(QtCore.QObject):
activeWindow = QtGui.QApplication.activeModalWidget()
for w in QtGui.QApplication.topLevelWidgets():
if w.isWindow() and not w.isHidden():
if not w.children():
continue
w.hide()
self.tray_hidden.append(w)
self.anki_visible = False