summaryrefslogtreecommitdiffstats
path: root/src/ui/desktop/menubar.cpp
diff options
context:
space:
mode:
authorPatrick Storz <eduard.braun2@gmx.de>2019-09-10 21:06:16 +0000
committerPatrick Storz <eduard.braun2@gmx.de>2019-09-10 21:06:16 +0000
commit9ef11983740d45efd39152a6f34de3a0102ccbe7 (patch)
treef016f43a9d2927eaaf1d0397c88271497deb1bab /src/ui/desktop/menubar.cpp
parentFix tutorials (diff)
downloadinkscape-9ef11983740d45efd39152a6f34de3a0102ccbe7.tar.gz
inkscape-9ef11983740d45efd39152a6f34de3a0102ccbe7.zip
Menubar: Fix translation of submenu names
* drop underscore from submenus' "name" attribute and extract for translation by default * avoid crash for submenus missing a name * fix ITS rules (only top-level menu names where extracted)
Diffstat (limited to 'src/ui/desktop/menubar.cpp')
-rw-r--r--src/ui/desktop/menubar.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/ui/desktop/menubar.cpp b/src/ui/desktop/menubar.cpp
index 5e2b4edcd..8852f344b 100644
--- a/src/ui/desktop/menubar.cpp
+++ b/src/ui/desktop/menubar.cpp
@@ -114,7 +114,7 @@ set_name(Glib::ustring const &name, Gtk::MenuItem* menuitem)
label->set_markup_with_mnemonic(name);
} else {
std::cerr << "set_name: could not find label!" << std::endl;
- }
+ }
}
}
@@ -261,7 +261,7 @@ checkitem_update(Gtk::CheckMenuItem* menuitem, SPAction* action)
menuitem->set_active(active);
} else {
std::cerr << "checkitem_update: unknown action" << std::endl;
- }
+ }
}
static Gtk::CheckMenuItem*
@@ -279,7 +279,7 @@ build_menu_check_item_from_verb(SPAction* action)
checkitem_update(menuitem, action);
menuitem->signal_toggled().connect(
- sigc::bind<Gtk::CheckMenuItem*, SPAction*>(sigc::ptr_fun(&item_activate), menuitem, action));
+ sigc::bind<Gtk::CheckMenuItem*, SPAction*>(sigc::ptr_fun(&item_activate), menuitem, action));
menuitem->signal_select().connect( sigc::bind<SPAction*>(sigc::ptr_fun(&select_action), action));
menuitem->signal_deselect().connect(sigc::bind<SPAction*>(sigc::ptr_fun(&deselect_action), action));
@@ -329,7 +329,7 @@ add_tasks(Gtk::MenuShell* menu, SPDesktop* dt)
}
menuitem->signal_toggled().connect(
- sigc::bind<SPDesktop*, int>(sigc::ptr_fun(&task_activated), dt, i));
+ sigc::bind<SPDesktop*, int>(sigc::ptr_fun(&task_activated), dt, i));
menuitem->signal_select().connect(
sigc::bind<SPDesktop*, Glib::ustring>(sigc::ptr_fun(&select_task), dt, data[i][1]));
menuitem->signal_deselect().connect(
@@ -407,12 +407,13 @@ build_menu(Gtk::MenuShell* menu, Inkscape::XML::Node* xml, Inkscape::UI::View::V
}
if (name == "submenu") {
- Gtk::MenuItem* menuitem = nullptr;
- if (menu_ptr->attribute("_name") != nullptr) {
- menuitem = Gtk::manage(new Gtk::MenuItem(_(menu_ptr->attribute("_name")), true));
- } else {
- menuitem = Gtk::manage(new Gtk::MenuItem( menu_ptr->attribute("name"), true));
+ const char *name = menu_ptr->attribute("name");
+ if (!name) {
+ g_warning("menus.xml: skipping submenu without name.");
+ continue;
}
+
+ Gtk::MenuItem* menuitem = Gtk::manage(new Gtk::MenuItem(_(name), true));
Gtk::Menu* submenu = Gtk::manage(new Gtk::Menu());
build_menu(submenu, menu_ptr->firstChild(), view, show_icons_curr);
menuitem->set_submenu(*submenu);
@@ -423,7 +424,7 @@ build_menu(Gtk::MenuShell* menu, Inkscape::XML::Node* xml, Inkscape::UI::View::V
continue;
}
-
+
if (name == "contextmenu") {
if (menu_ptr->attribute("id")) {
Glib::ustring id = menu_ptr->attribute("id");