[meld] Move main_actiongroup handling into MeldDoc and update children



commit ba19b27422cc5077a41b4ffd188e0c1c7b79393d
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sat May 3 08:12:28 2014 +1000

    Move main_actiongroup handling into MeldDoc and update children

 meld/dirdiff.py  |    3 ---
 meld/filediff.py |    7 -------
 meld/melddoc.py  |    5 +++++
 meld/vcview.py   |    3 ---
 4 files changed, 5 insertions(+), 13 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index 90f6e59..82380f4 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -315,7 +315,6 @@ class DirDiff(melddoc.MeldDoc, gnomeglade.Component):
         self.ui_file = gnomeglade.ui_file("dirdiff-ui.xml")
         self.actiongroup = self.DirdiffActions
         self.actiongroup.set_translation_domain("meld")
-        self.main_actiongroup = None
 
         self.name_filters = []
         self.text_filters = []
@@ -511,8 +510,6 @@ class DirDiff(melddoc.MeldDoc, gnomeglade.Component):
         self.filter_menu_button.set_label_widget(label)
 
     def on_container_switch_in_event(self, ui):
-        self.main_actiongroup = [a for a in ui.get_action_groups()
-                                 if a.get_name() == "MainActions"][0]
         melddoc.MeldDoc.on_container_switch_in_event(self, ui)
         self._create_filter_menu_button(ui)
         self.ui_manager = ui
diff --git a/meld/filediff.py b/meld/filediff.py
index 141d4bd..d792aca 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -321,7 +321,6 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
         self.actiongroup.set_translation_domain("meld")
         self.actiongroup.add_actions(actions)
         self.actiongroup.add_toggle_actions(toggle_actions)
-        self.main_actiongroup = None
 
         self.findbar = findbar.FindBar(self.grid)
         self.grid.attach(self.findbar.widget, 1, 2, 5, 1)
@@ -433,12 +432,6 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
     def on_focus_change(self):
         self.keymask = 0
 
-    def on_container_switch_in_event(self, ui):
-        self.main_actiongroup = [a for a in ui.get_action_groups()
-                                 if a.get_name() == "MainActions"][0]
-        melddoc.MeldDoc.on_container_switch_in_event(self, ui)
-        # FIXME: If no focussed textview, action sensitivity will be unset
-
     def on_text_filters_changed(self, app):
         relevant_change = self.create_text_filters()
         if relevant_change:
diff --git a/meld/melddoc.py b/meld/melddoc.py
index d052a55..b7a78eb 100644
--- a/meld/melddoc.py
+++ b/meld/melddoc.py
@@ -75,6 +75,7 @@ class MeldDoc(GObject.GObject):
         self.num_panes = 0
         self.label_text = _("untitled")
         self.tooltip_text = _("untitled")
+        self.main_actiongroup = None
 
     def get_comparison(self):
         """Get the comparison type and path(s) being compared"""
@@ -170,6 +171,9 @@ class MeldDoc(GObject.GObject):
         self.ui_merge_id = uimanager.add_ui_from_file(self.ui_file)
         uimanager.insert_action_group(self.actiongroup, -1)
         self.popup_menu = uimanager.get_widget("/Popup")
+        action_groups = uimanager.get_action_groups()
+        self.main_actiongroup = [
+            a for a in action_groups if a.get_name() == "MainActions"][0]
         uimanager.ensure_update()
         if hasattr(self, "focus_pane") and self.focus_pane:
             self.scheduler.add_task(self.focus_pane.grab_focus)
@@ -179,6 +183,7 @@ class MeldDoc(GObject.GObject):
         """
         uimanager.remove_action_group(self.actiongroup)
         uimanager.remove_ui(self.ui_merge_id)
+        self.main_actiongroup = None
 
     def on_delete_event(self, appquit=0):
         """Called when the docs container is about to close.
diff --git a/meld/vcview.py b/meld/vcview.py
index f534242..fb26624 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -186,7 +186,6 @@ class VcView(melddoc.MeldDoc, gnomeglade.Component):
         self.ui_file = gnomeglade.ui_file("vcview-ui.xml")
         self.actiongroup = self.VcviewActions
         self.actiongroup.set_translation_domain("meld")
-        self.main_actiongroup = None
         self.model = VcTreeStore()
         self.widget.connect("style-updated", self.model.on_style_updated)
         self.model.on_style_updated(self.widget)
@@ -271,8 +270,6 @@ class VcView(melddoc.MeldDoc, gnomeglade.Component):
             pass
 
     def on_container_switch_in_event(self, ui):
-        self.main_actiongroup = [a for a in ui.get_action_groups()
-                                 if a.get_name() == "MainActions"][0]
         super(VcView, self).on_container_switch_in_event(ui)
         self._set_external_action_sensitivity(True)
         self.scheduler.add_task(self.on_treeview_cursor_changed)


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