Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py

changeset 2841
1f79e88f18b7
parent 2838
0f1423054184
child 2847
1843ef6e2656
child 2848
15c84f1f745a
diff -r 10a133f3a5e8 -r 1f79e88f18b7 Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py
--- a/Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py	Thu Aug 01 19:12:57 2013 +0200
+++ b/Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py	Fri Aug 02 16:29:25 2013 +0200
@@ -29,13 +29,14 @@
     The dialog is nonmodal. Clicking a link in the upper text pane shows
     a diff of the revisions.
     """
-    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().__init__(parent)
@@ -72,6 +73,8 @@
         self.initialText = []
         
         self.diff = None
+        
+        self.sbsCheckBox.setEnabled(isFile)
     
     def closeEvent(self, e):
         """
@@ -443,12 +446,14 @@
             return
         self.contents.scrollToAnchor(ver)
         
-        # TODO: add SBS option (file mode only)
-        if self.diff is None:
-            from .HgDiffDialog import HgDiffDialog
-            self.diff = HgDiffDialog(self.vcs)
-        self.diff.show()
-        self.diff.start(filename, [v1, v2], self.bundle)
+        if self.sbsCheckBox.isEnabled() and self.sbsCheckBox.isChecked():
+            self.vcs.hgSbsDiff(filename, revisions=(v1, v2))
+        else:
+            if self.diff is None:
+                from .HgDiffDialog import HgDiffDialog
+                self.diff = HgDiffDialog(self.vcs)
+            self.diff.show()
+            self.diff.start(filename, [v1, v2], self.bundle)
     
     def on_passwordCheckBox_toggled(self, isOn):
         """

eric ide

mercurial