From 3f2e580bd7b0ab527f40a47f89d70b5e4483dede Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 23 Sep 2017 16:50:43 +0200 Subject: [PATCH 1/2] Hopefully fixes the ADD SET issues, #4100 --- rtgui/options.cc | 117 ++----------------------------------------- rtgui/preferences.cc | 3 +- 2 files changed, 5 insertions(+), 115 deletions(-) diff --git a/rtgui/options.cc b/rtgui/options.cc index 38be51931..45f4896d6 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -510,120 +510,9 @@ void Options::setDefaults () sndLngEditProcDone = "window-attention"; #endif - // Reminder: 0 = SET mode, 1 = ADD mode - baBehav = { - 1, // ADDSET_TC_EXPCOMP - 1, // ADDSET_TC_BRIGHTNESS - 1, // ADDSET_TC_BLACKLEVEL - 1, // ADDSET_TC_CONTRAST - 1, // ADDSET_SH_HIGHLIGHTS - 1, // ADDSET_SH_SHADOWS - 1, // ADDSET_SH_LOCALCONTRAST - 1, // ADDSET_LC_BRIGHTNESS - 1, // ADDSET_LC_CONTRAST - 1, // ADDSET_SHARP_AMOUNT - 1, // ADDSET_WB_TEMPERATURE - 1, // ADDSET_WB_GREEN - 1, // ADDSET_ROTATE_DEGREE - 1, // ADDSET_DIST_AMOUNT - 1, // ADDSET_PERSPECTIVE - 1, // ADDSET_CA - 1, // ADDSET_VIGN_AMOUNT - 1, // ADDSET_VIGN_RADIUS - 1, // ADDSET_VIGN_STRENGTH - 1, // ADDSET_VIGN_CENTER - 1, // ADDSET_LC_CHROMATICITY - 1, // ADDSET_TC_SATURATION - 1, // ADDSET_TC_HLCOMPAMOUNT - 1, // ADDSET_TC_HLCOMPTHRESH - 1, // ADDSET_TC_SHCOMP - 1, // ADDSET_DIRPYREQ - 1, // ADDSET_DIRPYRDN_LUMA - 1, // ADDSET_DIRPYRDN_LUDET - 1, // ADDSET_DIRPYRDN_CHROMA - 1, // ADDSET_DIRPYRDN_CHROMARED - 1, // ADDSET_DIRPYRDN_CHROMABLUE - 1, // ADDSET_DIRPYRDN_GAMMA - 1, // ADDSET_CHMIXER - 1, // ADDSET_PREPROCESS_GREENEQUIL - 1, // ADDSET_PREPROCESS_LINEDENOISE - 1, // ADDSET_RAWCACORR - 1, // ADDSET_RAWEXPOS_LINEAR - 1, // ADDSET_RAWEXPOS_PRESER - 1, // ADDSET_RAWEXPOS_BLACKS - 1, // ADDSET_SHARPENEDGE_AMOUNT - 1, // ADDSET_SHARPENMICRO_AMOUNT - 1, // ADDSET_SHARPENEDGE_PASS - 1, // ADDSET_SHARPENMICRO_UNIFORMITY - 1, // ADDSET_VIBRANCE_PASTELS - 1, // ADDSET_VIBRANCE_SATURATED - 1, // ADDSET_FREE_OUPUT_GAMMA - 1, // ADDSET_FREE_OUTPUT_SLOPE - 1, // ADDSET_CAT_DEGREE - 1, // ADDSET_CAT_ADAPSCEN - 1, // ADDSET_CAT_ADAPLUM - 1, // ADDSET_CAT_LIGHT - 1, // ADDSET_CAT_RSTPRO - 1, // ADDSET_CAT_BADPIX - 1, // ADDSET_CAT_JLIGHT - 1, // ADDSET_CAT_CHROMA - 1, // ADDSET_CAT_CONTRAST - 1, // ADDSET_CAT_CHROMA_S - 1, // ADDSET_CAT_CHROMA_M - 1, // ADDSET_CAT_HUE - 1, // ADDSET_CAT_BADPIX - 1, // ADDSET_WB_EQUAL - 1, // ADDSET_GRADIENT_DEGREE - 1, // ADDSET_GRADIENT_FEATHER - 1, // ADDSET_GRADIENT_STRENGTH - 1, // ADDSET_GRADIENT_CENTER - 1, // ADDSET_PCVIGNETTE_STRENGTH - 1, // ADDSET_PCVIGNETTE_FEATHER - 1, // ADDSET_PCVIGNETTE_ROUNDNESS - 1, // ADDSET_BLACKWHITE_HUES - 1, // ADDSET_BLACKWHITE_GAMMA - 1, // ADDSET_DIRPYREQ_THRESHOLD - 1, // ADDSET_DIRPYREQ_SKINPROTECT - 1, // ADDSET_COLORTONING_SPLIT - 1, // ADDSET_COLORTONING_SATTHRESHOLD - 1, // ADDSET_COLORTONING_SATOPACITY - 1, // ADDSET_COLORTONING_BALANCE - 1, // ADDSET_COLORTONING_STRENGTH - 1, // ADDSET_DIRPYRDN_PASSES - 1, // ADDSET_RAWFFCLIPCONTROL - 1, // ADDSET_FILMSIMULATION_STRENGTH - 1, // ADDSET_WA - 1, // ADDSET_WA_SKINPROTECT - 1, // ADDSET_WA_THRESHOLD2 - 1, // ADDSET_WA_THRR - 1, // ADDSET_WA_THRRH - 1, // ADDSET_WA_THRESHOLD - 1, // ADDSET_WA_THRESHOLD2 - 1, // ADDSET_WA_CHRO - 1, // ADDSET_WA_CHROMA - 1, // ADDSET_WA_CONTRAST - 1, // ADDSET_WA_RESCON - 1, // ADDSET_WA_RESCONH - 1, // ADDSET_WA_RESCHRO - 1, // ADDSET_WA_SKYPROTECT - 1, // ADDSET_WA_EDGRAD - 1, // ADDSET_WA_EDGVAL - 1, // ADDSET_WA_STRENGTH - 1, // ADDSET_WA_EDGEDETECT - 1, // ADDSET_WA_EDGEDETECTTHR - 1, // ADDSET_WA_EDGEDETECTTHR2 - 1, // ADDSET_WA_TMRS - 1, // ADDSET_WA_GAMMA - 1, // ADDSET_RETI_STR - 1, // ADDSET_RETI_NEIGH - 1, // ADDSET_RETI_LIMD - 1, // ADDSET_RETI_GAIN - 1, // ADDSET_RETI_OFFS - 1, // ADDSET_RETI_VART - 1, // ADDSET_RETI_GAM - 1, // ADDSET_RETI_SLO - 1, // ADDSET_WB_TEMPBIAS - }; + // 0 = SET mode, 1 = ADD mode + baBehav.clear(); + baBehav.resize(ADDSET_PARAM_NUM, 0); rtSettings.darkFramesPath = ""; rtSettings.flatFieldsPath = ""; diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 98b01561a..9d5afda8d 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -216,6 +216,8 @@ Gtk::Widget* Preferences::getBatchProcPanel () appendBehavList (mi, M ("TP_SHARPENING_AMOUNT"), ADDSET_SHARP_AMOUNT, false); appendBehavList (mi, M ("TP_SHARPENING_RLD_DAMPING"), ADDSET_SHARP_DAMPING, false); appendBehavList (mi, M ("TP_SHARPENING_RLD_ITERATIONS"), ADDSET_SHARP_ITER, false); + appendBehavList (mi, M ("TP_SHARPENING_EDTOLERANCE"), ADDSET_SHARP_EDGETOL, false); + appendBehavList (mi, M ("TP_SHARPENING_HALOCONTROL"), ADDSET_SHARP_HALOCTRL, false); mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_SHARPENEDGE_LABEL")); @@ -342,7 +344,6 @@ Gtk::Widget* Preferences::getBatchProcPanel () mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_WAVELET_LABEL")); appendBehavList (mi, M ("TP_WAVELET_LEVELS"), ADDSET_WA_THRES, true); - //appendBehavList (mi, M("TP_WAVELET_CONTRAST"), ADDSET_WA, true); appendBehavList (mi, M ("TP_WAVELET_THRESHOLD"), ADDSET_WA_THRESHOLD, true); appendBehavList (mi, M ("TP_WAVELET_THRESHOLD2"), ADDSET_WA_THRESHOLD2, true); appendBehavList (mi, M ("TP_WAVELET_CHRO"), ADDSET_WA_CHRO, true); From 31af0935d826c40001d59e7ca0defe23d0d3d791 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Sun, 24 Sep 2017 01:10:08 +0200 Subject: [PATCH 2/2] Some changes to addsetid code in preferences --- rtgui/preferences.cc | 70 +++++++++++++++++++------------------------- rtgui/preferences.h | 2 ++ 2 files changed, 32 insertions(+), 40 deletions(-) diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 9d5afda8d..b228c4dc7 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -420,22 +420,21 @@ void Preferences::appendBehavList (Gtk::TreeModel::iterator& parent, Glib::ustri ci->set_value (behavColumns.addsetid, id); } +void Preferences::behAddSetRadioToggled (const Glib::ustring& path, bool add) +{ + Gtk::TreeModel::iterator iter = behModel->get_iter (path); + iter->set_value(behavColumns.badd, add); + iter->set_value(behavColumns.bset, !add); +} + void Preferences::behAddRadioToggled (const Glib::ustring& path) { - - Gtk::TreeModel::iterator iter = behModel->get_iter (path); - //bool set = iter->get_value (behavColumns.bset); - iter->set_value (behavColumns.bset, false); - iter->set_value (behavColumns.badd, true); + behAddSetRadioToggled(path, true); } void Preferences::behSetRadioToggled (const Glib::ustring& path) { - - Gtk::TreeModel::iterator iter = behModel->get_iter (path); - //bool add = iter->get_value (behavColumns.badd); - iter->set_value (behavColumns.bset, true); - iter->set_value (behavColumns.badd, false); + behAddSetRadioToggled(path, false); } @@ -2051,14 +2050,13 @@ void Preferences::fillPreferences () moptions.baBehav.resize (ADDSET_PARAM_NUM); - for (size_t i = 0; i < moptions.baBehav.size(); i++) - for (Gtk::TreeIter sections = behModel->children().begin(); sections != behModel->children().end(); sections++) - for (Gtk::TreeIter adjs = sections->children().begin(); adjs != sections->children().end(); adjs++) - if (adjs->get_value (behavColumns.addsetid) == (int)i) { - adjs->set_value (behavColumns.badd, moptions.baBehav[i] == 1); - adjs->set_value (behavColumns.bset, moptions.baBehav[i] != 1); - break; - } + for (Gtk::TreeIter sections = behModel->children().begin(); sections != behModel->children().end(); ++sections) { + for (Gtk::TreeIter adjs = sections->children().begin(); adjs != sections->children().end(); ++adjs) { + const bool add = moptions.baBehav[adjs->get_value(behavColumns.addsetid)]; + adjs->set_value (behavColumns.badd, add); + adjs->set_value (behavColumns.bset, !add); + } + } addc.block (false); setc.block (false); @@ -2563,32 +2561,24 @@ bool Preferences::splashClosed (GdkEventAny* event) return true; } +void Preferences::behAddSetAllPressed (bool add) +{ + moptions.baBehav.clear(); + moptions.baBehav.resize(ADDSET_PARAM_NUM, add); + for (Gtk::TreeIter sections = behModel->children().begin(); sections != behModel->children().end(); ++sections) { + for (Gtk::TreeIter adjs = sections->children().begin(); adjs != sections->children().end(); ++adjs) { + adjs->set_value(behavColumns.badd, add); + adjs->set_value(behavColumns.bset, !add); + } + } +} + void Preferences::behAddAllPressed () { - - if (moptions.baBehav.size() == ADDSET_PARAM_NUM) { - for (size_t i = 0; i < moptions.baBehav.size(); i++) - for (Gtk::TreeIter sections = behModel->children().begin(); sections != behModel->children().end(); sections++) - for (Gtk::TreeIter adjs = sections->children().begin(); adjs != sections->children().end(); adjs++) - if (adjs->get_value (behavColumns.addsetid) == (int)i) { - adjs->set_value (behavColumns.badd, true); - adjs->set_value (behavColumns.bset, false); - break; - } - } + behAddSetAllPressed(true); } void Preferences::behSetAllPressed () { - - if (moptions.baBehav.size() == ADDSET_PARAM_NUM) { - for (size_t i = 0; i < moptions.baBehav.size(); i++) - for (Gtk::TreeIter sections = behModel->children().begin(); sections != behModel->children().end(); sections++) - for (Gtk::TreeIter adjs = sections->children().begin(); adjs != sections->children().end(); adjs++) - if (adjs->get_value (behavColumns.addsetid) == (int)i) { - adjs->set_value (behavColumns.badd, false); - adjs->set_value (behavColumns.bset, true); - break; - } - } + behAddSetAllPressed(false); } diff --git a/rtgui/preferences.h b/rtgui/preferences.h index c9659d3dc..3849a175e 100644 --- a/rtgui/preferences.h +++ b/rtgui/preferences.h @@ -275,8 +275,10 @@ public: void clearThumbImagesPressed (); void clearAllPressed (); + void behAddSetRadioToggled (const Glib::ustring& path, bool add); void behAddRadioToggled (const Glib::ustring& path); void behSetRadioToggled (const Glib::ustring& path); + void behAddSetAllPressed (bool add); void behAddAllPressed (); void behSetAllPressed ();