--- a/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Mon Aug 12 19:41:53 2013 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Mon Aug 12 22:21:53 2013 +0200 @@ -47,13 +47,14 @@ MessageColumn = 6 TagsColumn = 7 - def __init__(self, vcs, mode="log", bundle=None, parent=None): + def __init__(self, vcs, mode="log", bundle=None, isFile=False, parent=None): """ Constructor @param vcs reference to the vcs object @param mode mode of the dialog (string; one of log, incoming, outgoing) @param bundle name of a bundle file (string) + @param isFile flag indicating log for a file is to be shown (boolean) @param parent parent widget (QWidget) """ super(HgLogBrowserDialog, self).__init__(parent) @@ -78,6 +79,8 @@ self.trUtf8("Press to refresh the list of changesets")) self.refreshButton.setEnabled(False) + self.sbsCheckBox.setEnabled(isFile) + self.vcs = vcs if mode in ("log", "incoming", "outgoing"): self.commandMode = mode @@ -959,12 +962,15 @@ @param rev1 first revision number (integer) @param rev2 second revision number (integer) """ - if self.diff is None: - from .HgDiffDialog import HgDiffDialog - self.diff = HgDiffDialog(self.vcs) - self.diff.show() - self.diff.raise_() - self.diff.start(self.filename, [rev1, rev2], self.bundle) + if self.sbsCheckBox.isEnabled() and self.sbsCheckBox.isChecked(): + self.vcs.hgSbsDiff(self.filename, revisions=(str(rev1), str(rev2))) + else: + if self.diff is None: + from .HgDiffDialog import HgDiffDialog + self.diff = HgDiffDialog(self.vcs) + self.diff.show() + self.diff.raise_() + self.diff.start(self.filename, [rev1, rev2], self.bundle) def on_buttonBox_clicked(self, button): """