[meld/ui-next] Remove final traces of GtkUIManager
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/ui-next] Remove final traces of GtkUIManager
- Date: Sat, 23 Mar 2019 02:02:47 +0000 (UTC)
commit f9ef5df492657fd62fc7ef0bd15564f10fd748e2
Author: Kai Willadsen <kai willadsen gmail com>
Date: Fri Mar 1 11:20:01 2019 +1000
Remove final traces of GtkUIManager
data/ui/meldapp-ui.xml | 8 --------
meld/conf.py | 4 ----
meld/dirdiff.py | 2 +-
meld/melddoc.py | 24 ++++++------------------
meld/meldwindow.py | 29 +++++------------------------
meld/ui/util.py | 20 --------------------
meld/vcview.py | 10 +++++-----
7 files changed, 17 insertions(+), 80 deletions(-)
---
diff --git a/meld/conf.py b/meld/conf.py
index 5bf6cd4d..b2375c14 100644
--- a/meld/conf.py
+++ b/meld/conf.py
@@ -49,7 +49,3 @@ def uninstalled():
resource_path = melddir / "meld" / "resources"
os.environ['G_RESOURCE_OVERLAYS'] = f'{RESOURCE_BASE}={resource_path}'
-
-
-def ui_file(filename):
- return os.path.join(DATADIR, "ui", filename)
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index be78f79d..df91c69b 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -35,7 +35,7 @@ from gi.repository import Gtk
# TODO: Don't from-import whole modules
from meld import misc
from meld import tree
-from meld.conf import _, ui_file
+from meld.conf import _
from meld.const import FILE_FILTER_ACTION_FORMAT
from meld.iohelpers import trash_or_confirm
from meld.melddoc import MeldDoc
diff --git a/meld/melddoc.py b/meld/melddoc.py
index 2cf197f4..bc428633 100644
--- a/meld/melddoc.py
+++ b/meld/melddoc.py
@@ -196,32 +196,20 @@ class MeldDoc(LabeledObjectMixin, GObject.GObject):
return
action.set_enabled(enabled)
- def on_container_switch_in_event(self, uimanager, window):
- """Called when the container app switches to this tab.
- """
- if hasattr(self, 'ui_file'):
- self.ui_merge_id = uimanager.add_ui_from_file(self.ui_file)
- if hasattr(self, 'actiongroup'):
- uimanager.insert_action_group(self.actiongroup, -1)
- self.popup_menu = uimanager.get_widget("/Popup")
- uimanager.ensure_update()
+ def on_container_switch_in_event(self, window):
+ """Called when the container app switches to this tab"""
+ self.popup_menu = Gtk.Menu()
window.insert_action_group(
'view', getattr(self, 'view_action_group', None))
if hasattr(self, "focus_pane") and self.focus_pane:
self.scheduler.add_task(self.focus_pane.grab_focus)
- def on_container_switch_out_event(self, uimanager, window):
- """Called when the container app switches away from this tab.
- """
- if hasattr(self, 'actiongroup'):
- uimanager.remove_action_group(self.actiongroup)
- if hasattr(self, 'ui_file'):
- uimanager.remove_ui(self.ui_merge_id)
- self.popup_menu = None
- self.ui_merge_id = None
+ def on_container_switch_out_event(self, window):
+ """Called when the container app switches away from this tab"""
+ self.popup_menu = None
window.insert_action_group('view', None)
def on_delete_event(self):
diff --git a/meld/meldwindow.py b/meld/meldwindow.py
index 2f3df191..b72f78c5 100644
--- a/meld/meldwindow.py
+++ b/meld/meldwindow.py
@@ -22,8 +22,10 @@ from gi.repository import Gio
from gi.repository import GLib
from gi.repository import Gtk
+# Import support module to get all builder-constructed widgets in the namespace
+import meld.ui.gladesupport # noqa: F401
import meld.ui.util
-from meld.conf import _, ui_file
+from meld.conf import _
from meld.const import FILE_FILTER_ACTION_FORMAT
from meld.dirdiff import DirDiff
from meld.filediff import FileDiff
@@ -59,22 +61,6 @@ class MeldWindow(Gtk.ApplicationWindow):
self.init_template()
- actions = (
- ("ChangesMenu", None, _("_Changes")),
- )
- self.actiongroup = Gtk.ActionGroup(name='MainActions')
- self.actiongroup.set_translation_domain("meld")
- self.actiongroup.add_actions(actions)
-
- self.ui = Gtk.UIManager()
- self.ui.insert_action_group(self.actiongroup, 0)
- self.ui.add_ui_from_file(ui_file("meldapp-ui.xml"))
-
- self.add_accel_group(self.ui.get_accel_group())
- self.menubar = self.ui.get_widget('/Menubar')
-
- self.appvbox.pack_start(self.menubar, False, True, 0)
-
# Manually handle GAction additions
actions = (
("close", self.action_close),
@@ -121,8 +107,6 @@ class MeldWindow(Gtk.ApplicationWindow):
self.scheduler = LifoScheduler()
self.scheduler.connect("runnable", self.on_scheduler_runnable)
- self.ui.ensure_update()
-
def do_realize(self):
Gtk.ApplicationWindow.do_realize(self)
@@ -207,7 +191,7 @@ class MeldWindow(Gtk.ApplicationWindow):
return self.notebook.get_n_pages() > 0
def handle_current_doc_switch(self, page):
- page.on_container_switch_out_event(self.ui, self)
+ page.on_container_switch_out_event(self)
@Template.Callback()
def on_switch_page(self, notebook, page, which):
@@ -232,7 +216,7 @@ class MeldWindow(Gtk.ApplicationWindow):
@Template.Callback()
def after_switch_page(self, notebook, page, which):
newdoc = notebook.get_nth_page(which)
- newdoc.on_container_switch_in_event(self.ui, self)
+ newdoc.on_container_switch_in_event(self)
@Template.Callback()
def on_page_label_changed(self, notebook, label_text):
@@ -279,9 +263,6 @@ class MeldWindow(Gtk.ApplicationWindow):
# last page from a notebook.
if not self.has_pages():
self.on_switch_page(self.notebook, page, -1)
- # Synchronise UIManager state; this shouldn't be necessary,
- # but upstream aren't touching UIManager bugs.
- self.ui.ensure_update()
if self.should_close:
cancelled = self.emit(
'delete-event', Gdk.Event.new(Gdk.EventType.DELETE))
diff --git a/meld/ui/util.py b/meld/ui/util.py
index 821200ba..a2f15f36 100644
--- a/meld/ui/util.py
+++ b/meld/ui/util.py
@@ -20,29 +20,9 @@ from gi.repository import Gio
from gi.repository import GObject
from gi.repository import Gtk
-import meld.conf
-# Import support module to get all builder-constructed widgets in the namespace
-from meld.ui import gladesupport # noqa: F401
-
log = logging.getLogger(__name__)
-def get_widget(filename, widget):
- builder = Gtk.Builder()
- builder.set_translation_domain(meld.conf.__package__)
- path = meld.conf.ui_file(filename)
- builder.add_objects_from_file(path, [widget])
- return builder.get_object(widget)
-
-
-def get_builder(filename):
- builder = Gtk.Builder()
- builder.set_translation_domain(meld.conf.__package__)
- path = meld.conf.ui_file(filename)
- builder.add_from_file(path)
- return builder
-
-
def map_widgets_into_lists(widget, widgetnames):
"""Put sequentially numbered widgets into lists.
diff --git a/meld/vcview.py b/meld/vcview.py
index f50707d0..0628ca2e 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -31,7 +31,7 @@ from gi.repository import Gtk
from gi.repository import Pango
from meld import tree
-from meld.conf import _, ui_file
+from meld.conf import _
from meld.iohelpers import trash_or_confirm
from meld.melddoc import MeldDoc
from meld.misc import error_dialog, read_pipe_iter
@@ -274,15 +274,15 @@ class VcView(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
settings.bind('vc-console-pane-position', self.vc_console_vpaned,
'position', Gio.SettingsBindFlags.DEFAULT)
- def on_container_switch_in_event(self, ui, window):
- super().on_container_switch_in_event(ui, window)
+ def on_container_switch_in_event(self, window):
+ super().on_container_switch_in_event(window)
# FIXME: open-external should be tied to having a treeview selection
self.set_action_enabled("open-external", True)
self.scheduler.add_task(self.on_treeview_cursor_changed)
- def on_container_switch_out_event(self, ui, window):
+ def on_container_switch_out_event(self, window):
self.set_action_enabled("open-external", False)
- super().on_container_switch_out_event(ui, window)
+ super().on_container_switch_out_event(window)
def populate_vcs_for_location(self, location):
"""Display VC plugin(s) that can handle the location"""
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]