[meld/ui-next] dirdiff: Move folder expand/collapse to GActions



commit 7e71d6ea14989bac8944b987ce7caf76ab09da08
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Fri Mar 1 08:43:57 2019 +1000

    dirdiff: Move folder expand/collapse to GActions
    
    These don't currently appear anywhere. They need to be re-added when we
    have real context menus again.

 data/ui/dirdiff-ui.xml       |  7 -------
 meld/dirdiff.py              | 24 ++++++++----------------
 meld/resources/ui/dirdiff.ui | 20 --------------------
 3 files changed, 8 insertions(+), 43 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index c36a2f06..4efa4c9c 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -348,8 +348,6 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
         default=100,
     )
 
-    actiongroup = Template.Child('DirdiffActions')
-
     treeview0 = Template.Child()
     treeview1 = Template.Child()
     treeview2 = Template.Child()
@@ -408,15 +406,14 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
         self.init_template()
         bind_settings(self)
 
-        self.ui_file = ui_file("dirdiff-ui.xml")
-        self.actiongroup.set_translation_domain("meld")
-
         # Manually handle GAction additions
         actions = (
+            ('folder-collapse', self.action_folder_collapse),
             ('folder-compare', self.action_diff),
             ('folder-copy-left', self.action_copy_left),
             ('folder-copy-right', self.action_copy_right),
             ('folder-delete', self.action_delete),
+            ('folder-expand', self.action_folder_expand),
             ('next-change', self.action_next_change),
             ('next-pane', self.action_next_pane),
             ('open-external', self.action_open_external),
@@ -1095,8 +1092,6 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
         else:
             have_selection = False
 
-        get_action = self.actiongroup.get_action
-
         if have_selection:
             is_valid = True
             for path in selection.get_selected_rows()[1]:
@@ -1116,11 +1111,8 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
                 is_single_foldable_row = self.model.is_folder(
                     it, pane, os_path)
 
-            get_action("DirCollapseRecursively").set_sensitive(
-                is_single_foldable_row)
-            get_action("DirExpandRecursively").set_sensitive(
-                is_single_foldable_row)
-
+            self.set_action_enabled('folder-collapse', is_single_foldable_row)
+            self.set_action_enabled('folder-expand', is_single_foldable_row)
             self.set_action_enabled('folder-compare', True)
             self.set_action_enabled('folder-delete', is_valid)
             self.set_action_enabled('folder-copy-left', is_valid and pane > 0)
@@ -1129,10 +1121,12 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
             self.set_action_enabled('open-external', is_valid)
         else:
             actions = (
+                'folder-collapse',
                 'folder-compare',
                 'folder-copy-left',
                 'folder-copy-right',
                 'folder-delete',
+                'folder-expand',
                 'open-external',
             )
             for action in actions:
@@ -1295,8 +1289,7 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
         for row in selected:
             self.run_diff_from_iter(self.model.get_iter(row))
 
-    @Template.Callback()
-    def on_collapse_recursive_clicked(self, action):
+    def action_folder_collapse(self, *args):
         pane = self._get_focused_pane()
         if pane is None:
             return
@@ -1316,8 +1309,7 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
         path = filter_model.convert_path_to_child_path(filter_path)
         paths_to_collapse.append(path)
 
-    @Template.Callback()
-    def on_expand_recursive_clicked(self, action):
+    def action_folder_expand(self, *args):
         pane = self._get_focused_pane()
         if pane is None:
             return
diff --git a/meld/resources/ui/dirdiff.ui b/meld/resources/ui/dirdiff.ui
index e575ce38..b245f0ef 100644
--- a/meld/resources/ui/dirdiff.ui
+++ b/meld/resources/ui/dirdiff.ui
@@ -2,26 +2,6 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <!-- interface-requires meld.ui.gladesupport 0.0 -->
-  <object class="GtkActionGroup" id="DirdiffActions">
-    <child>
-      <object class="GtkAction" id="DirCollapseRecursively">
-        <property name="label" translatable="yes">Collapse Recursively</property>
-        <property name="tooltip" translatable="yes">Collapse selected folder and all subfolders</property>
-        <property name="stock_id">gtk-dialog-info</property>
-        <property name="is_important">True</property>
-        <signal name="activate" handler="on_collapse_recursive_clicked" swapped="no"/>
-      </object>
-    </child>
-    <child>
-      <object class="GtkAction" id="DirExpandRecursively">
-        <property name="label" translatable="yes">Expand Recursively</property>
-        <property name="tooltip" translatable="yes">Expand selected folder and all subfolders</property>
-        <property name="stock_id">gtk-dialog-info</property>
-        <property name="is_important">True</property>
-        <signal name="activate" handler="on_expand_recursive_clicked" swapped="no"/>
-      </object>
-    </child>
-  </object>
   <template class="DirDiff" parent="GtkVBox">
     <property name="visible">True</property>
     <property name="can_focus">False</property>


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