diff options
| author | Maximilian Albert <maximilian.albert@gmail.com> | 2009-08-07 09:31:39 +0000 |
|---|---|---|
| committer | cilix42 <cilix42@users.sourceforge.net> | 2009-08-07 09:31:39 +0000 |
| commit | c5b0b577134ed7c2df538ed019a6c07cb75bf38e (patch) | |
| tree | f3dc9f3582bc21808ab86d1e8c59d45492df6c41 /src/ui/dialog/filedialogimpl-gtkmm.cpp | |
| parent | Fix buglet: In the Save dialog the file extension should be automatically upd... (diff) | |
| download | inkscape-c5b0b577134ed7c2df538ed019a6c07cb75bf38e.tar.gz inkscape-c5b0b577134ed7c2df538ed019a6c07cb75bf38e.zip | |
Store last used paths separately for the 'Save as ...' and 'Save a copy ...' dialogs and remember the last used file types in each case (closes LP #184655 and perhaps others; LP #386292 was fixed by the previous commit).
(bzr r8432)
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; } |
