diff options
Diffstat (limited to 'src/ui/dialog/filedialogimpl-gtkmm.cpp')
| -rw-r--r-- | src/ui/dialog/filedialogimpl-gtkmm.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp index 749a67b28..53faa075a 100644 --- a/src/ui/dialog/filedialogimpl-gtkmm.cpp +++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp @@ -883,8 +883,10 @@ FileSaveDialogImplGtk::FileSaveDialogImplGtk( Gtk::Window &parentWindow, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &/*default_key*/, - const gchar* docTitle) : - FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "/dialogs/save_as") + const gchar* docTitle, + const bool save_copy) : + FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, save_copy ? "/dialogs/save_copy" : "/dialogs/save_as"), + is_copy(save_copy) { FileSaveDialog::myDocTitle = docTitle; @@ -922,7 +924,11 @@ FileSaveDialogImplGtk::FileSaveDialogImplGtk( Gtk::Window &parentWindow, //###### Do we want the .xxx extension automatically added? Inkscape::Preferences *prefs = Inkscape::Preferences::get(); fileTypeCheckbox.set_label(Glib::ustring(_("Append filename extension automatically"))); - fileTypeCheckbox.set_active(prefs->getBool("/dialogs/save_as/append_extension", true)); + if (save_copy) { + fileTypeCheckbox.set_active(prefs->getBool("/dialogs/save_copy/append_extension", true)); + } else { + fileTypeCheckbox.set_active(prefs->getBool("/dialogs/save_as/append_extension", true)); + } createFileTypeMenu(); fileTypeComboBox.set_size_request(200,40); @@ -1109,10 +1115,18 @@ FileSaveDialogImplGtk::show() Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // Store changes of the "Append filename automatically" checkbox back to preferences. - prefs->setBool("/dialogs/save_as/append_extension", fileTypeCheckbox.get_active()); + if (is_copy) { + prefs->setBool("/dialogs/save_copy/append_extension", fileTypeCheckbox.get_active()); + } else { + prefs->setBool("/dialogs/save_as/append_extension", fileTypeCheckbox.get_active()); + } // Store the last used save-as filetype to preferences. - prefs->setString("/dialogs/save_as/default", ( extension != NULL ? extension->get_id() : "" )); + if (is_copy) { + prefs->setString("/dialogs/save_copy/default", ( extension != NULL ? extension->get_id() : "" )); + } else { + prefs->setString("/dialogs/save_as/default", ( extension != NULL ? extension->get_id() : "" )); + } cleanup( true ); @@ -1356,7 +1370,7 @@ FileExportDialogImpl::FileExportDialogImpl( Gtk::Window& parentWindow, destDPISpinner("DPI", _("Resolution (dots per inch)")) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - append_extension = prefs->getBool("/dialogs/save_as/append_extension", true); + append_extension = prefs->getBool("/dialogs/save_export/append_extension", true); /* One file at a time */ set_select_multiple(false); @@ -1566,8 +1580,8 @@ FileExportDialogImpl::show() append_extension = checkbox.get_active(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("/dialogs/save_as/append_extension", append_extension); - prefs->setBool("/dialogs/save_as/default", ( extension != NULL ? extension->get_id() : "" )); + prefs->setBool("/dialogs/save_export/append_extension", append_extension); + prefs->setBool("/dialogs/save_export/default", ( extension != NULL ? extension->get_id() : "" )); */ return TRUE; } |
