From 7cd9900d0d7ff692a6cf0a0fbfa3651413c27ca8 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Sat, 22 Sep 2018 03:23:04 +0200 Subject: Fix problems on dialogs with extensions. TODO: Add dialog on drag&drop a SVG --- src/extension/internal/svg.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'src/extension/internal/svg.cpp') diff --git a/src/extension/internal/svg.cpp b/src/extension/internal/svg.cpp index 7d88ad007..3f6a342de 100644 --- a/src/extension/internal/svg.cpp +++ b/src/extension/internal/svg.cpp @@ -137,7 +137,7 @@ Svg::init() "\n" "" N_("SVG Input") "\n" "" SP_MODULE_KEY_INPUT_SVG "\n" - "\n" + "\n" "<_option value='include' >" N_("Include SVG image as editable object(s) in the current file") "\n" "<_option value='embed' >" N_("Embed the SVG file in a image tag (not editable in this document)") "\n" "<_option value='link' >" N_("Link the SVG file in a image tag (not editable in this document).") "\n" @@ -206,21 +206,15 @@ Svg::open (Inkscape::Extension::Input *mod, const gchar *uri) const auto path = file->get_path(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool ask = prefs->getBool("/dialogs/import/ask"); - Glib::ustring link_svg = prefs->getString("/dialogs/import/link_svg"); + Glib::ustring import_mode_svg = prefs->getString("/dialogs/import/import_mode_svg"); Glib::ustring scale = prefs->getString("/dialogs/import/scale"); - bool is_import = false; - if (strcmp(prefs->getString("/options/openmethod/value").c_str(), "done") == 0 || - strcmp(prefs->getString("/options/openmethod/value").c_str(), "import") == 0) - { - is_import = true; - } - if(INKSCAPE.use_gui() && is_import && ask) { - Glib::ustring mod_link_svg = mod->get_param_optiongroup("link_svg"); + if(mod->get_gui() && ask) { + Glib::ustring mod_import_mode_svg = mod->get_param_optiongroup("import_mode_svg"); Glib::ustring mod_scale = mod->get_param_optiongroup("scale"); - if( link_svg.compare( mod_link_svg) != 0 ) { - link_svg = mod_link_svg; + if( import_mode_svg.compare( mod_import_mode_svg) != 0 ) { + import_mode_svg = mod_import_mode_svg; } - prefs->setString("/dialogs/import/link_svg", link_svg ); + prefs->setString("/dialogs/import/import_mode_svg", import_mode_svg ); if( scale.compare( mod_scale ) != 0 ) { scale = mod_scale; } @@ -228,8 +222,8 @@ Svg::open (Inkscape::Extension::Input *mod, const gchar *uri) prefs->setBool("/dialogs/import/ask", !mod->get_param_bool("do_not_ask") ); } SPDocument * doc = SPDocument::createNewDoc (nullptr, TRUE, TRUE); - if (link_svg.compare("include") != 0 && is_import) { - bool embed = ( link_svg.compare( "embed" ) == 0 ); + if (prefs->getBool("/options/onimport", false) && import_mode_svg.compare("include") != 0) { + bool embed = ( import_mode_svg.compare( "embed" ) == 0 ); SPDocument * ret = SPDocument::createNewDoc(uri, TRUE); SPNamedView *nv = sp_document_namedview(doc, nullptr); Glib::ustring display_unit = nv->display_units->abbr; -- cgit v1.2.3