summaryrefslogtreecommitdiffstats
path: root/src/extension/system.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2018-05-12 20:50:17 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2018-05-12 20:50:17 +0000
commitb81edb009eabf2b10f7d34c416af691a8d4952f8 (patch)
treeaa0ead927103d164bf2356a8def0574dec81269a /src/extension/system.cpp
parentFixes bugs: #1770760, #1770761, #1770763, #1770769 related to linked SVG (diff)
downloadinkscape-b81edb009eabf2b10f7d34c416af691a8d4952f8.tar.gz
inkscape-b81edb009eabf2b10f7d34c416af691a8d4952f8.zip
Allow embed on SVG imports
Diffstat (limited to 'src/extension/system.cpp')
-rw-r--r--src/extension/system.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/extension/system.cpp b/src/extension/system.cpp
index f438d84b9..5b039948a 100644
--- a/src/extension/system.cpp
+++ b/src/extension/system.cpp
@@ -95,13 +95,21 @@ SPDocument *open(Extension *key, gchar const *filename)
//g_warning("Extension: %s", imod->get_id());
bool show = true;
- if (strlen(imod->get_id()) > 27) {
+ if (strlen(imod->get_id()) > 21) {
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
bool ask = prefs->getBool("/dialogs/import/ask");
- Glib::ustring id = Glib::ustring(imod->get_id(), 28);
- if (!ask && id.compare( "org.inkscape.input.gdkpixbuf") == 0) {
+ Glib::ustring id = Glib::ustring(imod->get_id(), 22);
+ if (id.compare( "org.inkscape.input.svg") == 0 &&
+ (strcmp(prefs->getString("/options/openmethod/value").c_str(), "import") != 0 || !ask))
+ {
show = false;
imod->set_gui(false);
+ } else if(strlen(imod->get_id()) > 27) {
+ id = Glib::ustring(imod->get_id(), 28);
+ if (!ask && id.compare( "org.inkscape.input.gdkpixbuf") == 0) {
+ show = false;
+ imod->set_gui(false);
+ }
}
}
imod->set_state(Extension::STATE_LOADED);