Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.9, 1.9.1, and 1.9.2

serve: minimize to tray by close [X] button

Changeset e39f8dd7a7d0

Parent 45b4be294429

by Yuya Nishihara

Changes to one file · Browse files at e39f8dd7a7d0 Showing diff from parent 45b4be294429 Diff from another changeset...

 
7
8
9
10
11
 
 
12
13
14
 
130
131
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
134
135
 
7
8
9
 
 
10
11
12
13
14
 
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
@@ -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