diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2018-09-22 11:17:10 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2018-09-22 11:17:10 +0000 |
| commit | 0c63ba89a507f817dcd7b54cf60af8951e14e2c9 (patch) | |
| tree | d97f5ff77162216ee8948ef3893f6af1eabb1e12 /src | |
| parent | Fix problems on dialogs with extensions. TODO: Add dialog on drag&drop a SVG (diff) | |
| download | inkscape-0c63ba89a507f817dcd7b54cf60af8951e14e2c9.tar.gz inkscape-0c63ba89a507f817dcd7b54cf60af8951e14e2c9.zip | |
Allow ask for SVG dragged import method. Also split ask question from one to 2 (Bitmap and SVG)
Diffstat (limited to 'src')
| -rw-r--r-- | src/extension/internal/svg.cpp | 10 | ||||
| -rw-r--r-- | src/extension/system.cpp | 3 | ||||
| -rw-r--r-- | src/preferences-skeleton.h | 2 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 5 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.h | 1 | ||||
| -rw-r--r-- | src/ui/interface.cpp | 6 |
6 files changed, 19 insertions, 8 deletions
diff --git a/src/extension/internal/svg.cpp b/src/extension/internal/svg.cpp index 3f6a342de..d392d6bf0 100644 --- a/src/extension/internal/svg.cpp +++ b/src/extension/internal/svg.cpp @@ -149,7 +149,7 @@ Svg::init() "<_option value='optimizeSpeed' >" N_("Blocky (optimizeSpeed)") "</_option>\n" "</param>\n" - "<param name=\"do_not_ask\" _gui-description='" N_("Hide the dialog next time and always apply the same actions.") "' _gui-text=\"" N_("Don't ask again") "\" type=\"boolean\" >false</param>\n" + "<param name=\"do_not_ask\" _gui-description='" N_("Hide the dialog next time and always apply the same actions.") "' _gui-text=\"" N_("Don't ask again") "\" type=\"boolean\" >%s</param>\n" "<input>\n" "<extension>.svg</extension>\n" "<mimetype>image/svg+xml</mimetype>\n" @@ -158,7 +158,7 @@ Svg::init() "<output_extension>" SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE "</output_extension>\n" "</input>\n" "</inkscape-extension>", new Svg()); - + /* SVG out Inkscape */ Inkscape::Extension::build_from_mem( "<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n" @@ -205,10 +205,10 @@ Svg::open (Inkscape::Extension::Input *mod, const gchar *uri) auto file = Gio::File::create_for_uri(uri); const auto path = file->get_path(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool ask = prefs->getBool("/dialogs/import/ask"); + bool ask_svg = prefs->getBool("/dialogs/import/ask_svg"); Glib::ustring import_mode_svg = prefs->getString("/dialogs/import/import_mode_svg"); Glib::ustring scale = prefs->getString("/dialogs/import/scale"); - if(mod->get_gui() && ask) { + if(mod->get_gui() && ask_svg) { Glib::ustring mod_import_mode_svg = mod->get_param_optiongroup("import_mode_svg"); Glib::ustring mod_scale = mod->get_param_optiongroup("scale"); if( import_mode_svg.compare( mod_import_mode_svg) != 0 ) { @@ -219,7 +219,7 @@ Svg::open (Inkscape::Extension::Input *mod, const gchar *uri) scale = mod_scale; } prefs->setString("/dialogs/import/scale", scale ); - prefs->setBool("/dialogs/import/ask", !mod->get_param_bool("do_not_ask") ); + prefs->setBool("/dialogs/import/ask_svg", !mod->get_param_bool("do_not_ask") ); } SPDocument * doc = SPDocument::createNewDoc (nullptr, TRUE, TRUE); if (prefs->getBool("/options/onimport", false) && import_mode_svg.compare("include") != 0) { diff --git a/src/extension/system.cpp b/src/extension/system.cpp index daad169aa..f000e88f0 100644 --- a/src/extension/system.cpp +++ b/src/extension/system.cpp @@ -98,9 +98,10 @@ SPDocument *open(Extension *key, gchar const *filename) if (strlen(imod->get_id()) > 21) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool ask = prefs->getBool("/dialogs/import/ask"); + bool ask_svg = prefs->getBool("/dialogs/import/ask_svg"); Glib::ustring id = Glib::ustring(imod->get_id(), 22); if (id.compare("org.inkscape.input.svg") == 0) { - if (ask && prefs->getBool("/options/onimport", false)) { + if (ask_svg && prefs->getBool("/options/onimport", false)) { show = true; imod->set_gui(true); } else { diff --git a/src/preferences-skeleton.h b/src/preferences-skeleton.h index 2fb76923c..16095cdad 100644 --- a/src/preferences-skeleton.h +++ b/src/preferences-skeleton.h @@ -201,7 +201,7 @@ static char const preferences_skeleton[] = " <group id=\"save_as\" default=\"\" append_extension=\"1\" enable_preview=\"1\" path=\"\" use_current_dir=\"1\"/>\n" " <group id=\"save_copy\" default=\"\" append_extension=\"1\" enable_preview=\"1\" path=\"\"/>\n" " <group id=\"open\" enable_preview=\"1\" path=\"\"/>\n" -" <group id=\"import\" enable_preview=\"1\" path=\"\" ask=\"1\" link=\"link\" scale=\"optimizeSpeed\"/>\n" +" <group id=\"import\" enable_preview=\"1\" path=\"\" ask=\"1\" ask_svg=\"1\" link=\"link\" scale=\"optimizeSpeed\"/>\n" " <group id=\"debug\" redirect=\"0\"/>\n" " <group id=\"clonetiler\" />\n" " <group id=\"gridtiler\" />\n" diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index a1aae3cde..02dcb4187 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -1731,9 +1731,12 @@ void InkscapePreferences::initPageBitmaps() _("Resolution used by the Create Bitmap Copy command"), false); _page_bitmaps.add_group_header( _("Import")); - _bitmap_ask.init(_("Ask about linking and scaling when importing"), "/dialogs/import/ask", true); + _bitmap_ask.init(_("Ask about linking and scaling when importing bitmap images"), "/dialogs/import/ask", true); _page_bitmaps.add_line( true, "", _bitmap_ask, "", _("Pop-up linking and scaling dialog when importing bitmap image.")); + _svg_ask.init(_("Ask about linking and scaling when importing SVG images"), "/dialogs/import/ask_svg", true); + _page_bitmaps.add_line( true, "", _svg_ask, "", + _("Pop-up linking and scaling dialog when importing SVG image.")); { Glib::ustring labels[] = {_("Embed"), _("Link")}; diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h index d0b51fa83..adcfca358 100644 --- a/src/ui/dialog/inkscape-preferences.h +++ b/src/ui/dialog/inkscape-preferences.h @@ -401,6 +401,7 @@ protected: UI::Widget::PrefCheckButton _misc_bitmap_autoreload; UI::Widget::PrefSpinButton _bitmap_copy_res; UI::Widget::PrefCheckButton _bitmap_ask; + UI::Widget::PrefCheckButton _svg_ask; UI::Widget::PrefCombo _bitmap_link; UI::Widget::PrefCombo _svg_link; UI::Widget::PrefCombo _bitmap_scale; diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp index 35723af04..5edaab193 100644 --- a/src/ui/interface.cpp +++ b/src/ui/interface.cpp @@ -1246,6 +1246,8 @@ sp_ui_drag_data_received(GtkWidget *widget, case SVG_DATA: case SVG_XML_DATA: { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/options/onimport", true); gchar *svgdata = (gchar *)gtk_selection_data_get_data (data); Inkscape::XML::Document *rnewdoc = sp_repr_read_mem(svgdata, gtk_selection_data_get_length (data), SP_SVG_NS_URI); @@ -1291,12 +1293,16 @@ sp_ui_drag_data_received(GtkWidget *widget, Inkscape::GC::release(newgroup); DocumentUndo::done( doc, SP_VERB_NONE, _("Drop SVG") ); + prefs->setBool("/options/onimport", false); break; } case URI_LIST: { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/options/onimport", true); gchar *uri = (gchar *)gtk_selection_data_get_data (data); sp_ui_import_files(uri); + prefs->setBool("/options/onimport", false); break; } |
