add deck name to tray icons, change tooltip behaviour, coding style

This commit is contained in:
Damien Elmes 2008-11-14 15:25:01 +09:00
parent a0ba32f263
commit 340a521f2f

View file

@ -20,7 +20,6 @@ class AnkiTrayIcon( QtCore.QObject ):
self.mw.addHook("quit", self.onQuit)
self.ti.setIcon(QtGui.QIcon(":/icons/anki.png"))
self.ti.setToolTip("Anki")
# hook signls, and Anki state changes
mw.addView(self)
mw.connect(self.ti, QtCore.SIGNAL("activated(QSystemTrayIcon::ActivationReason)"),lambda i: self.activated(i))
@ -32,10 +31,12 @@ class AnkiTrayIcon( QtCore.QObject ):
self.mw.activateWindow()
self.mw.raise_()
self.anki_visible = True
self.updateTooltip()
def hideMain(self):
self.mw.hide()
self.anki_visible = False
self.updateTooltip()
def activated(self, reason):
if self.anki_visible:
@ -55,19 +56,25 @@ class AnkiTrayIcon( QtCore.QObject ):
self.ti.showMessage("Anki", message)
def setState(self, state):
if state == "showQuestion":
if not self.anki_visible:
self.showMessage( "A new card is available for review, click this message to display Anki" )
self.setToolTip( "Anki - displaying question" )
elif state == "showAnswer":
self.setToolTip( "Anki - displaying answer" )
elif state == "noDeck":
self.setToolTip( "Anki - no deck" )
elif state == "deckFinished":
if self.mw and self.mw.deck:
self.setToolTip( "Anki - next card in " + self.mw.deck.earliestTimeStr() )
self.state = state
self.updateTooltip()
def updateTooltip(self):
state = self.state
if self.mw.deck:
name = self.mw.deck.name()
else:
self.setToolTip( "Anki" )
name = "Anki"
msg = name + ":<br>"
if state == "deckFinished":
msg += _("<b>Today's reviews are finished</b><br>")
elif self.mw.deck:
msg += _("<b>Cards are waiting</b><br>")
if self.anki_visible:
msg += _("Click to hide Anki")
else:
msg += _("Click to show Anki")
self.setToolTip(msg)
def onQuit(self):
self.ti.deleteLater()