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

sync: remove workbench references, emit signals to repowidget

Removes some, but not all layering violations (log should also be redirected
through the repowidget to the dock widget). The workbench loses two more
functions.

Changeset 49707220e25e

Parent a30a7d7923fb

by Steve Borho

Changes to 3 files · Browse files at 49707220e25e Showing diff from parent a30a7d7923fb Diff from another changeset...

 
150
151
152
153
154
 
 
 
155
156
 
 
 
 
157
158
159
 
150
151
152
 
 
153
154
155
156
157
158
159
160
161
162
163
164
@@ -150,10 +150,15 @@
  return w     def createSyncWidget(self): - # TODO: don't pass workbench - sw = SyncWidget(root=self.repo.root, parent=self.workbench) + sw = SyncWidget(root=self.repo.root, log=self.workbench.log) + sw.outgoingNodes.connect(self.setOutgoingNodes) + sw.invalidate.connect(self.reload)   return sw   + def setOutgoingNodes(self, nodes): + self.repo._outgoing = nodes + self.refresh() +   def createGrepWidget(self):   upats = {}   gw = SearchWidget(upats, self.repo.root, self)
 
25
26
27
 
 
28
29
 
30
31
32
33
34
35
36
37
38
39
 
 
40
41
42
43
44
45
46
 
237
238
239
240
 
241
242
243
 
277
278
279
280
281
282
283
 
 
284
285
286
287
288
289
 
290
291
292
 
293
294
295
 
25
26
27
28
29
30
 
31
32
33
34
35
36
37
 
 
 
 
38
39
40
41
 
 
42
43
44
 
235
236
237
 
238
239
240
241
 
275
276
277
 
 
 
 
278
279
280
281
282
283
284
 
285
286
287
 
288
289
290
291
@@ -25,22 +25,20 @@
 _schemes = ['local', 'ssh', 'http', 'https']    class SyncWidget(QWidget): + invalidate = pyqtSignal() + outgoingNodes = pyqtSignal(object)   - def __init__(self, root, parent=None, **opts): + def __init__(self, root, parent=None, log=None, **opts):   QWidget.__init__(self, parent)     layout = QVBoxLayout()   layout.setSpacing(4)   self.setLayout(layout)   - if parent: - self.workbench = parent - log = parent.log - else: + self.log = log + if not log:   self.setWindowTitle(_('TortoiseHg Sync'))   self.resize(850, 550) - self.workbench = None - log = None     self.root = root   self.finishfunc = None @@ -237,7 +235,7 @@
  elif event.key() == Qt.Key_Escape:   if self.cmd.core.is_running():   self.cmd.core.cancel() - elif not self.workbench: + elif not self.log:   self.close()   else:   return super(SyncWidget, self).keyPressEvent(event) @@ -277,19 +275,17 @@
  self.run(['--repository', self.root, 'incoming'])     def pullclicked(self): - if self.workbench: - def refresh(data): - self.workbench.reloadRepository(self.root) - self.finishfunc = refresh + if self.log: + self.finishfunc = lambda: self.invalidate.emit(self.root)   else:   self.finishfunc = None   self.run(['--repository', self.root, 'pull'])     def outclicked(self): - if self.workbench: + if self.log:   def outputnodes(data):   nodestrs = data.splitlines()[:-1] - self.workbench.outgoing_for_root(self.root, nodestrs) + self.outgoingNodes.emit(nodestrs)   self.finishfunc = outputnodes   self.run(['--repository', self.root, 'outgoing',   '--quiet', '--template', '{node}\n'])
 
275
276
277
278
279
280
281
282
283
284
285
286
 
532
533
534
535
536
537
538
539
540
541
 
275
276
277
 
 
 
 
 
 
278
279
280
 
526
527
528
 
 
 
 
529
530
531
@@ -275,12 +275,6 @@
  p = str(url.toLocalFile())   return paths.find_root(p)   - def outgoing_for_root(self, root, outgoing): - repo = thgrepo.repository(self.ui, path=root) - repo._outgoing = outgoing - self.refreshRepository(root) - # TODO: draw out arrows -   def dragEnterEvent(self, event):   d = event.mimeData()   for u in d.urls(): @@ -532,10 +526,6 @@
  for rw in self._findrepowidget(root):   rw.goto(rev)   - def refreshRepository(self, root): - for rw in self._findrepowidget(root): - rw.refresh() -   def reloadRepository(self, root):   for rw in self._findrepowidget(root):   rw.reload()