diff options
Diffstat (limited to 'src/extension/effect.cpp')
| -rw-r--r-- | src/extension/effect.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/extension/effect.cpp b/src/extension/effect.cpp index a38c3022a..a9088f88d 100644 --- a/src/extension/effect.cpp +++ b/src/extension/effect.cpp @@ -105,8 +105,8 @@ Effect::Effect (Inkscape::XML::Node * in_repr, Implementation::Implementation * if (!hidden) { if (_filters_list && - local_effects_menu && - local_effects_menu->attribute("name") && + local_effects_menu && + local_effects_menu->attribute("name") && !strcmp(local_effects_menu->attribute("name"), ("Filters"))) { merge_menu(_filters_list->parent(), _filters_list, local_effects_menu->firstChild(), _menu_node); } else if (_effects_list) { @@ -127,24 +127,25 @@ Effect::merge_menu (Inkscape::XML::Node * base, Inkscape::XML::Node * tomerge = nullptr; Inkscape::XML::Node * submenu = nullptr; - /* printf("Merge menu with '%s' '%s' '%s'\n", - base != NULL ? base->name() : "NULL", - pattern != NULL ? pattern->name() : "NULL", - merge != NULL ? merge->name() : "NULL"); */ - if (pattern == nullptr) { // Merge the verb name tomerge = merge; - mergename = _(this->get_name()); + mergename = get_translation(get_name()); } else { - gchar const * menuname = pattern->attribute("name"); + gchar const *menuname = pattern->attribute("name"); if (menuname == nullptr) menuname = pattern->attribute("_name"); if (menuname == nullptr) return; - + Inkscape::XML::Document *xml_doc; xml_doc = base->document(); tomerge = xml_doc->createElement("submenu"); - mergename = _(menuname); + if (_translation_enabled) { + mergename = get_translation(menuname); + } else { + // Even if the extension author requested the extension not to be translated, + // it still seems desirable to be able to put the extension into the existing (translated) submenus. + mergename = _(menuname); + } tomerge->setAttribute("name", mergename, false); } @@ -247,7 +248,8 @@ Effect::prefs (Inkscape::UI::View::View * doc) set_state(Extension::STATE_LOADED); if (!loaded()) return false; - _prefDialog = new PrefDialog(this->get_name(), nullptr, this); + Glib::ustring name = get_translation(this->get_name()); + _prefDialog = new PrefDialog(name, nullptr, this); _prefDialog->show(); return true; @@ -286,7 +288,7 @@ Effect::effect (Inkscape::UI::View::View * doc) /** \brief Sets which effect was called last \param in_effect The effect that has been called - + This function sets the static variable \c _last_effect and it ensures that the last effect verb is sensitive. |
