Changeset e39f8dd7a7d0…
Parent 45b4be294429…
by
Changes to one file · Browse files at e39f8dd7a7d0 Showing diff from parent 45b4be294429 Diff from another changeset...
@@ -7,8 +7,8 @@
import sys, os, httplib, socket
from PyQt4.QtCore import Qt, pyqtSlot
-from PyQt4.QtGui import QDialog
-from mercurial import extensions, hgweb
+from PyQt4.QtGui import QDialog, QSystemTrayIcon
+from mercurial import extensions, hgweb, util
from tortoisehg.hgqt import cmdui, qtlib
from tortoisehg.hgqt.i18n import _
@@ -130,6 +130,34 @@
return super(ServeDialog, self).keyPressEvent(event)
+ def closeEvent(self, event):
+ if self.isstarted():
+ self._minimizetotray()
+ event.ignore()
+ return
+
+ return super(ServeDialog, self).closeEvent(event)
+
+ @util.propertycache
+ def _trayicon(self):
+ icon = QSystemTrayIcon(self.windowIcon(), parent=self)
+ icon.activated.connect(self._restorefromtray)
+ icon.setToolTip(self.windowTitle())
+ # TODO: context menu
+ return icon
+
+ # TODO: minimize to tray by minimize button
+
+ @pyqtSlot()
+ def _minimizetotray(self):
+ self._trayicon.show()
+ self.hide()
+
+ @pyqtSlot()
+ def _restorefromtray(self):
+ self._trayicon.hide()
+ self.show()
+
@pyqtSlot()
def on_settings_button_clicked(self):
from tortoisehg.hgqt import settings
|
Loading...