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

manifestdialog: save/load fileview settings in workbench

* remove redundant repoview.revisionClicked() signal connection
* remove unnecessary ui argument and _ui member

Changeset 47b9d69e27bc

Parent bdf84257e5ce

by Steve Borho

Changes to 2 files · Browse files at 47b9d69e27bc Showing diff from parent bdf84257e5ce Diff from another changeset...

 
29
30
31
32
 
33
34
35
36
37
 
38
39
40
 
67
68
69
70
71
72
 
73
74
75
76
77
78
79
 
80
81
82
 
118
119
120
121
 
122
123
124
125
126
 
160
161
162
 
 
 
 
 
 
 
 
 
 
163
164
165
 
304
305
306
307
308
 
 
309
310
311
 
348
349
350
351
 
352
353
354
 
29
30
31
 
32
33
34
35
36
 
37
38
39
40
 
67
68
69
 
 
 
70
71
72
73
74
 
 
 
75
76
77
78
 
114
115
116
 
117
118
 
119
120
121
 
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
 
309
310
311
 
 
312
313
314
315
316
 
353
354
355
 
356
357
358
359
@@ -29,12 +29,12 @@
    finished = pyqtSignal(int)   - def __init__(self, ui, repo, rev=None, parent=None): + def __init__(self, repo, rev=None, parent=None):   QMainWindow.__init__(self, parent)   self._repo = repo   self.resize(400, 300)   - self._manifest_widget = ManifestWidget(ui, repo, rev) + self._manifest_widget = ManifestWidget(repo, rev)   self._manifest_widget.revChanged.connect(self._updatewindowtitle)   self._manifest_widget.pathChanged.connect(self._updatewindowtitle)   self._manifest_widget.editSelected.connect(self._openInEditor) @@ -67,16 +67,12 @@
  def _readsettings(self):   s = QSettings()   self.restoreGeometry(s.value('manifest/geom').toByteArray()) - # TODO: don't call deeply - self._manifest_widget._splitter.restoreState( - s.value('manifest/splitter').toByteArray()) + self._manifest_widget.loadSettings(s, 'manifest')     def _writesettings(self):   s = QSettings()   s.setValue('manifest/geom', self.saveGeometry()) - # TODO: don't call deeply - s.setValue('manifest/splitter', - self._manifest_widget._splitter.saveState()) + self._manifest_widget.saveSettings(s, 'manifest')     def setSource(self, path, rev, line=None):   self._manifest_widget.setSource(path, rev, line) @@ -118,9 +114,8 @@
  grepRequested = pyqtSignal(unicode, dict)   """Emitted (pattern, opts) when user request to search changelog"""   - def __init__(self, ui, repo, rev=None, parent=None): + def __init__(self, repo, rev=None, parent=None):   super(ManifestWidget, self).__init__(parent) - self._ui = ui   self._repo = repo   self._rev = rev   @@ -160,6 +155,16 @@
  'grepRequested'):   getattr(self._fileview, name).connect(getattr(self, name))   + def loadSettings(self, qs, prefix): + prefix += '/manifest' + self._fileview.loadSettings(qs, prefix+'/fileview') + self._splitter.restoreState(qs.value(prefix+'/splitter').toByteArray()) + + def saveSettings(self, qs, prefix): + prefix += '/manifest' + self._fileview.saveSettings(qs, prefix+'/fileview') + s.setValue(prefix+'/splitter', self._splitter.saveState()) +   def _initactions(self):   self._statusfilter = _StatusFilterButton(statustext='MAC')   self._toolbar.addWidget(self._statusfilter) @@ -304,8 +309,8 @@
 class ManifestTaskWidget(ManifestWidget):   """Manifest widget designed for task tab"""   - def __init__(self, ui, repo, rev=None, parent=None): - super(ManifestTaskWidget, self).__init__(ui, repo, rev, parent) + def __init__(self, repo, rev=None, parent=None): + super(ManifestTaskWidget, self).__init__(repo, rev, parent)   self.editSelected.connect(self._openInEditor)     @pyqtSlot() @@ -348,7 +353,7 @@
   def run(ui, *pats, **opts):   repo = opts.get('repo') or thgrepo.repository(ui, paths.find_root()) - dlg = ManifestDialog(ui, repo, opts.get('rev')) + dlg = ManifestDialog(repo, opts.get('rev'))     # set initial state after dialog visible   def init():
 
269
270
271
272
273
274
275
276
277
278
279
280
 
 
 
 
 
 
281
282
283
 
708
709
710
 
711
712
713
 
269
270
271
 
 
 
 
 
 
 
 
 
272
273
274
275
276
277
278
279
280
 
705
706
707
708
709
710
711
@@ -269,15 +269,12 @@
  return cw     def createManifestWidget(self): - def filterrev(rev): - if isinstance(rev, basestring): # unapplied patch - return None # TODO - else: - return rev - w = ManifestTaskWidget(self.repo.ui, self.repo, rev=filterrev(self.rev), - parent=self) - self.repoview.revisionClicked.connect(lambda rev: - w.setRev(filterrev(rev))) + if isinstance(self.rev, basestring): + rev = None + else: + rev = self.rev + w = ManifestTaskWidget(self.repo, rev, self) + w.loadSettings(QSettings(), 'workbench')   w.revChanged.connect(self.repoview.goto)   w.revisionHint.connect(self.showMessage)   w.grepRequested.connect(self.grep) @@ -708,6 +705,7 @@
  self.revDetailsWidget.storeSettings()   s = QSettings()   self.commitDemand.forward('saveSettings', s) + self.manifestDemand.forward('saveSettings', s, 'workbench')   self.filterbar.storeConfigs(s)   return True