Skip to content

Commit 2181c63

Browse files
committed
Move DirDiff actions to UI file
1 parent 9589fac commit 2181c63

2 files changed

Lines changed: 96 additions & 25 deletions

File tree

data/ui/dirdiff.ui

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,98 @@
33
<!-- interface-requires gtk+ 2.12 -->
44
<!-- interface-requires meld.ui.gladesupport 0.0 -->
55
<!-- interface-naming-policy toplevel-contextual -->
6+
<object class="GtkActionGroup" id="DirdiffActions">
7+
<child>
8+
<object class="GtkAction" id="DirCompare">
9+
<property name="label" translatable="yes">_Compare</property>
10+
<property name="tooltip" translatable="yes">Compare selected files</property>
11+
<property name="stock_id">gtk-dialog-info</property>
12+
<property name="is_important">True</property>
13+
<signal name="activate" handler="on_button_diff_clicked" swapped="no"/>
14+
</object>
15+
</child>
16+
<child>
17+
<object class="GtkAction" id="DirCopyLeft">
18+
<property name="label" translatable="yes">Copy _Left</property>
19+
<property name="tooltip" translatable="yes">Copy to left</property>
20+
<property name="stock_id">gtk-go-back</property>
21+
<property name="is_important">True</property>
22+
<signal name="activate" handler="on_button_copy_left_clicked" swapped="no"/>
23+
</object>
24+
<accelerator key="Left" modifiers="GDK_MOD1_MASK"/>
25+
</child>
26+
<child>
27+
<object class="GtkAction" id="DirCopyRight">
28+
<property name="label" translatable="yes">Copy _Right</property>
29+
<property name="tooltip" translatable="yes">Copy to right</property>
30+
<property name="stock_id">gtk-go-forward</property>
31+
<property name="is_important">True</property>
32+
<signal name="activate" handler="on_button_copy_right_clicked" swapped="no"/>
33+
</object>
34+
<accelerator key="Right" modifiers="GDK_MOD1_MASK"/>
35+
</child>
36+
<child>
37+
<object class="GtkAction" id="DirDelete">
38+
<property name="tooltip" translatable="yes">Delete selected</property>
39+
<property name="stock_id">gtk-delete</property>
40+
<property name="is_important">True</property>
41+
<signal name="activate" handler="on_button_delete_clicked" swapped="no"/>
42+
</object>
43+
<accelerator key="Delete"/>
44+
</child>
45+
<child>
46+
<object class="GtkAction" id="Hide">
47+
<property name="label" translatable="yes">Hide</property>
48+
<property name="tooltip" translatable="yes">Hide selected</property>
49+
<property name="stock_id">gtk-no</property>
50+
<signal name="activate" handler="on_filter_hide_current_clicked" swapped="no"/>
51+
</object>
52+
</child>
53+
<child>
54+
<object class="GtkToggleAction" id="IgnoreCase">
55+
<property name="label" translatable="yes">Ignore Filename Case</property>
56+
<property name="tooltip" translatable="yes">Consider differently-cased filenames that are otherwise-identical to be the same</property>
57+
<property name="stock_id">gtk-italic</property>
58+
<signal name="toggled" handler="on_button_ignore_case_toggled" swapped="no"/>
59+
</object>
60+
</child>
61+
<child>
62+
<object class="GtkToggleAction" id="ShowSame">
63+
<property name="label" translatable="yes">Same</property>
64+
<property name="tooltip" translatable="yes">Show identical</property>
65+
<property name="stock_id">gtk-apply</property>
66+
<property name="is_important">True</property>
67+
<signal name="toggled" handler="on_filter_state_toggled" swapped="no"/>
68+
</object>
69+
</child>
70+
71+
<child>
72+
<object class="GtkToggleAction" id="ShowNew">
73+
<property name="label" translatable="yes">New</property>
74+
<property name="tooltip" translatable="yes">Show new</property>
75+
<property name="stock_id">gtk-add</property>
76+
<property name="is_important">True</property>
77+
<signal name="toggled" handler="on_filter_state_toggled" swapped="no"/>
78+
</object>
79+
</child>
80+
<child>
81+
<object class="GtkToggleAction" id="ShowModified">
82+
<property name="label" translatable="yes">Modified</property>
83+
<property name="tooltip" translatable="yes">Show modified</property>
84+
<property name="stock_id">gtk-remove</property>
85+
<property name="is_important">True</property>
86+
<signal name="toggled" handler="on_filter_state_toggled" swapped="no"/>
87+
</object>
88+
</child>
89+
<child>
90+
<object class="GtkToggleAction" id="CustomFilterMenu">
91+
<property name="label" translatable="yes">Filters</property>
92+
<property name="tooltip" translatable="yes">Set active filters</property>
93+
<property name="is_important">True</property>
94+
<signal name="toggled" handler="on_custom_filter_menu_toggled" swapped="no"/>
95+
</object>
96+
</child>
97+
</object>
698
<object class="GtkWindow" id="container">
799
<property name="visible">True</property>
8100
<property name="can_focus">False</property>

