Skip to content

Commit f9ef5df

Browse files
committed
Remove final traces of GtkUIManager
1 parent e4d9f95 commit f9ef5df

7 files changed

Lines changed: 17 additions & 80 deletions

File tree

data/ui/meldapp-ui.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

meld/conf.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,3 @@ def uninstalled():
4949

5050
resource_path = melddir / "meld" / "resources"
5151
os.environ['G_RESOURCE_OVERLAYS'] = f'{RESOURCE_BASE}={resource_path}'
52-
53-
54-
def ui_file(filename):
55-
return os.path.join(DATADIR, "ui", filename)

meld/dirdiff.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
# TODO: Don't from-import whole modules
3636
from meld import misc
3737
from meld import tree
38-
from meld.conf import _, ui_file
38+
from meld.conf import _
3939
from meld.const import FILE_FILTER_ACTION_FORMAT
4040
from meld.iohelpers import trash_or_confirm
4141
from meld.melddoc import MeldDoc

meld/melddoc.py

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -196,32 +196,20 @@ def set_action_enabled(self, action_name, enabled):
196196
return
197197
action.set_enabled(enabled)
198198

199-
def on_container_switch_in_event(self, uimanager, window):
200-
"""Called when the container app switches to this tab.
201-
"""
202-
if hasattr(self, 'ui_file'):
203-
self.ui_merge_id = uimanager.add_ui_from_file(self.ui_file)
204-
if hasattr(self, 'actiongroup'):
205-
uimanager.insert_action_group(self.actiongroup, -1)
206-
self.popup_menu = uimanager.get_widget("/Popup")
207-
uimanager.ensure_update()
199+
def on_container_switch_in_event(self, window):
200+
"""Called when the container app switches to this tab"""
208201

202+
self.popup_menu = Gtk.Menu()
209203
window.insert_action_group(
210204
'view', getattr(self, 'view_action_group', None))
211205

212206
if hasattr(self, "focus_pane") and self.focus_pane:
213207
self.scheduler.add_task(self.focus_pane.grab_focus)
214208

215-
def on_container_switch_out_event(self, uimanager, window):
216-
"""Called when the container app switches away from this tab.
217-
"""
218-
if hasattr(self, 'actiongroup'):
219-
uimanager.remove_action_group(self.actiongroup)
220-
if hasattr(self, 'ui_file'):
221-
uimanager.remove_ui(self.ui_merge_id)
222-
self.popup_menu = None
223-
self.ui_merge_id = None
209+
def on_container_switch_out_event(self, window):
210+
"""Called when the container app switches away from this tab"""
224211

212+
self.popup_menu = None
225213
window.insert_action_group('view', None)
226214

227215
def on_delete_event(self):

meld/meldwindow.py

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
from gi.repository import GLib
2323
from gi.repository import Gtk
2424

25+
# Import support module to get all builder-constructed widgets in the namespace
26+
import meld.ui.gladesupport # noqa: F401
2527
import meld.ui.util
26-
from meld.conf import _, ui_file
28+
from meld.conf import _
2729
from meld.const import FILE_FILTER_ACTION_FORMAT
2830
from meld.dirdiff import DirDiff
2931
from meld.filediff import FileDiff
@@ -59,22 +61,6 @@ def __init__(self):
5961

6062
self.init_template()
6163

