From a2bf2873530da4dfa6fafe399800687084d13357 Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Sun, 6 Oct 2013 22:53:56 -0700 Subject: [PATCH] git xbase: allow choosing the files to diff when using "External Diff" Signed-off-by: David Aguilar --- cola/difftool.py | 15 +++++++++------ share/git-cola/bin/git-xbase | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/cola/difftool.py b/cola/difftool.py index bb1cf0e2..ddfeb0e5 100644 --- a/cola/difftool.py +++ b/cola/difftool.py @@ -54,8 +54,9 @@ def diff_commits(parent, a, b): return dlg.exec_() == QtGui.QDialog.Accepted -def diff_expression(parent, expr, create_widget=False): - dlg = FileDiffDialog(parent, expr=expr) +def diff_expression(parent, expr, + create_widget=False, hide_expr=False): + dlg = FileDiffDialog(parent, expr=expr, hide_expr=hide_expr) if create_widget: return dlg dlg.show() @@ -64,7 +65,8 @@ def diff_expression(parent, expr, create_widget=False): class FileDiffDialog(QtGui.QDialog): - def __init__(self, parent, a=None, b=None, expr=None, title=None): + def __init__(self, parent, a=None, b=None, expr=None, title=None, + hide_expr=False): QtGui.QDialog.__init__(self, parent) self.setAttribute(Qt.WA_MacMetalStyle) @@ -79,11 +81,12 @@ class FileDiffDialog(QtGui.QDialog): self.setWindowModality(QtCore.Qt.WindowModal) self._expr = completion.GitRefLineEdit(parent=self) - if expr is None: - self._expr.hide() - else: + if expr is not None: self._expr.setText(expr) + if expr is None or hide_expr: + self._expr.hide() + self._tree = standard.TreeWidget(self) self._tree.setRootIsDecorated(False) self._tree.setSelectionMode(self._tree.ExtendedSelection) diff --git a/share/git-cola/bin/git-xbase b/share/git-cola/bin/git-xbase index da220b2f..f6140860 100755 --- a/share/git-cola/bin/git-xbase +++ b/share/git-cola/bin/git-xbase @@ -27,7 +27,6 @@ from cola import qt from cola import qtutils from cola import utils from cola.i18n import N_ -from cola.interaction import Interaction from cola.dag.model import DAG from cola.dag.model import RepoReader from cola.widgets import defs @@ -220,7 +219,8 @@ class Editor(QtGui.QWidget): if not items: return item = items[0] - difftool.launch([item.sha1hex + '^!']) + difftool.diff_expression(self, item.sha1hex + '^!', + hide_expr=True) class RebaseTreeWidget(FlatTreeWidget): -- 2.11.4.GIT