meld/dirdiff.py

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -265,29 +265,12 @@ class DirDiff(melddoc.MeldDoc, gnomeglade.Component):
265265

266266
def __init__(self, prefs, num_panes):
267267
melddoc.MeldDoc.__init__(self, prefs)
268-
gnomeglade.Component.__init__(self, paths.ui_dir("dirdiff.ui"), "dirdiff")
269-
270-
actions = (
271-
("DirCompare", gtk.STOCK_DIALOG_INFO, _("_Compare"), None, _("Compare selected"), self.on_button_diff_clicked),
272-
("DirCopyLeft", gtk.STOCK_GO_BACK, _("Copy _Left"), "<Alt>Left", _("Copy to left"), self.on_button_copy_left_clicked),
273-
("DirCopyRight", gtk.STOCK_GO_FORWARD, _("Copy _Right"), "<Alt>Right", _("Copy to right"), self.on_button_copy_right_clicked),
274-
("DirDelete", gtk.STOCK_DELETE, None, "Delete", _("Delete selected"), self.on_button_delete_clicked),
275-
("Hide", gtk.STOCK_NO, _("Hide"), None, _("Hide selected"), self.on_filter_hide_current_clicked),
276-
)
277-
278-
toggleactions = (
279-
("IgnoreCase", gtk.STOCK_ITALIC, _("Ignore Filename Case"), None, _("Consider differently-cased filenames that are otherwise-identical to be the same"), self.on_button_ignore_case_toggled, False),
280-
("ShowSame", gtk.STOCK_APPLY, _("Same"), None, _("Show identical"), self.on_filter_state_toggled, False),
281-
("ShowNew", gtk.STOCK_ADD, _("New"), None, _("Show new"), self.on_filter_state_toggled, False),
282-
("ShowModified", gtk.STOCK_REMOVE, _("Modified"), None, _("Show modified"), self.on_filter_state_toggled, False),
283-
284-
("CustomFilterMenu", None, _("Filters"), None, _("Set active filters"), self.on_custom_filter_menu_toggled, False),
285-
)
268+
gnomeglade.Component.__init__(self, paths.ui_dir("dirdiff.ui"),
269+
"dirdiff", ["DirdiffActions"])
270+
286271
self.ui_file = paths.ui_dir("dirdiff-ui.xml")
287-
self.actiongroup = gtk.ActionGroup('DirdiffToolbarActions')
272+
self.actiongroup = self.DirdiffActions
288273
self.actiongroup.set_translation_domain("meld")
289-
self.actiongroup.add_actions(actions)
290-
self.actiongroup.add_toggle_actions(toggleactions)
291274
self.main_actiongroup = None
292275

293276
self.name_filters = []
@@ -299,10 +282,6 @@ def __init__(self, prefs, num_panes):
299282
app.connect("text-filters-changed",
300283
self.on_text_filters_changed)]
301284

302-
for button in ("DirCompare", "DirCopyLeft", "DirCopyRight",
303-
"DirDelete", "ShowSame",
304-
"ShowNew", "ShowModified", "CustomFilterMenu"):
305-
self.actiongroup.get_action(button).props.is_important = True
306285
self.map_widgets_into_lists(["treeview", "fileentry", "scrolledwindow",
307286
"diffmap", "linkmap", "msgarea_mgr",
308287
"vbox"])

0 commit comments

Comments
 (0)