From 63c57ca43cea302a09fff90d40a3b9cb9c7ecffb Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 11 Apr 2017 15:22:50 +0200 Subject: [PATCH] remember the last LCP directory across RT restarts --- rtgui/lensprofile.cc | 6 +++++- rtgui/options.cc | 3 +++ rtgui/options.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/rtgui/lensprofile.cc b/rtgui/lensprofile.cc index cae283e9e..79a0dc19f 100644 --- a/rtgui/lensprofile.cc +++ b/rtgui/lensprofile.cc @@ -48,7 +48,10 @@ LensProfilePanel::LensProfilePanel () : FoldableToolPanel(this, "lensprof", M("T fcbLCPFile->set_show_hidden(true); // ProgramData is hidden on Windows #endif fcbLCPFile->set_current_folder(defDir); + } else if (!options.lastLensProfileDir.empty()) { + fcbLCPFile->set_current_folder(options.lastLensProfileDir); } + bindCurrentFolder(*fcbLCPFile, options.lastLensProfileDir); hbLCPFile->pack_start(*fcbLCPFile); @@ -89,8 +92,9 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa fcbLCPFile->unselect_filename(fname); } else { Glib::ustring lastFolder = fcbLCPFile->get_current_folder(); - fcbLCPFile->set_filename(""); fcbLCPFile->set_current_folder(lastFolder); + fcbLCPFile->set_filename(lastFolder + "/."); + bindCurrentFolder(*fcbLCPFile, options.lastLensProfileDir); } updateDisabled(false); diff --git a/rtgui/options.cc b/rtgui/options.cc index 8c9ce61a6..55b257ec8 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -711,6 +711,7 @@ void Options::setDefaults () lastVibranceCurvesDir = ""; lastProfilingReferenceDir = ""; lastBWCurvesDir = ""; + lastLensProfileDir = ""; maxRecentFolders = 15; } @@ -1806,6 +1807,7 @@ int Options::readFromFile (Glib::ustring fname) safeDirGet (keyFile, "Dialogs", "LastToneCurvesDir", lastToneCurvesDir); safeDirGet (keyFile, "Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir); safeDirGet (keyFile, "Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir); + safeDirGet (keyFile, "Dialogs", "LastLensProfileDir", lastLensProfileDir); } // -------------------------------------------------------------------------------------------------------- @@ -2162,6 +2164,7 @@ int Options::saveToFile (Glib::ustring fname) keyFile.set_string ("Dialogs", "LastToneCurvesDir", lastToneCurvesDir); keyFile.set_string ("Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir); keyFile.set_string ("Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir); + keyFile.set_string ("Dialogs", "LastLensProfileDir", lastLensProfileDir); keyData = keyFile.to_data (); diff --git a/rtgui/options.h b/rtgui/options.h index d25a6bde8..1a5ae21ed 100644 --- a/rtgui/options.h +++ b/rtgui/options.h @@ -306,6 +306,7 @@ public: Glib::ustring lastVibranceCurvesDir; Glib::ustring lastProfilingReferenceDir; Glib::ustring lastBWCurvesDir; + Glib::ustring lastLensProfileDir; size_t maxRecentFolders; // max. number of recent folders stored in options file std::vector recentFolders; // List containing all recent folders