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

mq: add persistent state

Changeset ebedbef5b168

Parent 48318394a08b

by Steve Borho

Changes to one file · Browse files at ebedbef5b168 Showing diff from parent 48318394a08b Diff from another changeset...

 
47
48
49
50
 
51
52
53
 
165
166
167
 
168
169
170
 
245
246
247
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
 
249
250
251
252
253
254
 
255
256
257
 
258
259
260
 
47
48
49
 
50
51
52
53
 
165
166
167
168
169
170
171
 
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
 
 
 
270
271
272
 
273
274
275
276
@@ -47,7 +47,7 @@
  tbarhbox.addWidget(self.msgHistoryCombo, 1)     # main area consists of a three-way horizontal splitter - splitter = QSplitter() + self.splitter = splitter = QSplitter()   self.layout().addWidget(splitter, 1)   splitter.setOrientation(Qt.Horizontal)   splitter.setChildrenCollapsible(True) @@ -165,6 +165,7 @@
  QShortcut(QKeySequence.Refresh, self, self.reload)   self.resize(850, 550)   + self.loadConfigs()   QTimer.singleShot(0, self.reload)     def onConfigChanged(self): @@ -245,16 +246,31 @@
    # End drop events   + def loadConfigs(self): + 'Load history, etc, from QSettings instance' + s = QSettings() + self.splitter.restoreState(s.value('mq/splitter').toByteArray()) + userhist = s.value('commit/userhist').toStringList() + self.opts['userhist'] = [hglib.fromunicode(u) for u in userhist if u] + if not self.parent(): + self.restoreGeometry(s.value('mq/geom').toByteArray()) + + def storeConfigs(self): + 'Save history, etc, in QSettings instance' + s = QSettings() + s.setValue('mq/splitter', self.splitter.saveState()) + if not self.parent(): + s.setValue('mq/geom', self.saveGeometry()) +   def canExit(self): + self.storeConfigs()   return not self.cmd.core.running()     def keyPressEvent(self, event): - if event.matches(QKeySequence.Refresh): - self.reload() - elif event.key() == Qt.Key_Escape: + if event.key() == Qt.Key_Escape:   if self.cmd.core.running():   self.cmd.cancel() - elif not self.parent(): + elif not self.parent() and self.canExit():   self.close()   else:   return super(MQWidget, self).keyPressEvent(event)