diff --git a/rtdata/languages/default b/rtdata/languages/default index 9b404f5ab..96888e52d 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1436,6 +1436,10 @@ PREFERENCES_CLUTSCACHE;HaldCLUT Cache PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs PREFERENCES_CLUTSDIR;HaldCLUT directory PREFERENCES_CMMBPC;Black point compensation +PREFERENCES_COMPLEXITYLOC;Complexity Local Adjustements +PREFERENCES_COMPLEXITY_EXP;Expert +PREFERENCES_COMPLEXITY_CONF;Confirmed +PREFERENCES_COMPLEXITY_NORM;Normal PREFERENCES_CROP;Crop Editing PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index 5038b0568..835df7baa 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -643,6 +643,7 @@ pe(nullptr) ToolVBox* const panel = Gtk::manage(new ToolVBox()); const bool showtooltip = options.showtooltip; complexsoft = options.complexity; + printf("Complexsoft=%i\n", complexsoft); CurveListener::setMulti(true); rtengine::procparams::LocallabParams::LocallabSpot defSpot; @@ -985,8 +986,8 @@ pe(nullptr) gradcolFrame->set_label_align(0.025, 0.5); ToolParamBlock* const gradcolBox = Gtk::manage(new ToolParamBlock()); gradcolBox->pack_start(*strcol); - gradcolBox->pack_start(*strcolab); - gradcolBox->pack_start(*strcolh); + if(complexsoft < 2) gradcolBox->pack_start(*strcolab); + if(complexsoft < 2) gradcolBox->pack_start(*strcolh); gradcolBox->pack_start(*angcol); gradcolFrame->add(*gradcolBox); @@ -1005,24 +1006,24 @@ pe(nullptr) gridBox->pack_start(*gridMethod); gridBox->pack_start(*strengthgrid); gridFrame->add(*gridBox); - if(complexsoft < 10) superBox->pack_start(*gridFrame); + if(complexsoft < 2) superBox->pack_start(*gridFrame); superFrame->add(*superBox); colorBox->pack_start(*superFrame); colorBox->pack_start(*sensi); - colorBox->pack_start(*structcol); - colorBox->pack_start(*blurcolde); + if(complexsoft < 2) colorBox->pack_start(*structcol); + if(complexsoft < 2) colorBox->pack_start(*blurcolde); colorBox->pack_start(*gradcolFrame); - colorBox->pack_start(*softradiuscol); + if(complexsoft < 2) colorBox->pack_start(*softradiuscol); Gtk::HBox* const qualcurvbox = Gtk::manage(new Gtk::HBox()); qualcurvbox->pack_start(*labqualcurv, Gtk::PACK_SHRINK, 4); qualcurvbox->pack_start(*qualitycurveMethod); colorBox->pack_start(*qualcurvbox); colorBox->pack_start(*llCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - colorBox->pack_start(*HCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - colorBox->pack_start(*H2CurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - colorBox->pack_start(*rgbCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - colorBox->pack_start(*special); + if(complexsoft < 2) colorBox->pack_start(*HCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + if(complexsoft < 2) colorBox->pack_start(*H2CurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + if(complexsoft < 2) colorBox->pack_start(*rgbCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + if(complexsoft < 2) colorBox->pack_start(*special); colorBox->pack_start(*invers); Gtk::HSeparator* const separatormer = Gtk::manage(new Gtk::HSeparator()); @@ -1046,7 +1047,7 @@ pe(nullptr) mergecolBox->pack_start(*conthrcol); mergecolBox->pack_start(*gridmerFrame); - merge1colFrame->add(*mergecolBox); + if(complexsoft < 2) merge1colFrame->add(*mergecolBox); Gtk::HSeparator* const separatorstru = Gtk::manage(new Gtk::HSeparator()); ToolParamBlock* const maskcolBox = Gtk::manage(new ToolParamBlock()); @@ -1054,8 +1055,8 @@ pe(nullptr) maskcolBox->pack_start(*showmaskcolMethodinv, Gtk::PACK_SHRINK, 4); maskcolBox->pack_start(*enaColorMask, Gtk::PACK_SHRINK, 0); maskcolBox->pack_start(*maskCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - maskcolBox->pack_start(*strumaskcol, Gtk::PACK_SHRINK, 0); - maskcolBox->pack_start(*toolcol); + if(complexsoft < 2) maskcolBox->pack_start(*strumaskcol, Gtk::PACK_SHRINK, 0); + if(complexsoft < 2) maskcolBox->pack_start(*toolcol); maskcolBox->pack_start(*separatorstru, Gtk::PACK_SHRINK, 2); toolcolFrame->set_label_align(0.025, 0.5); @@ -1063,15 +1064,15 @@ pe(nullptr) maskcolBox->pack_start(*blendmaskcol, Gtk::PACK_SHRINK, 0); toolcolBox->pack_start(*radmaskcol, Gtk::PACK_SHRINK, 0); - if(complexsoft < 10) toolcolBox->pack_start(*lapmaskcol, Gtk::PACK_SHRINK, 0); + if(complexsoft < 1) toolcolBox->pack_start(*lapmaskcol, Gtk::PACK_SHRINK, 0); toolcolBox->pack_start(*chromaskcol, Gtk::PACK_SHRINK, 0); - toolcolBox->pack_start(*gammaskcol, Gtk::PACK_SHRINK, 0); - toolcolBox->pack_start(*slomaskcol, Gtk::PACK_SHRINK, 0); - toolcolBox->pack_start(*shadmaskcol, Gtk::PACK_SHRINK, 0); - toolcolBox->pack_start(*maskHCurveEditorG, Gtk::PACK_SHRINK, 4); + if(complexsoft < 2) toolcolBox->pack_start(*gammaskcol, Gtk::PACK_SHRINK, 0); + if(complexsoft < 2) toolcolBox->pack_start(*slomaskcol, Gtk::PACK_SHRINK, 0); + if(complexsoft < 2) toolcolBox->pack_start(*shadmaskcol, Gtk::PACK_SHRINK, 0); + if(complexsoft < 2) toolcolBox->pack_start(*maskHCurveEditorG, Gtk::PACK_SHRINK, 4); toolcolBox->pack_start(*mask2CurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - toolcolBox->pack_start(*mask2CurveEditorGwav, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor - toolcolBox->pack_start(*csThresholdcol, Gtk::PACK_SHRINK, 0); + if(complexsoft < 1) toolcolBox->pack_start(*mask2CurveEditorGwav, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + if(complexsoft < 1) toolcolBox->pack_start(*csThresholdcol, Gtk::PACK_SHRINK, 0); toolcolFrame->add(*toolcolBox); maskcolBox->pack_start(*toolcolFrame); @@ -1082,7 +1083,7 @@ pe(nullptr) mask7Box->pack_start(*mask7); expmaskcol1->add(*mask7Box, false); expmaskcol->add(*mergecolFrame, false); - colorBox->pack_start(*expmaskcol1); + if(complexsoft < 2) colorBox->pack_start(*expmaskcol1); colorBox->pack_start(*expmaskcol); expcolor->add(*colorBox, false); diff --git a/rtgui/options.cc b/rtgui/options.cc index c61d823e3..503722c17 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -451,6 +451,7 @@ void Options::setDefaults() histogramHeight = 200; histogramDrawMode = 0; curvebboxpos = 1; + complexity = 0; prevdemo = PD_Sidecar; rgbDenoiseThreadLimit = 0; @@ -479,7 +480,6 @@ void Options::setDefaults() menuGroupProfileOperations = true; menuGroupExtProg = true; showtooltip = true; - complexity = 0; ICCPC_primariesPreset = "sRGB", ICCPC_redPrimaryX = 0.6400; diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 24a350f15..494d2b6f7 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -931,16 +931,32 @@ Gtk::Widget* Preferences::getGeneralPanel() workflowGrid->attach_next_to(*curveBBoxPosC, *editorLayout, Gtk::POS_BOTTOM, 1, 1); workflowGrid->attach_next_to(*curveBBoxPosRestartL, *lNextStart, Gtk::POS_BOTTOM, 1, 1); + Gtk::Label* complexityL = Gtk::manage(new Gtk::Label(M("PREFERENCES_COMPLEXITYLOC") + ":")); + setExpandAlignProperties(complexityL, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); + complexitylocal = Gtk::manage(new Gtk::ComboBoxText()); + setExpandAlignProperties(complexitylocal, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE); + complexitylocal->append(M("PREFERENCES_COMPLEXITY_EXP")); + complexitylocal->append(M("PREFERENCES_COMPLEXITY_CONF")); + complexitylocal->append(M("PREFERENCES_COMPLEXITY_NORM")); + complexitylocal->set_active(1); + Gtk::Label* complexitylocalRestartL = Gtk::manage(new Gtk::Label(Glib::ustring("(") + M("PREFERENCES_APPLNEXTSTARTUP") + ")")); + setExpandAlignProperties(complexitylocalRestartL, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); + workflowGrid->attach_next_to(*complexityL, *curveBBoxPosL, Gtk::POS_BOTTOM, 1, 1); + workflowGrid->attach_next_to(*complexitylocal, *curveBBoxPosC, Gtk::POS_BOTTOM, 1, 1); + workflowGrid->attach_next_to(*complexitylocalRestartL, *curveBBoxPosRestartL, Gtk::POS_BOTTOM, 1, 1); + + + ckbHistogramPositionLeft = Gtk::manage(new Gtk::CheckButton(M("PREFERENCES_HISTOGRAMPOSITIONLEFT"))); setExpandAlignProperties(ckbHistogramPositionLeft, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); - workflowGrid->attach_next_to(*ckbHistogramPositionLeft, *curveBBoxPosL, Gtk::POS_BOTTOM, 1, 1); + workflowGrid->attach_next_to(*ckbHistogramPositionLeft, *complexityL, Gtk::POS_BOTTOM, 1, 1); ckbFileBrowserToolbarSingleRow = Gtk::manage(new Gtk::CheckButton(M("PREFERENCES_FILEBROWSERTOOLBARSINGLEROW"))); setExpandAlignProperties(ckbFileBrowserToolbarSingleRow, false, false, Gtk::ALIGN_START, Gtk::ALIGN_START); ckbShowFilmStripToolBar = Gtk::manage(new Gtk::CheckButton(M("PREFERENCES_SHOWFILMSTRIPTOOLBAR"))); setExpandAlignProperties(ckbShowFilmStripToolBar, false, false, Gtk::ALIGN_START, Gtk::ALIGN_START); workflowGrid->attach_next_to(*ckbFileBrowserToolbarSingleRow, *ckbHistogramPositionLeft, Gtk::POS_BOTTOM, 1, 1); - workflowGrid->attach_next_to(*ckbShowFilmStripToolBar, *curveBBoxPosC, Gtk::POS_BOTTOM, 2, 1); + workflowGrid->attach_next_to(*ckbShowFilmStripToolBar, *complexitylocal, Gtk::POS_BOTTOM, 2, 1); Gtk::Label* hb4label = Gtk::manage(new Gtk::Label(M("PREFERENCES_TP_LABEL"))); setExpandAlignProperties(hb4label, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); @@ -1794,6 +1810,7 @@ void Preferences::storePreferences() moptions.mainNBVertical = editorMode == 1; moptions.curvebboxpos = curveBBoxPosC->get_active_row_number(); + moptions.complexity = complexitylocal->get_active_row_number(); moptions.histogramPosition = ckbHistogramPositionLeft->get_active() ? 1 : 2; moptions.FileBrowserToolbarSingleRow = ckbFileBrowserToolbarSingleRow->get_active(); moptions.showFilmStripToolBar = ckbShowFilmStripToolBar->get_active(); @@ -2007,6 +2024,8 @@ void Preferences::fillPreferences() } curveBBoxPosC->set_active(moptions.curvebboxpos); + complexitylocal->set_active(moptions.complexity); + ckbHistogramPositionLeft->set_active(moptions.histogramPosition == 1); ckbFileBrowserToolbarSingleRow->set_active(moptions.FileBrowserToolbarSingleRow); ckbShowFilmStripToolBar->set_active(moptions.showFilmStripToolBar); diff --git a/rtgui/preferences.h b/rtgui/preferences.h index 6f922bbfc..1c05aaa82 100644 --- a/rtgui/preferences.h +++ b/rtgui/preferences.h @@ -147,6 +147,8 @@ class Preferences : Gtk::CheckButton* ctiffserialize; Gtk::ComboBoxText* curveBBoxPosC; + Gtk::ComboBoxText* complexitylocal; + Gtk::ComboBoxText* themeCBT; Gtk::FontButton* mainFontFB; Gtk::FontButton* colorPickerFontFB;