Changeset 49707220e25e…
Parent a30a7d7923fb…
by
Changes to 3 files · Browse files at 49707220e25e Showing diff from parent a30a7d7923fb Diff from another changeset...
@@ -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,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,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()
|
Loading...