index 43e7af494430ec6ae43f276960b203c64017ec69..5412a5cc0b2a5de3c9e59cbcefa8060917be3016 100644 (file)
--- a/src/extension/system.cpp
+++ b/src/extension/system.cpp
}
/* If autodetect fails, save as Inkscape SVG */
if (omod == NULL) {
- omod = dynamic_cast<Output *>(db.get(SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE));
+ // omod = dynamic_cast<Output *>(db.get(SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE)); use exception and let user choose
}
} else {
omod = dynamic_cast<Output *>(key);
Glib::ustring path;
switch (method) {
case FILE_SAVE_METHOD_SAVE_AS:
+ {
+ bool use_current_dir = prefs->getBool("/dialogs/save_as/use_current_dir", true);
+ if (doc->uri && use_current_dir) {
+ path = Glib::path_get_dirname(doc->uri);
+ } else {
+ path = prefs->getString("/dialogs/save_as/path");
+ }
+ break;
+ }
case FILE_SAVE_METHOD_TEMPORARY:
path = prefs->getString("/dialogs/save_as/path");
break;