62-
actions = (
63-
("ChangesMenu", None, _("_Changes")),
64-
)
65-
self.actiongroup = Gtk.ActionGroup(name='MainActions')
66-
self.actiongroup.set_translation_domain("meld")
67-
self.actiongroup.add_actions(actions)
68-
69-
self.ui = Gtk.UIManager()
70-
self.ui.insert_action_group(self.actiongroup, 0)
71-
self.ui.add_ui_from_file(ui_file("meldapp-ui.xml"))
72-
73-
self.add_accel_group(self.ui.get_accel_group())
74-
self.menubar = self.ui.get_widget('/Menubar')
75-
76-
self.appvbox.pack_start(self.menubar, False, True, 0)
77-
7864
# Manually handle GAction additions
7965
actions = (
8066
("close", self.action_close),
@@ -121,8 +107,6 @@ def __init__(self):
121107
self.scheduler = LifoScheduler()
122108
self.scheduler.connect("runnable", self.on_scheduler_runnable)
123109

124-
self.ui.ensure_update()
125-
126110
def do_realize(self):
127111
Gtk.ApplicationWindow.do_realize(self)
128112

@@ -207,7 +191,7 @@ def has_pages(self):
207191
return self.notebook.get_n_pages() > 0
208192

209193
def handle_current_doc_switch(self, page):
210-
page.on_container_switch_out_event(self.ui, self)
194+
page.on_container_switch_out_event(self)
211195

212196
@Template.Callback()
213197
def on_switch_page(self, notebook, page, which):
@@ -232,7 +216,7 @@ def on_switch_page(self, notebook, page, which):
232216
@Template.Callback()
233217
def after_switch_page(self, notebook, page, which):
234218
newdoc = notebook.get_nth_page(which)
235-
newdoc.on_container_switch_in_event(self.ui, self)
219+
newdoc.on_container_switch_in_event(self)
236220

237221
@Template.Callback()
238222
def on_page_label_changed(self, notebook, label_text):
@@ -279,9 +263,6 @@ def page_removed(self, page, status):
279263
# last page from a notebook.
280264
if not self.has_pages():
281265
self.on_switch_page(self.notebook, page, -1)
282-
# Synchronise UIManager state; this shouldn't be necessary,
283-
# but upstream aren't touching UIManager bugs.
284-
self.ui.ensure_update()
285266
if self.should_close:
286267
cancelled = self.emit(
287268
'delete-event', Gdk.Event.new(Gdk.EventType.DELETE))

meld/ui/util.py

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,9 @@
2020
from gi.repository import GObject
2121
from gi.repository import Gtk
2222

23-
import meld.conf
24-
# Import support module to get all builder-constructed widgets in the namespace
25-
from meld.ui import gladesupport # noqa: F401
26-
2723
log = logging.getLogger(__name__)
2824

2925

30-
def get_widget(filename, widget):
31-
builder = Gtk.Builder()
32-
builder.set_translation_domain(meld.conf.__package__)
33-
path = meld.conf.ui_file(filename)
34-
builder.add_objects_from_file(path, [widget])
35-
return builder.get_object(widget)
36-
37-
38-
def get_builder(filename):
39-
builder = Gtk.Builder()
40-
builder.set_translation_domain(meld.conf.__package__)
41-
path = meld.conf.ui_file(filename)
42-
builder.add_from_file(path)
43-
return builder
44-
45-
4626
def map_widgets_into_lists(widget, widgetnames):
4727
"""Put sequentially numbered widgets into lists.
4828

meld/vcview.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from gi.repository import Pango
3232

3333
from meld import tree
34-
from meld.conf import _, ui_file
34+
from meld.conf import _
3535
from meld.iohelpers import trash_or_confirm
3636
from meld.melddoc import MeldDoc
3737
from meld.misc import error_dialog, read_pipe_iter
@@ -274,15 +274,15 @@ def __init__(self):
274274
settings.bind('vc-console-pane-position', self.vc_console_vpaned,
275275
'position', Gio.SettingsBindFlags.DEFAULT)
276276

277-
def on_container_switch_in_event(self, ui, window):
278-
super().on_container_switch_in_event(ui, window)
277+
def on_container_switch_in_event(self, window):
278+
super().on_container_switch_in_event(window)
279279
# FIXME: open-external should be tied to having a treeview selection
280280
self.set_action_enabled("open-external", True)
281281
self.scheduler.add_task(self.on_treeview_cursor_changed)
282282

283-
def on_container_switch_out_event(self, ui, window):
283+
def on_container_switch_out_event(self, window):
284284
self.set_action_enabled("open-external", False)
285-
super().on_container_switch_out_event(ui, window)
285+
super().on_container_switch_out_event(window)
286286

287287
def populate_vcs_for_location(self, location):
288288
"""Display VC plugin(s) that can handle the location"""

0 commit comments

Comments
 (0)