From 667e2ba4e429d6f4219b363e5c9938b160d9ba5c Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Wed, 31 Jan 2018 19:35:29 +0100 Subject: [PATCH 1/8] Added Windows installer context menu entries, #3933 --- tools/win/InnoSetup/WindowsInnoSetup.iss.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/win/InnoSetup/WindowsInnoSetup.iss.in b/tools/win/InnoSetup/WindowsInnoSetup.iss.in index 55305d5f0..73ce95f69 100644 --- a/tools/win/InnoSetup/WindowsInnoSetup.iss.in +++ b/tools/win/InnoSetup/WindowsInnoSetup.iss.in @@ -89,6 +89,8 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ ;Name: "desktopicon\common"; Description: "For all users"; GroupDescription: "Additional icons:"; Flags: exclusive ;Name: "desktopicon\user"; Description: "For the current user only"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 +Name: regBrowseFolder; Description: "Add ""Browse with RawTherapee"" option to context menu when right-clicking on a folder."; GroupDescription: File extensions: +Name: regOpenFile; Description: "Add ""Open with RawTherapee"" option to context menu when right-clicking on a file."; GroupDescription: File extensions: [Files] Source: "{#MyBuildBasePath}\rawtherapee*.exe"; DestDir: "{app}"; Flags: ignoreversion @@ -125,3 +127,8 @@ Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} {#MyA [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent +[Registry] +Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\Browse with RawTherapee"; ValueType: string; ValueData: "Browse with RawTherapee"; Flags: uninsdeletekey; Tasks: regBrowseFolder +Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\Browse with RawTherapee\command"; ValueType: string; ValueData: "{app}\{#MyAppExeName} -w ""%1"""; Flags: uninsdeletekey; Tasks: regBrowseFolder +Root: HKCU; Subkey: "SOFTWARE\Classes\*\shell\Open with RawTherapee"; ValueType: string; ValueData: "Open with RawTherapee"; Flags: uninsdeletekey; Tasks: regOpenFile +Root: HKCU; Subkey: "SOFTWARE\Classes\*\shell\Open with RawTherapee\command"; ValueType: string; ValueData: "{app}\{#MyAppExeName} -R ""%1"""; Flags: uninsdeletekey; Tasks: regOpenFile From db456825ac118d6d573d06acd2a4d5a0c4499905 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Wed, 31 Jan 2018 22:59:28 +0100 Subject: [PATCH 2/8] InnoSetup script update #3933 - Include GDB if available, - Include program version in registry keys, - Include share folder --- tools/win/InnoSetup/WindowsInnoSetup.iss.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/win/InnoSetup/WindowsInnoSetup.iss.in b/tools/win/InnoSetup/WindowsInnoSetup.iss.in index 73ce95f69..235d64968 100644 --- a/tools/win/InnoSetup/WindowsInnoSetup.iss.in +++ b/tools/win/InnoSetup/WindowsInnoSetup.iss.in @@ -102,6 +102,7 @@ Source: "{#MyBuildBasePath}\images\*"; DestDir: "{app}\images\"; Flags: ignoreve Source: "{#MyBuildBasePath}\languages\*"; DestDir: "{app}\languages\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyBuildBasePath}\licenses\*"; DestDir: "{app}\licenses\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyBuildBasePath}\lib\*"; DestDir: "{app}\lib\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "{#MyBuildBasePath}\share\*"; DestDir: "{app}\share\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyBuildBasePath}\profiles\*"; DestDir: "{app}\profiles\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyBuildBasePath}\sounds\*"; DestDir: "{app}\sounds\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyBuildBasePath}\themes\*"; DestDir: "{app}\themes\"; Flags: ignoreversion recursesubdirs createallsubdirs @@ -113,14 +114,14 @@ Source: "{#MyBuildBasePath}\options"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\*.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\gspawn-win{#MyBitDepth}-helper.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\gspawn-win{#MyBitDepth}-helper-console.exe"; DestDir: "{app}"; Flags: ignoreversion -;Source: "{#MyBuildBasePath}\gdb.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#MyBuildBasePath}\gdb.exe"; DestDir: "{app}"; Flags: skipifsourcedoesntexist ignoreversion Source: "{#MyBuildBasePath}\fonts\DroidSansMonoSlashed.ttf"; DestDir: "{fonts}"; FontInstall: "Droid Sans Mono Slashed"; Flags: onlyifdoesntexist uninsneveruninstall ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" -Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" +Name: "{group}\{cm:UninstallProgram,{#MyAppName} {#MyAppVersion}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon From 9a8d2bd8ff9fb72978fede9668530a9797170d26 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 1 Feb 2018 11:04:13 +0100 Subject: [PATCH 3/8] moved local contrast to the detail panel --- rtgui/partialpastedlg.cc | 10 +++++----- rtgui/preferences.cc | 16 ++++++++-------- rtgui/toolpanelcoord.cc | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc index f11a94393..0f283419a 100644 --- a/rtgui/partialpastedlg.cc +++ b/rtgui/partialpastedlg.cc @@ -49,7 +49,6 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren // Basic Settings: wb = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_WHITEBALANCE"))); exposure = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EXPOSURE"))); - localcontrast = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_LOCALCONTRAST"))); sh = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHADOWSHIGHLIGHTS"))); epd = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EPD"))); fattal = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_TM_FATTAL"))); @@ -59,6 +58,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren // Detail Settings: sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING"))); + localcontrast = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_LOCALCONTRAST"))); sharpenedge = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENEDGE"))); sharpenmicro = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENMICRO"))); impden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_IMPULSEDENOISE"))); @@ -146,7 +146,6 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren vboxes[0]->pack_start (*hseps[0], Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*wb, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*exposure, Gtk::PACK_SHRINK, 2); - vboxes[0]->pack_start (*localcontrast, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*sh, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*epd, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*fattal, Gtk::PACK_SHRINK, 2); @@ -158,6 +157,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren vboxes[1]->pack_start (*detail, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*hseps[1], Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpen, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*localcontrast, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpenedge, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpenmicro, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*impden, Gtk::PACK_SHRINK, 2); @@ -303,7 +303,6 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren // Basic Settings wbConn = wb->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); exposureConn = exposure->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); - localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); shConn = sh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); epdConn = epd->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); fattalConn = fattal->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); @@ -313,6 +312,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren // Detail Settings: sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); gradsharpenConn = sharpenedge->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); microcontrastConn = sharpenmicro->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); impdenConn = impden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); @@ -486,7 +486,6 @@ void PartialPasteDlg::basicToggled () ConnectionBlocker wbBlocker(wbConn); ConnectionBlocker exposureBlocker(exposureConn); - ConnectionBlocker localcontrastBlocker(localcontrastConn); ConnectionBlocker shBlocker(shConn); ConnectionBlocker epdBlocker(epdConn); ConnectionBlocker fattalBlocker(fattalConn); @@ -498,7 +497,6 @@ void PartialPasteDlg::basicToggled () wb->set_active (basic->get_active ()); exposure->set_active (basic->get_active ()); - localcontrast->set_active(basic->get_active()); sh->set_active (basic->get_active ()); epd->set_active (basic->get_active ()); fattal->set_active (basic->get_active ()); @@ -511,6 +509,7 @@ void PartialPasteDlg::detailToggled () { ConnectionBlocker sharpenBlocker(sharpenConn); + ConnectionBlocker localcontrastBlocker(localcontrastConn); ConnectionBlocker gradsharpenBlocker(gradsharpenConn); ConnectionBlocker microcontrastBlocker(microcontrastConn); ConnectionBlocker impdenBlocker(impdenConn); @@ -521,6 +520,7 @@ void PartialPasteDlg::detailToggled () detail->set_inconsistent (false); sharpen->set_active (detail->get_active ()); + localcontrast->set_active(detail->get_active()); sharpenedge->set_active (detail->get_active ()); sharpenmicro->set_active (detail->get_active ()); impden->set_active (detail->get_active ()); diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 5171984ed..97fd10b25 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -187,14 +187,6 @@ Gtk::Widget* Preferences::getBatchProcPanel () appendBehavList (mi, M ("TP_EXPOSURE_CONTRAST"), ADDSET_TC_CONTRAST, false); appendBehavList (mi, M ("TP_EXPOSURE_SATURATION"), ADDSET_TC_SATURATION, false); - mi = behModel->append(); - mi->set_value(behavColumns.label, M("TP_LOCALCONTRAST_LABEL")); - appendBehavList(mi, M("TP_LOCALCONTRAST_RADIUS"), ADDSET_LOCALCONTRAST_RADIUS, false); - appendBehavList(mi, M("TP_LOCALCONTRAST_AMOUNT"), ADDSET_LOCALCONTRAST_AMOUNT, false); - appendBehavList(mi, M("TP_LOCALCONTRAST_DARKNESS"), ADDSET_LOCALCONTRAST_DARKNESS, false); - appendBehavList(mi, M("TP_LOCALCONTRAST_LIGHTNESS"), ADDSET_LOCALCONTRAST_LIGHTNESS, false); - - mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_EPD_LABEL")); appendBehavList (mi, M ("TP_EPD_STRENGTH"), ADDSET_EPD_STRENGTH, false); @@ -240,6 +232,14 @@ Gtk::Widget* Preferences::getBatchProcPanel () 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_LOCALCONTRAST_LABEL")); + appendBehavList(mi, M("TP_LOCALCONTRAST_RADIUS"), ADDSET_LOCALCONTRAST_RADIUS, false); + appendBehavList(mi, M("TP_LOCALCONTRAST_AMOUNT"), ADDSET_LOCALCONTRAST_AMOUNT, false); + appendBehavList(mi, M("TP_LOCALCONTRAST_DARKNESS"), ADDSET_LOCALCONTRAST_DARKNESS, false); + appendBehavList(mi, M("TP_LOCALCONTRAST_LIGHTNESS"), ADDSET_LOCALCONTRAST_LIGHTNESS, false); + + mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_SHARPENEDGE_LABEL")); appendBehavList (mi, M ("TP_SHARPENEDGE_PASSES"), ADDSET_SHARPENEDGE_PASS, false); diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 00582942c..4b3a7fae1 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -41,12 +41,12 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), hasChan coarse = Gtk::manage (new CoarsePanel ()); toneCurve = Gtk::manage (new ToneCurve ()); shadowshighlights = Gtk::manage (new ShadowsHighlights ()); - localContrast = Gtk::manage(new LocalContrast()); impulsedenoise = Gtk::manage (new ImpulseDenoise ()); defringe = Gtk::manage (new Defringe ()); dirpyrdenoise = Gtk::manage (new DirPyrDenoise ()); epd = Gtk::manage (new EdgePreservingDecompositionUI ()); sharpening = Gtk::manage (new Sharpening ()); + localContrast = Gtk::manage(new LocalContrast()); sharpenEdge = Gtk::manage (new SharpenEdge ()); sharpenMicro = Gtk::manage (new SharpenMicro ()); lcurve = Gtk::manage (new LCurve ()); @@ -104,9 +104,9 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), hasChan addPanel (colorPanel, vibrance); addPanel (colorPanel, chmixer); addPanel (colorPanel, blackwhite); - addPanel (exposurePanel, localContrast); addPanel (exposurePanel, shadowshighlights); addPanel (detailsPanel, sharpening); + addPanel (detailsPanel, localContrast); addPanel (detailsPanel, sharpenEdge); addPanel (detailsPanel, sharpenMicro); addPanel (colorPanel, hsvequalizer); From 7f969648b39cc31e31c2144ca7a449523b58fa8c Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 1 Feb 2018 11:06:34 +0100 Subject: [PATCH 4/8] fixed the behaviour of add/set for local contrast during batch edits --- rtgui/paramsedited.cc | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index a13274d67..e31a01898 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -1403,18 +1403,19 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten if (localContrast.enabled) { toEdit.localContrast.enabled = mods.localContrast.enabled; } - if (localContrast.radius) { - toEdit.localContrast.radius = mods.localContrast.radius; - } - if (localContrast.amount) { - toEdit.localContrast.amount = mods.localContrast.amount; - } - if (localContrast.darkness) { - toEdit.localContrast.darkness = mods.localContrast.darkness; - } - if (localContrast.lightness) { - toEdit.localContrast.lightness = mods.localContrast.lightness; - } + +#define ADDSETVAL_(v, i) \ + do { \ + if ( v ) { \ + toEdit. v = dontforceSet && options.baBehav[ i ] ? toEdit. v + mods. v : mods. v ; \ + } \ + } while (false) + + ADDSETVAL_(localContrast.radius, ADDSET_LOCALCONTRAST_RADIUS); + ADDSETVAL_(localContrast.amount, ADDSET_LOCALCONTRAST_AMOUNT); + ADDSETVAL_(localContrast.darkness, ADDSET_LOCALCONTRAST_DARKNESS); + ADDSETVAL_(localContrast.lightness, ADDSET_LOCALCONTRAST_LIGHTNESS); +#undef ADDSETVAL_ if (rgbCurves.enabled) { toEdit.rgbCurves.enabled = mods.rgbCurves.enabled; From db8024ed3405a3e7a1ddd35583a10090a2e5a693 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 1 Feb 2018 11:44:02 +0100 Subject: [PATCH 5/8] fixed typo (thanks Beep6581) --- rtgui/partialpastedlg.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc index 0f283419a..27a56e38e 100644 --- a/rtgui/partialpastedlg.cc +++ b/rtgui/partialpastedlg.cc @@ -312,7 +312,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren // Detail Settings: sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); - localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); + localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); gradsharpenConn = sharpenedge->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); microcontrastConn = sharpenmicro->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); impdenConn = impden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); From fe47db88cb56f7b196da2ddd305983798d0c0672 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Thu, 1 Feb 2018 13:29:15 +0100 Subject: [PATCH 6/8] Cosmetic formatting of ADDSETVAL_ #4349 --- rtgui/paramsedited.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index e31a01898..0833da4e8 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -1404,11 +1404,11 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten toEdit.localContrast.enabled = mods.localContrast.enabled; } -#define ADDSETVAL_(v, i) \ - do { \ - if ( v ) { \ - toEdit. v = dontforceSet && options.baBehav[ i ] ? toEdit. v + mods. v : mods. v ; \ - } \ +#define ADDSETVAL_(v, i) \ + do { \ + if ( v ) { \ + toEdit. v = dontforceSet && options.baBehav[ i ] ? toEdit. v + mods. v : mods. v ; \ + } \ } while (false) ADDSETVAL_(localContrast.radius, ADDSET_LOCALCONTRAST_RADIUS); From f3b5fc791e3cd8fd612dc5fffcf4301ab6578a50 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 1 Feb 2018 13:50:41 +0100 Subject: [PATCH 7/8] histmatching: use the cache even when not in verbose mode Fixes #4350 (thanks heckflosse!) --- rtengine/histmatching.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtengine/histmatching.cc b/rtengine/histmatching.cc index aaeada81a..6f1387416 100644 --- a/rtengine/histmatching.cc +++ b/rtengine/histmatching.cc @@ -180,9 +180,9 @@ void RawImageSource::getAutoMatchedToneCurve(std::vector &outCurve) if (!histMatchingCache.empty()) { if (settings->verbose) { std::cout << "tone curve found in cache" << std::endl; - outCurve = histMatchingCache; - return; } + outCurve = histMatchingCache; + return; } outCurve = { DCT_Linear }; From 99f73ba8432ee887054d6237851d08c5ec886eaf Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Thu, 1 Feb 2018 13:55:48 +0100 Subject: [PATCH 8/8] Better on/off state separation for text toggle buttons #4350 --- rtdata/themes/RawTherapee-GTK3-20_.css | 9 +++++++++ rtdata/themes/RawTherapee-GTK3-_19.css | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/rtdata/themes/RawTherapee-GTK3-20_.css b/rtdata/themes/RawTherapee-GTK3-20_.css index a2fadeca3..f32455ca3 100644 --- a/rtdata/themes/RawTherapee-GTK3-20_.css +++ b/rtdata/themes/RawTherapee-GTK3-20_.css @@ -324,6 +324,15 @@ scale:disabled trough { padding: 4px; } +/* Better on/off state separation for text toggle buttons, e.g. auto-levels or histogram matching. */ +button.text-button { + background-image: linear-gradient(to bottom, rgba(100,100,100,.3), rgba(30,30,30,.3)); +} + +button.text-button:checked { + background-image: linear-gradient(to bottom, rgba(30,30,30,.3), rgba(0,0,0,.4)); +} + separator { color: #363636; margin: 5px; diff --git a/rtdata/themes/RawTherapee-GTK3-_19.css b/rtdata/themes/RawTherapee-GTK3-_19.css index 8443768c3..cfbec4355 100644 --- a/rtdata/themes/RawTherapee-GTK3-_19.css +++ b/rtdata/themes/RawTherapee-GTK3-_19.css @@ -506,3 +506,11 @@ GtkNotebook { padding-left: 3px; padding-right: 3px; } + +GtkButton.text-button { + background-image: linear-gradient(to bottom, rgba(100,100,100,.3), rgba(30,30,30,.3)); +} + +GtkButton.text-button:checked { + background-image: linear-gradient(to bottom, rgba(30,30,30,.3), rgba(0,0,0,.4)); +}