summaryrefslogtreecommitdiff
path: root/src/tags/TagPage.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/tags/TagPage.vala')
-rw-r--r--src/tags/TagPage.vala52
1 files changed, 22 insertions, 30 deletions
diff --git a/src/tags/TagPage.vala b/src/tags/TagPage.vala
index 7e937ad..04696c5 100644
--- a/src/tags/TagPage.vala
+++ b/src/tags/TagPage.vala
@@ -15,7 +15,7 @@ public class TagPage : CollectionPage {
Tag.global.items_altered.connect(on_tags_altered);
tag.mirror_sources(get_view(), create_thumbnail);
- init_page_context_menu("/TagsContextMenu");
+ init_page_context_menu("TagsContextMenu");
}
~TagPage() {
@@ -39,44 +39,36 @@ public class TagPage : CollectionPage {
protected override void set_config_photos_sort(bool sort_order, int sort_by) {
Config.Facade.get_instance().set_event_photos_sort(sort_order, sort_by);
}
-
- protected override Gtk.ActionEntry[] init_collect_action_entries() {
- Gtk.ActionEntry[] actions = base.init_collect_action_entries();
-
- Gtk.ActionEntry delete_tag = { "DeleteTag", null, TRANSLATABLE, null, null, on_delete_tag };
- // label and tooltip are assigned when the menu is displayed
- actions += delete_tag;
-
- Gtk.ActionEntry rename_tag = { "RenameTag", null, TRANSLATABLE, null, null, on_rename_tag };
- // label and tooltip are assigned when the menu is displayed
- actions += rename_tag;
-
- Gtk.ActionEntry remove_tag = { "RemoveTagFromPhotos", null, TRANSLATABLE, null, null,
- on_remove_tag_from_photos };
- // label and tooltip are assigned when the menu is displayed
- actions += remove_tag;
-
- Gtk.ActionEntry delete_tag_sidebar = { "DeleteTagSidebar", null, Resources.DELETE_TAG_SIDEBAR_MENU,
- null, null, on_delete_tag };
- actions += delete_tag_sidebar;
-
- Gtk.ActionEntry rename_tag_sidebar = { "RenameTagSidebar", null, Resources.RENAME_TAG_SIDEBAR_MENU,
- null, null, on_rename_tag };
- actions += rename_tag_sidebar;
- Gtk.ActionEntry new_child_tag_sidebar = { "NewChildTagSidebar", null, Resources.NEW_CHILD_TAG_SIDEBAR_MENU,
- null, null, on_new_child_tag_sidebar };
- actions += new_child_tag_sidebar;
+ private const GLib.ActionEntry entries[] = {
+ { "DeleteTag", on_delete_tag },
+ { "RenameTag", on_rename_tag },
+ { "RemoveTagFromPhotos", on_remove_tag_from_photos },
+ { "NewChildTagSidebar", on_new_child_tag_sidebar }
+ };
+
+ protected override void add_actions () {
+ base.add_actions ();
- return actions;
+ AppWindow.get_instance ().add_action_entries (entries, this);
}
-
+
private void on_tags_altered(Gee.Map<DataObject, Alteration> map) {
if (map.has_key(tag)) {
set_page_name(tag.get_name());
update_actions(get_view().get_selected_count(), get_view().get_count());
}
}
+
+ public override void switched_to () {
+ base.switched_to ();
+ this.update_menu_item_label ("DeleteTag",
+ Resources.delete_tag_menu(tag.get_user_visible_name()));
+ this.update_menu_item_label ("RenameTag",
+ Resources.rename_tag_menu(tag.get_user_visible_name()));
+ this.update_menu_item_label ("RemoveTagFromPhotos",
+ Resources.untag_photos_menu(tag.get_user_visible_name(), 0));
+ }
protected override void update_actions(int selected_count, int count) {
set_action_details("DeleteTag",