[meld] dirdiff: Start to clarify set_num_panes()



commit 775180a47540eb5e9c543b1062865e8ac0f194be
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sun Oct 23 08:12:23 2016 +1000

    dirdiff: Start to clarify set_num_panes()

 meld/dirdiff.py | 58 ++++++++++++++++++++++++++++++---------------------------
 1 file changed, 31 insertions(+), 27 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index 50fa137e..17d48a75 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -1414,33 +1414,37 @@ class DirDiff(melddoc.MeldDoc, gnomeglade.Component):
                     chunkstart, laststate = index, state
         return tree_state_iter
 
-    def set_num_panes(self, n):
-        if n != self.num_panes and n in (1, 2, 3):
-            self.model = DirDiffTreeStore(n)
-            for i in range(n):
-                self.treeview[i].set_model(self.model)
-            self.model.connect("row-deleted", self.on_treemodel_row_deleted)
-
-            for (w, i) in zip(self.diffmap, (0, n - 1)):
-                scroll = self.scrolledwindow[i].get_vscrollbar()
-                idx = 1 if i else 0
-                w.setup(scroll, self.get_state_traversal(idx))
-
-            for widget in (
-                    self.vbox[:n] + self.file_toolbar[:n] + self.diffmap[:n] +
-                    self.linkmap[:n - 1] + self.dummy_toolbar_linkmap[:n - 1]):
-                widget.show()
-
-            for widget in (
-                    self.vbox[n:] + self.file_toolbar[n:] + self.diffmap[n:] +
-                    self.linkmap[n - 1:] + self.dummy_toolbar_linkmap[n - 1:]):
-                widget.hide()
-
-            if self.num_panes != 0:  # not first time through
-                self.num_panes = n
-                self.on_fileentry_file_set(None)
-            else:
-                self.num_panes = n
+    def set_num_panes(self, num_panes):
+        if num_panes == self.num_panes or num_panes not in (1, 2, 3):
+            return
+
+        self.model = DirDiffTreeStore(num_panes)
+        for i in range(num_panes):
+            self.treeview[i].set_model(self.model)
+        self.model.connect("row-deleted", self.on_treemodel_row_deleted)
+
+        for (w, i) in zip(self.diffmap, (0, num_panes - 1)):
+            scroll = self.scrolledwindow[i].get_vscrollbar()
+            idx = 1 if i else 0
+            w.setup(scroll, self.get_state_traversal(idx))
+
+        for widget in (
+                self.vbox[:num_panes] + self.file_toolbar[:num_panes] +
+                self.diffmap[:num_panes] + self.linkmap[:num_panes - 1] +
+                self.dummy_toolbar_linkmap[:num_panes - 1]):
+            widget.show()
+
+        for widget in (
+                self.vbox[num_panes:] + self.file_toolbar[num_panes:] +
+                self.diffmap[num_panes:] + self.linkmap[num_panes - 1:] +
+                self.dummy_toolbar_linkmap[num_panes - 1:]):
+            widget.hide()
+
+        if self.num_panes != 0:  # not first time through
+            self.num_panes = num_panes
+            self.on_fileentry_file_set(None)
+        else:
+            self.num_panes = num_panes
 
     def refresh(self):
         root = self.model.get_iter_first()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]