From 8818306f46e46abe35ebba714a50bf053c18c7c5 Mon Sep 17 00:00:00 2001 From: Desmis Date: Wed, 8 Feb 2017 15:49:59 +0100 Subject: [PATCH] Improve GUI expanders --- rtdata/languages/default | 2 +- rtengine/procparams.cc | 14 +++++++------- rtgui/locallab.cc | 36 ++++++++++++++++++++++-------------- rtgui/locallab.h | 1 + 4 files changed, 31 insertions(+), 22 deletions(-) diff --git a/rtdata/languages/default b/rtdata/languages/default index 2bb8e82ef..8a52cf990 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1745,7 +1745,7 @@ TP_LOCALLAB_SENSIS;Scope TP_LOCALLAB_SENSICB;Scope TP_LOCALLAB_SENSIBN;Scope TP_LOCALLAB_SENSIS_TOOLTIP;Adjust scope of action:\nSmall values limit action to colors very similar to those under the center spot.\nHigh values let the tool act upon a wider range of colors.\nValues smaller than 20 lead to a better algorithm. -TP_LOCALLAB_SHFR;Shape +TP_LOCALLAB_SETTINGS;Settings TP_LOCALLAB_STRENGTH;Noise TP_LOCALLAB_STYPE;Shape method TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index 849992f47..5d216112a 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -938,13 +938,13 @@ void LocallabParams::setDefaults() llcurve.push_back (DCT_Linear); cccurve.clear (); cccurve.push_back (DCT_Linear); - expcolor = true; - expblur = true; - exptonemap = true; - expreti = true; - expsharp = true; - expcbdl = true; - expdenoi = true; + expcolor = false; + expblur = false; + exptonemap = false; + expreti = false; + expsharp = false; + expcbdl = false; + expdenoi = false; for (int i = 0; i < 5; i ++) { mult[i] = 100; diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index 135241310..f0f394e57 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -47,6 +47,7 @@ Locallab::Locallab (): expsharp (new MyExpander (true, M ("TP_LOCALLAB_SHARP"))), expcbdl (new MyExpander (true, M ("TP_LOCALLAB_CBDL"))), expdenoi (new MyExpander (true, M ("TP_LOCALLAB_DENOIS"))), + expsettings (new MyExpander (false, M ("TP_LOCALLAB_SETTINGS"))), llCurveEditorG (new CurveEditorGroup (options.lastlocalCurvesDir, M ("TP_LOCALLAB_LUM"))), LocalcurveEditorgainT (new CurveEditorGroup (options.lastlocalCurvesDir, M ("TP_LOCALLAB_TRANSMISSIONGAIN"))), @@ -171,6 +172,9 @@ Locallab::Locallab (): shapeFrame->set_border_width (0); shapeFrame->set_label_align (0.025, 0.5); + expsettings->signal_button_release_event().connect_notify ( sigc::bind ( sigc::mem_fun (this, &Locallab::foldAllButMe), expsettings) ); + + expcolor->signal_button_release_event().connect_notify ( sigc::bind ( sigc::mem_fun (this, &Locallab::foldAllButMe), expcolor) ); enablecolorConn = expcolor->signal_enabled_toggled().connect ( sigc::bind ( sigc::mem_fun (this, &Locallab::enableToggled), expcolor) ); @@ -414,7 +418,7 @@ Locallab::Locallab (): avoid->set_active (false); avoidConn = avoid->signal_toggled().connect ( sigc::mem_fun (*this, &Locallab::avoidChanged) ); - pack_start (*nbspot); + shapeVBox->pack_start (*nbspot); pack_start (*anbspot); anbspot->hide();//keep anbspot - i used it to test diffrent algo... ctboxS->pack_start (*Smethod); @@ -445,8 +449,11 @@ Locallab::Locallab (): artifFrame->add (*artifVBox); shapeVBox->pack_start (*artifFrame); - shapeFrame->add (*shapeVBox); - pack_start (*shapeFrame); +// shapeFrame->add (*shapeVBox); +// pack_start (*shapeFrame); + + expsettings->add (*shapeVBox); + pack_start (*expsettings); colorVBox->set_spacing (2); colorVBox->set_border_width (4); @@ -717,7 +724,8 @@ Locallab::~Locallab() } void Locallab::foldAllButMe (GdkEventButton* event, MyExpander *expander) { - if (event->button == 2) { + if (event->button == 3) { + expsettings->set_expanded (expsettings == expander); expcolor->set_expanded (expcolor == expander); expblur->set_expanded (expblur == expander); exptonemap->set_expanded (exptonemap == expander); @@ -765,6 +773,7 @@ void Locallab::enableToggled (MyExpander *expander) void Locallab::writeOptions (std::vector &tpOpen) { + tpOpen.push_back (expsettings->get_expanded ()); tpOpen.push_back (expcolor->get_expanded ()); tpOpen.push_back (expblur->get_expanded ()); tpOpen.push_back (exptonemap->get_expanded ()); @@ -777,16 +786,15 @@ void Locallab::writeOptions (std::vector &tpOpen) void Locallab::updateToolState (std::vector &tpOpen) { - if (tpOpen.size() == 7) { - expcolor->set_expanded (tpOpen.at (0)); - expblur->set_expanded (tpOpen.at (1)); - exptonemap->set_expanded (tpOpen.at (2)); - expreti->set_expanded (tpOpen.at (3)); - expsharp->set_expanded (tpOpen.at (4)); - expcbdl->set_expanded (tpOpen.at (5)); - expdenoi->set_expanded (tpOpen.at (6)); - - + if (tpOpen.size() == 8) { + expsettings->set_expanded (tpOpen.at (0)); + expcolor->set_expanded (tpOpen.at (1)); + expblur->set_expanded (tpOpen.at (2)); + exptonemap->set_expanded (tpOpen.at (3)); + expreti->set_expanded (tpOpen.at (4)); + expsharp->set_expanded (tpOpen.at (5)); + expcbdl->set_expanded (tpOpen.at (6)); + expdenoi->set_expanded (tpOpen.at (7)); } } diff --git a/rtgui/locallab.h b/rtgui/locallab.h index 9b56f9ccc..2ff9bd02a 100644 --- a/rtgui/locallab.h +++ b/rtgui/locallab.h @@ -89,6 +89,7 @@ private: MyExpander* const expsharp; MyExpander* const expcbdl; MyExpander* const expdenoi; + MyExpander* const expsettings; sigc::connection lumaneutralPressedConn;