feature: added option to use a (fast) neutral RAW rendering in 'inspector mode'
This commit is contained in:
@@ -592,6 +592,8 @@ void Options::setDefaults ()
|
||||
rtSettings.lensfunDbDirectory = ""; // set also in main.cc and main-cli.cc
|
||||
cropGuides = CROP_GUIDE_FULL;
|
||||
cropAutoFit = false;
|
||||
|
||||
rtSettings.thumbnail_inspector_mode = rtengine::Settings::ThumbnailInspectorMode::JPEG;
|
||||
}
|
||||
|
||||
Options* Options::copyFrom (Options* other)
|
||||
@@ -1065,6 +1067,10 @@ void Options::readFromFile (Glib::ustring fname)
|
||||
if (keyFile.has_key ("Performance", "SerializeTiffRead")) {
|
||||
serializeTiffRead = keyFile.get_boolean ("Performance", "SerializeTiffRead");
|
||||
}
|
||||
|
||||
if (keyFile.has_key("Performance", "ThumbnailInspectorMode")) {
|
||||
rtSettings.thumbnail_inspector_mode = static_cast<rtengine::Settings::ThumbnailInspectorMode>(keyFile.get_integer("Performance", "ThumbnailInspectorMode"));
|
||||
}
|
||||
}
|
||||
|
||||
if (keyFile.has_group ("GUI")) {
|
||||
@@ -1844,6 +1850,7 @@ void Options::saveToFile (Glib::ustring fname)
|
||||
keyFile.set_integer ("Performance", "PreviewDemosaicFromSidecar", prevdemo);
|
||||
keyFile.set_boolean ("Performance", "Daubechies", rtSettings.daubech);
|
||||
keyFile.set_boolean ("Performance", "SerializeTiffRead", serializeTiffRead);
|
||||
keyFile.set_integer("Performance", "ThumbnailInspectorMode", int(rtSettings.thumbnail_inspector_mode));
|
||||
|
||||
keyFile.set_string ("Output", "Format", saveFormat.format);
|
||||
keyFile.set_integer ("Output", "JpegQuality", saveFormat.jpegQuality);
|
||||
|
@@ -657,7 +657,19 @@ Gtk::Widget* Preferences::getPerformancePanel ()
|
||||
maxInspectorBuffersSB->set_range (1, 12); // ... we have to set a limit, 12 seem to be enough even for systems with tons of RAM
|
||||
maxIBuffersHB->pack_start (*maxIBufferLbl, Gtk::PACK_SHRINK, 0);
|
||||
maxIBuffersHB->pack_end (*maxInspectorBuffersSB, Gtk::PACK_SHRINK, 0);
|
||||
finspect->add (*maxIBuffersHB);
|
||||
|
||||
Gtk::VBox *inspectorvb = Gtk::manage(new Gtk::VBox());
|
||||
inspectorvb->add(*maxIBuffersHB);
|
||||
|
||||
Gtk::HBox *insphb = Gtk::manage(new Gtk::HBox());
|
||||
thumbnailInspectorMode = Gtk::manage(new Gtk::ComboBoxText());
|
||||
thumbnailInspectorMode->append(M("PREFERENCES_THUMBNAIL_INSPECTOR_JPEG"));
|
||||
thumbnailInspectorMode->append(M("PREFERENCES_THUMBNAIL_INSPECTOR_RAW"));
|
||||
thumbnailInspectorMode->append(M("PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE"));
|
||||
insphb->pack_start(*Gtk::manage(new Gtk::Label(M("PREFERENCES_THUMBNAIL_INSPECTOR_MODE") + ": ")), Gtk::PACK_SHRINK, 4);
|
||||
insphb->pack_start(*thumbnailInspectorMode);
|
||||
inspectorvb->pack_start(*insphb);
|
||||
finspect->add (*inspectorvb);
|
||||
mainContainer->pack_start (*finspect, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
Gtk::Frame* fdenoise = Gtk::manage ( new Gtk::Frame (M ("PREFERENCES_NOISE")) );
|
||||
@@ -1853,6 +1865,7 @@ void Preferences::storePreferences ()
|
||||
moptions.rgbDenoiseThreadLimit = rgbDenoiseTreadLimitSB->get_value_as_int();
|
||||
moptions.clutCacheSize = clutCacheSizeSB->get_value_as_int();
|
||||
moptions.maxInspectorBuffers = maxInspectorBuffersSB->get_value_as_int();
|
||||
moptions.rtSettings.thumbnail_inspector_mode = static_cast<rtengine::Settings::ThumbnailInspectorMode>(thumbnailInspectorMode->get_active_row_number());
|
||||
|
||||
// Sounds only on Windows and Linux
|
||||
#if defined(WIN32) || defined(__linux__)
|
||||
@@ -2072,6 +2085,7 @@ void Preferences::fillPreferences ()
|
||||
rgbDenoiseTreadLimitSB->set_value (moptions.rgbDenoiseThreadLimit);
|
||||
clutCacheSizeSB->set_value (moptions.clutCacheSize);
|
||||
maxInspectorBuffersSB->set_value (moptions.maxInspectorBuffers);
|
||||
thumbnailInspectorMode->set_active(int(moptions.rtSettings.thumbnail_inspector_mode));
|
||||
|
||||
darkFrameDir->set_current_folder ( moptions.rtSettings.darkFramesPath );
|
||||
darkFrameChanged ();
|
||||
|
@@ -166,6 +166,7 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener
|
||||
Gtk::SpinButton* rgbDenoiseTreadLimitSB;
|
||||
Gtk::SpinButton* clutCacheSizeSB;
|
||||
Gtk::SpinButton* maxInspectorBuffersSB;
|
||||
Gtk::ComboBoxText *thumbnailInspectorMode;
|
||||
|
||||
Gtk::CheckButton* ckbmenuGroupRank;
|
||||
Gtk::CheckButton* ckbmenuGroupLabel;
|
||||
|
Reference in New Issue
Block a user