diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index 257807ca1..bf1a12876 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -1316,13 +1316,18 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1437,7 +1442,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!NAVIGATOR_B;B:
!NAVIGATOR_G;G:
@@ -1751,16 +1756,25 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1789,6 +1803,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified)
index c9790898a..38c4a37fe 100644
--- a/rtdata/languages/Chinese (Simplified)
+++ b/rtdata/languages/Chinese (Simplified)
@@ -1387,13 +1387,18 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1513,7 +1518,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!MAIN_TOOLTIP_PREVIEWFOCUSMASK;Preview the focus mask.\nShortcut: Shift-f\n\nMore accurate on images with shallow depth of field, low noise and at higher zoom levels.\nZoom out to 10-30% to improve detection accuracy on noisy images.
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
@@ -1699,16 +1704,25 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1734,6 +1748,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!TP_COLORTONING_TWOBY;Special a* and b*
!TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable.
!TP_COLORTONING_TWOSTD;Standard chroma
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEFRINGE_THRESHOLD;Threshold
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
diff --git a/rtdata/languages/Chinese (Traditional) b/rtdata/languages/Chinese (Traditional)
index 91574c9d0..4c4e727c1 100644
--- a/rtdata/languages/Chinese (Traditional)
+++ b/rtdata/languages/Chinese (Traditional)
@@ -984,13 +984,18 @@ TP_WBALANCE_TEMPERATURE;色溫
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1133,7 +1138,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1554,16 +1559,25 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1596,6 +1610,8 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 5ccce935a..51873b391 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -2179,13 +2179,18 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!HISTORY_MSG_489;DRC - Detail
!HISTORY_MSG_490;DRC - Amount
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -2252,7 +2257,7 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!ICCPROFCREATOR_SLOPE;Slope
!ICCPROFCREATOR_TRC_PRESET;Tone response curve:
!MAIN_BUTTON_ICCPROFCREATOR;ICC Profile Creator
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!PARTIALPASTE_DEHAZE;Haze removal
!PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter
!PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift
@@ -2282,16 +2287,27 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance
!TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended.
!TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%)
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Dansk b/rtdata/languages/Dansk
index 4a2e3c6d4..beb4f2711 100644
--- a/rtdata/languages/Dansk
+++ b/rtdata/languages/Dansk
@@ -979,13 +979,18 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1129,7 +1134,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1551,16 +1556,25 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1593,6 +1607,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index 74015b509..8cc1bc000 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -72,6 +72,7 @@
#71 28.09.2018 Korrekturen (TooWaBoo) RT 5.5
#72 05.10.2018 Korrekturen (TooWaBoo) RT 5.5
#73 21.11.2018 Erweiterung (TooWaBoo) RT 5.5
+#74 24.11.2018 Erweiterung (TooWaBoo) RT 5.5
ABOUT_TAB_BUILD;Version
ABOUT_TAB_CREDITS;Danksagungen
@@ -805,13 +806,18 @@ HISTORY_MSG_493;(L*a*b*)
HISTORY_MSG_CLAMPOOG;(Belichtung) - Farben\nauf Farbraum beschränken
HISTORY_MSG_COLORTONING_LABGRID_VALUE;(Farbanpassungen)\nL*a*b*-Farbkorrektur
HISTORY_MSG_COLORTONING_LABREGION_AB;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich
+HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Kanal
HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - C-Maske
HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - H-Maske
HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Helligkeit
HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - L-Maske
HISTORY_MSG_COLORTONING_LABREGION_LIST;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Liste
+HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Maskenunschärfe
+HISTORY_MSG_COLORTONING_LABREGION_OFFSET;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Versatz
+HISTORY_MSG_COLORTONING_LABREGION_POWER;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Verstärkung
HISTORY_MSG_COLORTONING_LABREGION_SATURATION;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Sättigung
HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Maske anzeigen
+HISTORY_MSG_COLORTONING_LABREGION_SLOPE;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Steigung
HISTORY_MSG_DEHAZE_DEPTH;(Bildschleier entfernen)\nTiefe
HISTORY_MSG_DEHAZE_ENABLED;(Bildschleier entfernen)
HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;(Bildschleier entfernen)\nMaske anzeigen
@@ -1004,7 +1010,7 @@ MAIN_TOOLTIP_PREVIEWFOCUSMASK;Vorschau Fokusmaske\nTaste: Umschalt + f
MAIN_TOOLTIP_PREVIEWG;Vorschau Grün-Kanal\nTaste: g
MAIN_TOOLTIP_PREVIEWL;Vorschau Helligkeit\nTaste: v\n\n0.299·R + 0.587·G + 0.114·B
MAIN_TOOLTIP_PREVIEWR;Vorschau Rot-Kanal\nTaste: r
-MAIN_TOOLTIP_PREVIEWSHARPMASK;Schärfungs-Kontroll-Maske ein-/ausschalten.\n\nFunktioniert nur bei aktivierter Schärfung\nund Zoom >= 100%.
+MAIN_TOOLTIP_PREVIEWSHARPMASK;Schärfungs-Kontroll-Maske ein-/ausschalten.\n\nFunktioniert nur bei aktivierter Schärfung\nund Zoom >= 100%.\nTaste: p
MAIN_TOOLTIP_QINFO;Bildinformationen ein-/ausblenden.\nTaste: i
MAIN_TOOLTIP_SHOWHIDELP1;Linkes Bedienfeld ein-/ausblenden.\nTaste: l
MAIN_TOOLTIP_SHOWHIDERP1;Rechtes Bedienfeld ein-/ausblenden.\nTaste: Alt + l
@@ -1544,14 +1550,23 @@ TP_COLORTONING_LABGRID;L*a*b*-Farbkorrektur
TP_COLORTONING_LABGRID_VALUES;HL: a=%1, b=%2\nS: a=%3, b=%4
TP_COLORTONING_LABREGIONS;L*a*b*-Farbkorrektur Bereiche
TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+TP_COLORTONING_LABREGION_CHANNEL;Kanal
+TP_COLORTONING_LABREGION_CHANNEL_ALL;Alle
+TP_COLORTONING_LABREGION_CHANNEL_B;Blau
+TP_COLORTONING_LABREGION_CHANNEL_G;Grün
+TP_COLORTONING_LABREGION_CHANNEL_R;Rot
TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
TP_COLORTONING_LABREGION_HUEMASK;H
TP_COLORTONING_LABREGION_LIGHTNESS;Helligkeit
TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
TP_COLORTONING_LABREGION_LIST_TITLE;Farbkorrektur
TP_COLORTONING_LABREGION_MASK;Maske
+TP_COLORTONING_LABREGION_MASKBLUR;Maskenunschärfe
+TP_COLORTONING_LABREGION_OFFSET;Versatz
+TP_COLORTONING_LABREGION_POWER;Verstärkung
TP_COLORTONING_LABREGION_SATURATION;Sättigung
TP_COLORTONING_LABREGION_SHOWMASK;Maske anzeigen
+TP_COLORTONING_LABREGION_SLOPE;Steigung
TP_COLORTONING_LUMA;Luminanz
TP_COLORTONING_LUMAMODE;Luminanz schützen
TP_COLORTONING_LUMAMODE_TOOLTIP;Wenn aktiviert, wird die Luminanz der Farben Rot, Grün, Cyan, Blau... geschützt.
@@ -1591,7 +1606,8 @@ TP_CROP_GUIDETYPE;Hilfslinien:
TP_CROP_H;Höhe
TP_CROP_LABEL;Ausschnitt
TP_CROP_PPI;PPI =
-TP_CROP_SELECTCROP;Ausschnitt wählen
+TP_CROP_RESETCROP;Zurücksetzen
+TP_CROP_SELECTCROP;Ausschnitt
TP_CROP_W;Breite
TP_CROP_X;Links
TP_CROP_Y;Oben
diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK)
index 07046d0e5..648eca675 100644
--- a/rtdata/languages/English (UK)
+++ b/rtdata/languages/English (UK)
@@ -73,6 +73,7 @@ TP_COLORAPP_TCMODE_COLORF;Colourfulness
TP_COLORTONING_COLOR;Colour
TP_COLORTONING_LABEL;Colour Toning
TP_COLORTONING_LABGRID;L*a*b* colour correction grid
+TP_COLORTONING_LABREGIONS;Colour correction regions
TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change colour (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* blending", "RGB sliders" and "RGB curves" use interpolated colour blending.\n"Colour balance (Shadows/Midtones/Highlights)" and "Saturation 2 colours" use direct colours.\n\nThe Black-and-White tool can be enabled when using any colour toning method, which allows for colour toning.
TP_COLORTONING_SPLITCOCO;Colour Balance Shadows/Midtones/Highlights
@@ -824,13 +825,18 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!HISTORY_MSG_491;White Balance
!HISTORY_MSG_492;RGB Curves
!HISTORY_MSG_493;L*a*b* Adjustments
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1013,7 +1019,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_QINFO;Quick info on the image.\nShortcut: i
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
@@ -1510,16 +1516,24 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COLORTONING_HUE;Hue
!TP_COLORTONING_LAB;L*a*b* blending
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_METHOD;Method
@@ -1553,9 +1567,11 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_CROP_H;Height
!TP_CROP_LABEL;Crop
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_CROP_W;Width
-!TP_CROP_X;X
-!TP_CROP_Y;Y
+!TP_CROP_X;Left
+!TP_CROP_Y;Top
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US)
index e1d55b2a1..ead6f7abb 100644
--- a/rtdata/languages/English (US)
+++ b/rtdata/languages/English (US)
@@ -734,13 +734,18 @@
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -930,7 +935,7 @@
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_QINFO;Quick info on the image.\nShortcut: i
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
@@ -1466,16 +1471,25 @@
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1515,9 +1529,11 @@
!TP_CROP_H;Height
!TP_CROP_LABEL;Crop
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_CROP_W;Width
-!TP_CROP_X;X
-!TP_CROP_Y;Y
+!TP_CROP_X;Left
+!TP_CROP_Y;Top
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index da37e03fd..dfd0bc84b 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -1689,13 +1689,18 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1801,7 +1806,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!NAVIGATOR_B;B:
!NAVIGATOR_G;G:
@@ -1938,19 +1943,30 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Euskara b/rtdata/languages/Euskara
index f1cc3290a..33cb478a3 100644
--- a/rtdata/languages/Euskara
+++ b/rtdata/languages/Euskara
@@ -980,13 +980,18 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1130,7 +1135,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1552,16 +1557,25 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1594,6 +1608,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais
index 12c122a2d..94f0f3fc9 100644
--- a/rtdata/languages/Francais
+++ b/rtdata/languages/Francais
@@ -932,7 +932,7 @@ MAIN_TOOLTIP_PREVIEWFOCUSMASK;Affichage du Masque du focus\nRaccourci: canal Vert\nRaccourci: g
MAIN_TOOLTIP_PREVIEWL;Affichage de la Luminosité\nRaccourci: v\n\n0.299*R + 0.587*V + 0.114*B
MAIN_TOOLTIP_PREVIEWR;Affichage du canal Rouge\nRaccourci: r
-MAIN_TOOLTIP_PREVIEWSHARPMASK;Prévisualiser le masque de contraste de netteté.\nRaccourci: Aucun\n\nNe fonctionne que si l'outil Netteté est activé et pour un zomm >= 100%.
+MAIN_TOOLTIP_PREVIEWSHARPMASK;Prévisualiser le masque de contraste de netteté.\nRaccourci: p\n\nNe fonctionne que si l'outil Netteté est activé et pour un zomm >= 100%.
MAIN_TOOLTIP_QINFO;Informations rapide sur l'image\nRaccourci: i
MAIN_TOOLTIP_SHOWHIDELP1;Montrer/Cacher le panneau gauche\nRaccourci: l
MAIN_TOOLTIP_SHOWHIDERP1;Afficher/Cacher le panneau droit\nRaccourci: Alt-l
@@ -2298,6 +2298,11 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!PREFERENCES_APPEARANCE;Appearance
!PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font
!PREFERENCES_APPEARANCE_CROPMASKCOLOR;Crop mask color
@@ -2308,6 +2313,17 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
!TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance
!TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended.
!TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%)
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
+!TP_COLORTONING_LABREGION_SLOPE;Slope
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually
diff --git a/rtdata/languages/Greek b/rtdata/languages/Greek
index bf03647ca..d930c3948 100644
--- a/rtdata/languages/Greek
+++ b/rtdata/languages/Greek
@@ -979,13 +979,18 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1129,7 +1134,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1551,16 +1556,25 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1593,6 +1607,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Hebrew b/rtdata/languages/Hebrew
index e0e5d8a6c..64b29759a 100644
--- a/rtdata/languages/Hebrew
+++ b/rtdata/languages/Hebrew
@@ -980,13 +980,18 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1130,7 +1135,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1552,16 +1557,25 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1594,6 +1608,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index 6932a9b8c..6b3e6ef4d 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -1564,13 +1564,18 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1677,7 +1682,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
@@ -1821,16 +1826,25 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1859,6 +1873,8 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index 11289fbce..568d7c842 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -962,7 +962,7 @@ MAIN_TOOLTIP_PREVIEWFOCUSMASK;フォーカス・マスク表示\nショ
MAIN_TOOLTIP_PREVIEWG;グリーン チャンネル表示\nショートカット: g
MAIN_TOOLTIP_PREVIEWL;輝度表示\nショートカット: v\n\n0.299*R + 0.587*G + 0.114*B
MAIN_TOOLTIP_PREVIEWR;レッド チャンネル表示\nショートカット: r
-MAIN_TOOLTIP_PREVIEWSHARPMASK;プレビューで見るシャープ化機能のコントラストマスク\nショートカット: なし\n\nこの機能が使えるのはシャープ化機能が有効で、画像が100%以上に拡大されている場合だけ
+MAIN_TOOLTIP_PREVIEWSHARPMASK;プレビューで見るシャープ化機能のコントラストマスク\nショートカット: p\n\nこの機能が使えるのはシャープ化機能が有効で、画像が100%以上に拡大されている場合だけ
MAIN_TOOLTIP_QINFO;画像の情報\nショートカット: i
MAIN_TOOLTIP_SHOWHIDELP1;表示/非表示 左パネル\nショートカット: l
MAIN_TOOLTIP_SHOWHIDERP1;表示/非表示 右パネル\nショートカット: Alt-l
@@ -2301,6 +2301,11 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!PREFERENCES_APPEARANCE;Appearance
!PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font
!PREFERENCES_APPEARANCE_CROPMASKCOLOR;Crop mask color
@@ -2311,6 +2316,17 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
!TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance
!TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended.
!TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%)
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
+!TP_COLORTONING_LABREGION_SLOPE;Slope
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually
diff --git a/rtdata/languages/Latvian b/rtdata/languages/Latvian
index 74c7d4435..45d06fdd8 100644
--- a/rtdata/languages/Latvian
+++ b/rtdata/languages/Latvian
@@ -980,13 +980,18 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1130,7 +1135,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1552,16 +1557,25 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1594,6 +1608,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index ac7dd6e81..9a459d5be 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -1249,13 +1249,18 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1373,7 +1378,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: black\nShortcut: 9
!MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: white\nShortcut: 9
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!NAVIGATOR_B;B:
!NAVIGATOR_G;G:
@@ -1704,16 +1709,25 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1743,6 +1757,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands
index be33cc433..e9b05ab7f 100644
--- a/rtdata/languages/Nederlands
+++ b/rtdata/languages/Nederlands
@@ -2094,13 +2094,18 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -2180,7 +2185,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!MAIN_TAB_ADVANCED;Advanced
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
@@ -2251,16 +2256,27 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Norsk BM b/rtdata/languages/Norsk BM
index d7e817dbc..3db05ead0 100644
--- a/rtdata/languages/Norsk BM
+++ b/rtdata/languages/Norsk BM
@@ -979,13 +979,18 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1129,7 +1134,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1551,16 +1556,25 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1593,6 +1607,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish
index 71295015e..1026e9bd1 100644
--- a/rtdata/languages/Polish
+++ b/rtdata/languages/Polish
@@ -1646,13 +1646,18 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1759,7 +1764,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
@@ -1886,19 +1891,30 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters)
index 6abf773b6..7f3271885 100644
--- a/rtdata/languages/Polish (Latin Characters)
+++ b/rtdata/languages/Polish (Latin Characters)
@@ -1646,13 +1646,18 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1759,7 +1764,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
@@ -1886,19 +1891,30 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil)
index e49129afd..b8d85ed59 100644
--- a/rtdata/languages/Portugues (Brasil)
+++ b/rtdata/languages/Portugues (Brasil)
@@ -905,7 +905,7 @@ MAIN_TOOLTIP_PREVIEWFOCUSMASK;Pré-visualize a Máscara de Foco.\nAtalho:
MAIN_TOOLTIP_PREVIEWG;Pré-visualize o Canal verde.\nAtalho: g
MAIN_TOOLTIP_PREVIEWL;Pré-visualize a Luminosidade.\nAtalho: v\n\n0.299*R + 0.587*G + 0.114*B
MAIN_TOOLTIP_PREVIEWR;Pré-visualize o Canal vermelho.\nAtalho: r
-MAIN_TOOLTIP_PREVIEWSHARPMASK;Pré-visualize a Máscara de Contraste de Nitidez.\nAtalho: Nenhum\n\nSó funciona quando a nitidez e o zoom estão ativados >= 100%.
+MAIN_TOOLTIP_PREVIEWSHARPMASK;Pré-visualize a Máscara de Contraste de Nitidez.\nAtalho: p\n\nSó funciona quando a nitidez e o zoom estão ativados >= 100%.
MAIN_TOOLTIP_QINFO;Informação rápida na imagem.\nAtalho: i
MAIN_TOOLTIP_SHOWHIDELP1;Mostrar/Ocultar o painel esquerdo.\nShortcut: l
MAIN_TOOLTIP_SHOWHIDERP1;Mostrar/Ocultar o painel direito.\nAtalho: Alt-l
@@ -2228,13 +2228,18 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: -
!HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram.
!HISTORY_MSG_489;DRC - Detail
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -2266,16 +2271,27 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: -
!TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance
!TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended.
!TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%)
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index acf163298..c930b43d8 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -1668,13 +1668,18 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!HISTORY_MSG_489;DRC - Detail
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold
!HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold
!HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries
@@ -1763,7 +1768,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!MAIN_BUTTON_ICCPROFCREATOR;ICC Profile Creator
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!PARTIALPASTE_COLORTONING;Color toning
!PARTIALPASTE_DEHAZE;Haze removal
@@ -1915,16 +1920,25 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1950,6 +1964,8 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!TP_COLORTONING_TWOBY;Special a* and b*
!TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable.
!TP_COLORTONING_TWOSTD;Standard chroma
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones
!TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL_TOOLTIP;Try to evaluate chroma noise\nBe careful, this calculation is average, and is quite subjective !
!TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation.
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index 6da76619f..fe64675c8 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -1540,13 +1540,18 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1652,7 +1657,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!NAVIGATOR_B;B:
!NAVIGATOR_G;G:
@@ -1813,16 +1818,25 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1851,6 +1865,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters)
index ea663dab4..9cffebc2f 100644
--- a/rtdata/languages/Serbian (Latin Characters)
+++ b/rtdata/languages/Serbian (Latin Characters)
@@ -1540,13 +1540,18 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1652,7 +1657,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TAB_INSPECT; Inspect
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MONITOR_PROFILE_SYSTEM;System default
!NAVIGATOR_B;B:
!NAVIGATOR_G;G:
@@ -1813,16 +1818,25 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1851,6 +1865,8 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak
index 98e330bbb..09c4d83db 100644
--- a/rtdata/languages/Slovak
+++ b/rtdata/languages/Slovak
@@ -1041,13 +1041,18 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1185,7 +1190,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1591,16 +1596,25 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1633,6 +1647,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Suomi b/rtdata/languages/Suomi
index 6728207d2..9e05dc05b 100644
--- a/rtdata/languages/Suomi
+++ b/rtdata/languages/Suomi
@@ -981,13 +981,18 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1131,7 +1136,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1552,16 +1557,25 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1594,6 +1608,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index af522505a..a063f0516 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -1899,13 +1899,18 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -2010,7 +2015,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!MAIN_TAB_ADVANCED;Advanced
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
@@ -2101,18 +2106,29 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* blending", "RGB sliders" and "RGB curves" use interpolated color blending.\n"Color balance (Shadows/Midtones/Highlights)" and "Saturation 2 colors" use direct colors.\n\nThe Black-and-White tool can be enabled when using any color toning method, which allows for color toning.
!TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable.
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DEHAZE_DEPTH;Depth
!TP_DEHAZE_LABEL;Haze Removal
!TP_DEHAZE_SHOW_DEPTH_MAP;Show Depth Map
diff --git a/rtdata/languages/Turkish b/rtdata/languages/Turkish
index 30b4e2b98..36e5033c4 100644
--- a/rtdata/languages/Turkish
+++ b/rtdata/languages/Turkish
@@ -980,13 +980,18 @@ TP_WBALANCE_TEMPERATURE;Isı
!HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
-!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - C mask
+!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel
+!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
+!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
+!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - Show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
!HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
!HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
!HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1130,7 +1135,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!MAIN_TOOLTIP_PREVIEWG;Preview the green channel.\nShortcut: g
!MAIN_TOOLTIP_PREVIEWL;Preview the luminosity.\nShortcut: v\n\n0.299*R + 0.587*G + 0.114*B
!MAIN_TOOLTIP_PREVIEWR;Preview the red channel.\nShortcut: r
-!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: None\n\nOnly works when sharpening is enabled and zoom >= 100%.
+!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%.
!MAIN_TOOLTIP_SHOWHIDELP1;Show/Hide the left panel.\nShortcut: l
!MAIN_TOOLTIP_SHOWHIDERP1;Show/Hide the right panel.\nShortcut: Alt-l
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-l
@@ -1551,16 +1556,25 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_LABGRID;L*a*b* color correction grid
!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_COLORTONING_LABREGIONS;L*a*b* correction regions
+!TP_COLORTONING_LABREGIONS;Color correction regions
!TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
+!TP_COLORTONING_LABREGION_CHANNEL;Channel
+!TP_COLORTONING_LABREGION_CHANNEL_ALL;All
+!TP_COLORTONING_LABREGION_CHANNEL_B;Blue
+!TP_COLORTONING_LABREGION_CHANNEL_G;Green
+!TP_COLORTONING_LABREGION_CHANNEL_R;Red
!TP_COLORTONING_LABREGION_CHROMATICITYMASK;C
!TP_COLORTONING_LABREGION_HUEMASK;H
!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
!TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
!TP_COLORTONING_LABREGION_LIST_TITLE;Correction
!TP_COLORTONING_LABREGION_MASK;Mask
+!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+!TP_COLORTONING_LABREGION_OFFSET;Offset
+!TP_COLORTONING_LABREGION_POWER;Power
!TP_COLORTONING_LABREGION_SATURATION;Saturation
!TP_COLORTONING_LABREGION_SHOWMASK;Show mask
+!TP_COLORTONING_LABREGION_SLOPE;Slope
!TP_COLORTONING_LUMA;Luminance
!TP_COLORTONING_LUMAMODE;Preserve luminance
!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1593,6 +1607,8 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
!TP_CROP_PPI;PPI=
+!TP_CROP_RESETCROP;Reset
+!TP_CROP_SELECTCROP;Select
!TP_DARKFRAME_AUTOSELECT;Auto-selection
!TP_DARKFRAME_LABEL;Dark-Frame
!TP_DEFRINGE_LABEL;Defringe
diff --git a/rtdata/languages/default b/rtdata/languages/default
index 3ab9ced80..16efa3925 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -738,13 +738,13 @@ HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask
HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask
HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness
HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask
-HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List
-HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
-HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
+HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
-HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur
+HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation
+HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask
+HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope
HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth
HISTORY_MSG_DEHAZE_ENABLED;Haze Removal
HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map
@@ -1474,7 +1474,6 @@ TP_COLORTONING_LABGRID;L*a*b* color correction grid
TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
TP_COLORTONING_LABREGIONS;Color correction regions
TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2
-TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
TP_COLORTONING_LABREGION_CHANNEL;Channel
TP_COLORTONING_LABREGION_CHANNEL_ALL;All
TP_COLORTONING_LABREGION_CHANNEL_B;Blue
@@ -1486,11 +1485,12 @@ TP_COLORTONING_LABREGION_LIGHTNESS;Lightness
TP_COLORTONING_LABREGION_LIGHTNESSMASK;L
TP_COLORTONING_LABREGION_LIST_TITLE;Correction
TP_COLORTONING_LABREGION_MASK;Mask
+TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur
+TP_COLORTONING_LABREGION_OFFSET;Offset
+TP_COLORTONING_LABREGION_POWER;Power
TP_COLORTONING_LABREGION_SATURATION;Saturation
TP_COLORTONING_LABREGION_SHOWMASK;Show mask
TP_COLORTONING_LABREGION_SLOPE;Slope
-TP_COLORTONING_LABREGION_OFFSET;Offset
-TP_COLORTONING_LABREGION_POWER;Power
TP_COLORTONING_LUMA;Luminance
TP_COLORTONING_LUMAMODE;Preserve luminance
TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved.
@@ -1530,8 +1530,8 @@ TP_CROP_GUIDETYPE;Guide type:
TP_CROP_H;Height
TP_CROP_LABEL;Crop
TP_CROP_PPI;PPI=
-TP_CROP_SELECTCROP;Select
TP_CROP_RESETCROP;Reset
+TP_CROP_SELECTCROP;Select
TP_CROP_W;Width
TP_CROP_X;Left
TP_CROP_Y;Top
diff --git a/rtdata/themes/TooWaBlue-GTK3-20_.css b/rtdata/themes/TooWaBlue-GTK3-20_.css
index b7b5175a7..d4565829a 100644
--- a/rtdata/themes/TooWaBlue-GTK3-20_.css
+++ b/rtdata/themes/TooWaBlue-GTK3-20_.css
@@ -2,7 +2,7 @@
This file is part of RawTherapee.
Copyright (c) 2016-2018 TooWaBoo
- Version 2.96
+ Version 2.98
RawTherapee is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -164,7 +164,9 @@ undershoot {
}
label {
- margin: 0 0.19em;
+ padding: 0.083333333333333333em 0;
+ margin: 0.19em;
+ min-height: 1.333333333333333333em;
}
/*** Frames ************************************************************************************/
@@ -323,11 +325,8 @@ fontchooser scrolledwindow,
padding-bottom: 0.25em;
background-color: @bg-dark-grey;
}
-#Navigator box label {
- padding: 0.166666666666666666em 0;
-}
-#Navigator > label:nth-child(2) {
- margin-top: 0.5em;
+#Navigator label {
+ padding: 0;
}
/*** end ***************************************************************************************/
@@ -927,14 +926,18 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
border-bottom: 0.083333333333333333em solid @view-grid-border;
margin-left: 0.083333333333333333em;
margin-right: 0.083333333333333333em;
+ padding: 0 0.19em;
}
#ToolPanelNotebook > header tabs {
- margin-bottom: 0.333333333333333333em;
+ margin: 0 0 0.25em;
}
-#ToolPanelNotebook > header tab > box > image{
+#ToolPanelNotebook > header tab {
+ padding: 0;
+}
+#ToolPanelNotebook > header tab image{
min-height: 2em;
min-width: 2em;
- margin: 0.25em 0 0.333333333333333333em;
+ margin: 0.19em 0.25em 0.333333333333333333em;
padding: 0;
}
#ToolPanelNotebook > stack {
@@ -963,11 +966,6 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
#PrefNotebook > header {
margin: -0.666666666666666666em -0.666666666666666666em 0.333333333333333333em;
}
-#PrefNotebook > header tab label,
-#AboutNotebook > header tab label {
- padding-top: 0.25em;
- padding-bottom: 0.25em;
-}
#PrefNotebook > stack {
margin: 0 -0.666666666666666666em;
}
@@ -994,9 +992,6 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
background-color: @bg-dark-grey;
padding-left: 0.333333333333333333em;
}
-#MetaPanelNotebook > header tab label{
- margin: 0.083333333333333333em 0.083333333333333333em 0.19em;
-}
#MetaPanelNotebook > stack {
background-color: @bg-dark-grey;
padding: 0 0 0.5em 0;
@@ -1036,8 +1031,10 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
background-color: transparent;
}
-#MetaPanelNotebook label {
- padding: 0.083333333333333333em 0 0;
+#MetaPanelNotebook stack label {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding: 0;
}
/*** end ***************************************************************************************/
@@ -1093,9 +1090,13 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
border-left: 0.083333333333333333em solid @bg-dark-grey;
}
+/* !!! Must be same height as "Small Lock Button" */
#BeforeAfterContainer label {
- min-height: 2.666666666666666666em;
padding: 0 0.5em;
+ min-height: 2em;
+ min-width: 2em;
+ margin: 0.25em 0;
+ border: 0.083333333333333333em solid transparent;
}
#EditorToolbarTop {
@@ -1478,13 +1479,21 @@ scale + image + image + button.flat {
margin-bottom: 0.095em;
}
-/*Color chooser & buttons */
+/* Color chooser & buttons */
button.color {
- min-height: 1.166666666666666666em;
- min-width: 2.75em;
- padding: 0.25em;
+ min-width: 3.25em;
+ box-shadow: none;
+ background-image: none;
+ background-color: transparent;
}
-button.color colorswatch,
+
+button.color colorswatch {
+ min-height: 0;
+ min-width: 0;
+ margin: 1px;
+ border-radius: 0.2em;
+}
+
colorchooser colorswatch {
border: 1px solid @bg-button-border;
}
@@ -1492,6 +1501,13 @@ colorchooser colorswatch#add-color-button:first-child {
border-radius: 5.5px 0 0 5.5px;
}
+/* Font chooser button */
+button.font label{
+ min-height: 0;
+ min-width: 0;
+ margin: 0 0.19em;
+}
+
/* Save, Cancel, OK ... buttons */
dialog .dialog-action-area button {
min-height: 2.166666666666666666em;
@@ -1708,9 +1724,6 @@ window treeview > header image {
min-width: 1.333333333333333333em;
}
-.view button.text-button label {
- margin: 0;
-}
window .view button {
border: none;
border-bottom: 0.083333333333333333em solid @view-grid-border;
@@ -1792,11 +1805,7 @@ popover button.text-button:active {
/*** end ***************************************************************************************/
/*** Checkbox & Radio **************************************************************************/
-checkbutton {
- padding: 0;
- margin: 0.083333333333333333em 0.19em;
- min-height: 1.666666666666666666em;/*x*/
-}
+checkbutton,
radiobutton {
padding: 0.083333333333333333em 0;
margin: 0.19em;
@@ -1839,16 +1848,11 @@ frame > checkbutton check{
}
#PartialPaste checkbutton {
- min-height: 1.166666666666666666em;
- margin-top: calc(0.416666666666666666em - 4px);
- margin-bottom: calc(0.416666666666666666em - 4px)
+ padding: 0;
+ margin: 0.19em 0 0 0.583333333333333333em;
}
#PartialPaste checkbutton:not(#PartialPasteHeader) {
- margin-left: 1.166666666666666666em;
-}
-#PartialPasteHeader {
- margin-left: 0.5em;
- padding-top: calc(0.666666666666666666em - 5px)
+ margin: 0 0 0 1.166666666666666666em;
}
/*** end ***************************************************************************************/
@@ -1908,8 +1912,8 @@ spinbutton {
margin-bottom: 0.333333333333333333em;
}
#MyExpander checkbutton + label + spinbutton {
- margin-top: 0.333333333333333333em;
- margin-bottom: 0.333333333333333333em;
+ margin-top: 0.416666666666666666em;
+ margin-bottom: 0.416666666666666666em;
}
/**/
diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc
index 81cc576c9..778f29fe8 100644
--- a/rtengine/dcrop.cc
+++ b/rtengine/dcrop.cc
@@ -808,56 +808,34 @@ void Crop::update(int todo)
}
- if (todo & (M_AUTOEXP | M_RGBCURVE)) {
+ if (todo & M_RGBCURVE) {
+ Imagefloat *workingCrop = baseCrop;
+
if (params.icm.workingTRC == "Custom") { //exec TRC IN free
- Glib::ustring profile;
- profile = params.icm.workingProfile;
+ const Glib::ustring profile = params.icm.workingProfile;
if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") {
-
+ const int cw = baseCrop->getWidth();
+ const int ch = baseCrop->getHeight();
+ workingCrop = new Imagefloat(cw, ch);
//first put gamma TRC to 1
- int cw = baseCrop->getWidth();
- int ch = baseCrop->getHeight();
- Imagefloat* readyImg0 = parent->ipf.workingtrc(baseCrop, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310);
- #pragma omp parallel for
-
- for (int row = 0; row < ch; row++) {
- for (int col = 0; col < cw; col++) {
- baseCrop->r(row, col) = (float)readyImg0->r(row, col);
- baseCrop->g(row, col) = (float)readyImg0->g(row, col);
- baseCrop->b(row, col) = (float)readyImg0->b(row, col);
- }
- }
-
- delete readyImg0;
-
+ parent->ipf.workingtrc(baseCrop, workingCrop, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310, parent->getCustomTransformIn(), true, false, true);
//adjust gamma TRC
- Imagefloat* readyImg = parent->ipf.workingtrc(baseCrop, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope);
- #pragma omp parallel for
-
- for (int row = 0; row < ch; row++) {
- for (int col = 0; col < cw; col++) {
- baseCrop->r(row, col) = (float)readyImg->r(row, col);
- baseCrop->g(row, col) = (float)readyImg->g(row, col);
- baseCrop->b(row, col) = (float)readyImg->b(row, col);
- }
- }
-
- delete readyImg;
+ parent->ipf.workingtrc(workingCrop, workingCrop, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope, parent->getCustomTransformOut(), false, true, true);
}
}
- }
-
- if (todo & M_RGBCURVE) {
double rrm, ggm, bbm;
DCPProfile::ApplyState as;
DCPProfile *dcpProf = parent->imgsrc->getDCP(params.icm, as);
LUTu histToneCurve;
- parent->ipf.rgbProc (baseCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve,
+ parent->ipf.rgbProc (workingCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve,
params.toneCurve.saturation, parent->rCurve, parent->gCurve, parent->bCurve, parent->colourToningSatLimit, parent->colourToningSatLimitOpacity, parent->ctColorCurve, parent->ctOpacityCurve, parent->opautili, parent->clToningcurve, parent->cl2Toningcurve,
parent->customToneCurve1, parent->customToneCurve2, parent->beforeToneCurveBW, parent->afterToneCurveBW, rrm, ggm, bbm,
parent->bwAutoR, parent->bwAutoG, parent->bwAutoB, dcpProf, as, histToneCurve);
+ if (workingCrop != baseCrop) {
+ delete workingCrop;
+ }
}
/*xref=000;yref=000;
diff --git a/rtengine/gamutwarning.cc b/rtengine/gamutwarning.cc
index 84b4b3c08..c76e2a285 100644
--- a/rtengine/gamutwarning.cc
+++ b/rtengine/gamutwarning.cc
@@ -34,7 +34,7 @@ GamutWarning::GamutWarning(cmsHPROFILE iprof, cmsHPROFILE gamutprof, RenderingIn
softproof2ref(nullptr)
{
if (cmsIsMatrixShaper(gamutprof) && !cmsIsCLUT(gamutprof, intent, LCMS_USED_AS_OUTPUT)) {
- cmsHPROFILE aces = ICCStore::getInstance()->getProfile("RTv4_ACES-AP0");
+ cmsHPROFILE aces = ICCStore::getInstance()->workingSpace("ACESp0");
if (aces) {
lab2ref = cmsCreateTransform(iprof, TYPE_Lab_FLT, aces, TYPE_RGB_FLT, INTENT_ABSOLUTE_COLORIMETRIC, cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE);
lab2softproof = cmsCreateTransform(iprof, TYPE_Lab_FLT, gamutprof, TYPE_RGB_FLT, INTENT_ABSOLUTE_COLORIMETRIC, cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE);
@@ -81,6 +81,10 @@ void GamutWarning::markLine(Image8 *image, int y, float *srcbuf, float *buf1, fl
float delta_max = lab2ref ? 0.0001f : 4.9999f;
cmsDoTransform(lab2softproof, srcbuf, buf2, width);
+ // since we are checking for out-of-gamut, we do want to clamp here!
+ for (int i = 0; i < width * 3; ++i) {
+ buf2[i] = LIM01(buf2[i]);
+ }
cmsDoTransform(softproof2ref, buf2, buf1, width);
float *proofdata = buf1;
diff --git a/rtengine/iccstore.cc b/rtengine/iccstore.cc
index e8463a1d8..33972075c 100644
--- a/rtengine/iccstore.cc
+++ b/rtengine/iccstore.cc
@@ -38,6 +38,8 @@
#include "../rtgui/threadutils.h"
#include "lcms2_plugin.h"
+#include "color.h"
+
#include "cJSON.h"
#define inkc_constant 0x696E6B43
namespace rtengine
@@ -208,8 +210,85 @@ const char* wpnames[] = {"sRGB", "Adobe RGB", "ProPhoto", "WideGamut", "BruceRGB
// high g=1.3 s=3.35 for high dynamic images
//low g=2.6 s=6.9 for low contrast images
+//-----------------------------------------------------------------------------
+// helper functions to fix V2 profiles TRCs, used in
+// rtengine::ProfileContent::toProfile()
+// see https://github.com/Beep6581/RawTherapee/issues/5026
+// -----------------------------------------------------------------------------
+bool is_RTv2_profile(cmsHPROFILE profile)
+{
+ if (int(cmsGetProfileVersion(profile)) != 2) {
+ return false;
+ }
+ const cmsMLU *mlu = static_cast(cmsReadTag(profile, cmsSigDeviceMfgDescTag));
+ if (!mlu) {
+ return false;
+ }
+ cmsUInt32Number sz = cmsMLUgetASCII(mlu, "en", "US", nullptr, 0);
+ if (!sz) {
+ return false;
+ }
+ std::vector buf(sz);
+ cmsMLUgetASCII(mlu, "en", "US", &buf[0], sz);
+ buf.back() = 0; // sanity
+ return strcmp(&buf[0], "RawTherapee") == 0;
}
+
+bool get_RT_gamma_slope(cmsHPROFILE profile, double &gammatag, double &slopetag)
+{
+ const cmsMLU *modelDescMLU = static_cast(cmsReadTag(profile, cmsSigDeviceModelDescTag));
+ if (modelDescMLU) {
+ cmsUInt32Number count = cmsMLUgetWide(modelDescMLU, "en", "US", nullptr, 0);
+ if (count) {
+ std::vector vbuf(count);
+ wchar_t *buffer = &vbuf[0];
+ count = cmsMLUgetWide(modelDescMLU, "en", "US", buffer, count);
+ Glib::ustring modelDesc;
+#if __SIZEOF_WCHAR_T__ == 2
+ char *cModelDesc = g_utf16_to_utf8((unsigned short int*)buffer, -1, nullptr, nullptr, nullptr); // convert to utf-8 in a buffer allocated by glib
+ if (cModelDesc) {
+ modelDesc.assign(cModelDesc);
+ g_free(cModelDesc);
+ }
+#else
+ modelDesc = utf32_to_utf8(buffer, count);
+#endif
+ if (!modelDesc.empty()) {
+ std::size_t pos = modelDesc.find("g");
+ std::size_t posmid = modelDesc.find("s");
+ std::size_t posend = modelDesc.find("!");
+ std::string strgamma = modelDesc.substr(pos + 1, (posmid - pos));
+ gammatag = std::stod(strgamma.c_str());
+ std::string strslope = modelDesc.substr(posmid + 1, (posend - posmid));
+ slopetag = std::stod(strslope.c_str());
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+
+Glib::ustring get_profile_description(cmsHPROFILE profile)
+{
+ const cmsMLU *mlu = static_cast(cmsReadTag(profile, cmsSigProfileDescriptionTag));
+ if (!mlu) {
+ return "";
+ }
+ cmsUInt32Number sz = cmsMLUgetASCII(mlu, "en", "US", nullptr, 0);
+ if (!sz) {
+ return "";
+ }
+ std::vector buf(sz);
+ cmsMLUgetASCII(mlu, "en", "US", &buf[0], sz);
+ buf.back() = 0; // sanity
+ return std::string(&buf[0]);
+}
+
+} // namespace
+
+
rtengine::ProfileContent::ProfileContent() = default;
rtengine::ProfileContent::ProfileContent(const Glib::ustring& fileName)
@@ -255,11 +334,52 @@ rtengine::ProfileContent::ProfileContent(cmsHPROFILE hProfile)
cmsHPROFILE rtengine::ProfileContent::toProfile() const
{
+ cmsHPROFILE profile = nullptr;
+ if (!data.empty()) {
+ profile = cmsOpenProfileFromMem(data.c_str(), data.size());
+ // if this is a V2 profile generated by RawTherapee, we rebuild the
+ // TRC. See https://github.com/Beep6581/RawTherapee/issues/5026 and
+ // the references in there
+ if (profile && is_RTv2_profile(profile)) {
+ double gammatag, slopetag;
+ if (get_RT_gamma_slope(profile, gammatag, slopetag)) {
+ constexpr double eps = 0.000000001; // not divide by zero
+ double pwr = 1.0 / gammatag;
+ double ts = slopetag;
+ double slope = slopetag == 0 ? eps : slopetag;
- return
- !data.empty()
- ? cmsOpenProfileFromMem(data.c_str(), data.size())
- : nullptr;
+ GammaValues g_b; //gamma parameters
+ Color::calcGamma(pwr, ts, 0, g_b); // call to calcGamma with selected gamma and slope : return parameters for LCMS2
+ cmsFloat64Number gammaParams[7]; //gamma parameters
+ gammaParams[4] = g_b[3] * ts;
+ gammaParams[0] = gammatag;
+ gammaParams[1] = 1. / (1.0 + g_b[4]);
+ gammaParams[2] = g_b[4] / (1.0 + g_b[4]);
+ gammaParams[3] = 1. / slope;
+ gammaParams[5] = 0.0;
+ gammaParams[6] = 0.0;
+
+ cmsToneCurve* GammaTRC;
+ if (slopetag == 0.) {
+ //printf("gammatag=%f\n", gammatag);
+ GammaTRC = cmsBuildGamma(NULL, gammatag);
+ } else {
+ GammaTRC = cmsBuildParametricToneCurve(nullptr, 5, gammaParams); //5 = smoother than 4
+ }
+ cmsWriteTag(profile, cmsSigRedTRCTag, GammaTRC);
+ cmsWriteTag(profile, cmsSigGreenTRCTag, GammaTRC);
+ cmsWriteTag(profile, cmsSigBlueTRCTag, GammaTRC);
+ cmsFreeToneCurve(GammaTRC);
+
+ if (settings->verbose) {
+ std::cout << "ICCStore: rebuilt TRC for RTv2 profile " << get_profile_description(profile) << ": gamma=" << gammatag << ", slope=" << slopetag << std::endl;
+ }
+ } else if (settings->verbose) {
+ std::cout << "ICCStore: no gamma/slope info found for RTv2 profile " << get_profile_description(profile) << std::endl;
+ }
+ }
+ }
+ return profile;
}
const std::string& rtengine::ProfileContent::getData() const
diff --git a/rtengine/image16.cc b/rtengine/image16.cc
index 618d31641..c0e97557a 100644
--- a/rtengine/image16.cc
+++ b/rtengine/image16.cc
@@ -310,20 +310,6 @@ Image8* Image16::to8() const
return img8;
}
-Imagefloat* Image16::tofloat() const
-{
- Imagefloat* imgfloat = new Imagefloat(width, height);
-
- for (int h = 0; h < height; ++h) {
- for (int w = 0; w < width; ++w) {
- imgfloat->r(h, w) = r(h, w);
- imgfloat->g(h, w) = g(h, w);
- imgfloat->b(h, w) = b(h, w);
- }
- }
-
- return imgfloat;
-}
// Parallelized transformation; create transform with cmsFLAGS_NOCACHE!
void Image16::ExecCMSTransform(cmsHTRANSFORM hTransform)
{
diff --git a/rtengine/image16.h b/rtengine/image16.h
index 9f73c322b..9762af990 100644
--- a/rtengine/image16.h
+++ b/rtengine/image16.h
@@ -43,7 +43,6 @@ public:
Image16* copy() const;
Image8* to8() const;
- Imagefloat* tofloat() const;
void getStdImage(const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const override;
diff --git a/rtengine/imagefloat.cc b/rtengine/imagefloat.cc
index 63c521040..940806419 100644
--- a/rtengine/imagefloat.cc
+++ b/rtengine/imagefloat.cc
@@ -474,52 +474,6 @@ void Imagefloat::calcCroppedHistogram(const ProcParams ¶ms, float scale, LUT
}
-// Parallelized transformation; create transform with cmsFLAGS_NOCACHE!
-void Imagefloat::ExecCMSTransform2(cmsHTRANSFORM hTransform)
-{
-
- // LittleCMS cannot parallelize planar setups -- Hombre: LCMS2.4 can! But it we use this new feature, memory allocation
- // have to be modified too to build temporary buffers that allow multi processor execution
-#ifdef _OPENMP
- #pragma omp parallel
-#endif
- {
- AlignedBuffer pBuf(width * 3);
-
-#ifdef _OPENMP
- #pragma omp for schedule(static)
-#endif
-
- for (int y = 0; y < height; y++)
- {
- float *p = pBuf.data, *pR = r(y), *pG = g(y), *pB = b(y);
-
- for (int x = 0; x < width; x++) {
- *(p++) = *(pR++)/ 65535.f;
- *(p++) = *(pG++)/ 65535.f;
- *(p++) = *(pB++)/ 65535.f;
-
- }
-
- cmsDoTransform (hTransform, pBuf.data, pBuf.data, width);
-
- p = pBuf.data;
- pR = r(y);
- pG = g(y);
- pB = b(y);
-
- for (int x = 0; x < width; x++) {
- *(pR++) = *(p++);
- *(pG++) = *(p++);
- *(pB++) = *(p++);
- }
- } // End of parallelization
- }
-}
-
-
-
-
// Parallelized transformation; create transform with cmsFLAGS_NOCACHE!
void Imagefloat::ExecCMSTransform(cmsHTRANSFORM hTransform)
{
@@ -533,7 +487,7 @@ void Imagefloat::ExecCMSTransform(cmsHTRANSFORM hTransform)
AlignedBuffer pBuf(width * 3);
#ifdef _OPENMP
- #pragma omp for schedule(static)
+ #pragma omp for schedule(dynamic, 16)
#endif
for (int y = 0; y < height; y++)
diff --git a/rtengine/imagefloat.h b/rtengine/imagefloat.h
index 9d7c69aef..e1e5086b8 100644
--- a/rtengine/imagefloat.h
+++ b/rtengine/imagefloat.h
@@ -222,8 +222,6 @@ public:
void normalizeFloatTo1();
void normalizeFloatTo65535();
void calcCroppedHistogram(const ProcParams ¶ms, float scale, LUTu & hist);
- void ExecCMSTransform2(cmsHTRANSFORM hTransform);
-
void ExecCMSTransform(cmsHTRANSFORM hTransform);
void ExecCMSTransform(cmsHTRANSFORM hTransform, const LabImage &labImage, int cx, int cy);
};
diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc
index 2d6db3dd9..851f78ed8 100644
--- a/rtengine/improccoordinator.cc
+++ b/rtengine/improccoordinator.cc
@@ -28,7 +28,6 @@
#include
#include
#include "color.h"
-
#ifdef _OPENMP
#include
#endif
@@ -95,7 +94,7 @@ ImProcCoordinator::ImProcCoordinator()
pW(-1), pH(-1),
plistener(nullptr), imageListener(nullptr), aeListener(nullptr), acListener(nullptr), abwListener(nullptr), awbListener(nullptr), flatFieldAutoClipListener(nullptr), bayerAutoContrastListener(nullptr), xtransAutoContrastListener(nullptr), frameCountListener(nullptr), imageTypeListener(nullptr), actListener(nullptr), adnListener(nullptr), awavListener(nullptr), dehaListener(nullptr), hListener(nullptr),
resultValid(false), lastOutputProfile("BADFOOD"), lastOutputIntent(RI__COUNT), lastOutputBPC(false), thread(nullptr), changeSinceLast(0), updaterRunning(false), destroying(false), utili(false), autili(false),
- butili(false), ccutili(false), cclutili(false), clcutili(false), opautili(false), wavcontlutili(false), colourToningSatLimit(0.f), colourToningSatLimitOpacity(0.f), highQualityComputed(false)
+ butili(false), ccutili(false), cclutili(false), clcutili(false), opautili(false), wavcontlutili(false), colourToningSatLimit(0.f), colourToningSatLimitOpacity(0.f), highQualityComputed(false), customTransformIn(nullptr), customTransformOut(nullptr)
{}
void ImProcCoordinator::assign(ImageSource* imgsrc)
@@ -129,6 +128,17 @@ ImProcCoordinator::~ImProcCoordinator()
}
imgsrc->decreaseRef();
+
+ if(customTransformIn) {
+ cmsDeleteTransform(customTransformIn);
+ customTransformIn = nullptr;
+ }
+
+ if(customTransformOut) {
+ cmsDeleteTransform(customTransformOut);
+ customTransformOut = nullptr;
+ }
+
updaterThreadStart.unlock();
}
@@ -506,39 +516,28 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
if (todo & (M_AUTOEXP | M_RGBCURVE)) {
if (params.icm.workingTRC == "Custom") { //exec TRC IN free
- Glib::ustring profile;
- profile = params.icm.workingProfile;
+ if (oprevi == orig_prev) {
+ oprevi = new Imagefloat(pW, pH);
+ orig_prev->copyData(oprevi);
+ }
+
+ const Glib::ustring profile = params.icm.workingProfile;
if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") {
- int cw = oprevi->getWidth();
- int ch = oprevi->getHeight();
+ const int cw = oprevi->getWidth();
+ const int ch = oprevi->getHeight();
// put gamma TRC to 1
- Imagefloat* readyImg0 = ipf.workingtrc(oprevi, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310);
- #pragma omp parallel for
-
- for (int row = 0; row < ch; row++) {
- for (int col = 0; col < cw; col++) {
- oprevi->r(row, col) = (float)readyImg0->r(row, col);
- oprevi->g(row, col) = (float)readyImg0->g(row, col);
- oprevi->b(row, col) = (float)readyImg0->b(row, col);
- }
+ if(customTransformIn) {
+ cmsDeleteTransform(customTransformIn);
+ customTransformIn = nullptr;
}
-
- delete readyImg0;
+ ipf.workingtrc(oprevi, oprevi, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310, customTransformIn, true, false, true);
//adjust TRC
- Imagefloat* readyImg = ipf.workingtrc(oprevi, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope);
- #pragma omp parallel for
-
- for (int row = 0; row < ch; row++) {
- for (int col = 0; col < cw; col++) {
- oprevi->r(row, col) = (float)readyImg->r(row, col);
- oprevi->g(row, col) = (float)readyImg->g(row, col);
- oprevi->b(row, col) = (float)readyImg->b(row, col);
- }
+ if(customTransformOut) {
+ cmsDeleteTransform(customTransformOut);
+ customTransformOut = nullptr;
}
-
- delete readyImg;
-
+ ipf.workingtrc(oprevi, oprevi, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope, customTransformOut, false, true, true);
}
}
}
diff --git a/rtengine/improccoordinator.h b/rtengine/improccoordinator.h
index 488cf28c0..fb3012f62 100644
--- a/rtengine/improccoordinator.h
+++ b/rtengine/improccoordinator.h
@@ -215,7 +215,8 @@ protected:
float colourToningSatLimit;
float colourToningSatLimitOpacity;
bool highQualityComputed;
-
+ cmsHTRANSFORM customTransformIn;
+ cmsHTRANSFORM customTransformOut;
public:
ImProcCoordinator ();
@@ -373,6 +374,16 @@ public:
return imgsrc;
}
+ cmsHTRANSFORM& getCustomTransformIn ()
+ {
+ return customTransformIn;
+ }
+
+ cmsHTRANSFORM& getCustomTransformOut ()
+ {
+ return customTransformOut;
+ }
+
struct DenoiseInfoStore {
DenoiseInfoStore () : chM (0), max_r{}, max_b{}, ch_M{}, valid (false) {}
float chM;
diff --git a/rtengine/improcfun.h b/rtengine/improcfun.h
index c3e17a050..3e583958b 100644
--- a/rtengine/improcfun.h
+++ b/rtengine/improcfun.h
@@ -350,7 +350,7 @@ public:
Image8* lab2rgb(LabImage* lab, int cx, int cy, int cw, int ch, const procparams::ColorManagementParams &icm, bool consider_histogram_settings = true);
Imagefloat* lab2rgbOut(LabImage* lab, int cx, int cy, int cw, int ch, const procparams::ColorManagementParams &icm);
// CieImage *ciec;
- Imagefloat* workingtrc(Imagefloat* working, int cw, int ch, int mul, Glib::ustring profile, double gampos, double slpos);
+ void workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, int ch, int mul, const Glib::ustring &profile, double gampos, double slpos, cmsHTRANSFORM &transform, bool normalizeIn = true, bool normalizeOut = true, bool keepTransForm = false) const;
bool transCoord(int W, int H, int x, int y, int w, int h, int& xv, int& yv, int& wv, int& hv, double ascaleDef = -1, const LensCorrection *pLCPMap = nullptr);
bool transCoord(int W, int H, const std::vector &src, std::vector &red, std::vector &green, std::vector &blue, double ascaleDef = -1, const LensCorrection *pLCPMap = nullptr);
diff --git a/rtengine/iplab2rgb.cc b/rtengine/iplab2rgb.cc
index da8e687ed..9ab8e1d01 100644
--- a/rtengine/iplab2rgb.cc
+++ b/rtengine/iplab2rgb.cc
@@ -303,82 +303,7 @@ Imagefloat* ImProcFunctions::lab2rgbOut(LabImage* lab, int cx, int cy, int cw, i
}
Imagefloat* image = new Imagefloat(cw, ch);
-
- cmsHPROFILE oprof = nullptr;
-
- oprof = ICCStore::getInstance()->getProfile(icm.outputProfile);
- Glib::ustring outtest = icm.outputProfile;
- std::string fileis_RTv2 = outtest.substr(0, 4);
- //printf("IsRTv2=%s\n", fileis_RTv2.c_str());
- if(fileis_RTv2 == "RTv2") {//Only fot ICC v2 : read tag from desc to retrieve gamma and slope save before in generate ICC v2
- //due to bug in LCMS in CmsToneCurve
- //printf("icmout=%s \n",icm.output.c_str());
- GammaValues g_b; //gamma parameters
- const double eps = 0.000000001; // not divide by zero
- double gammatag = 2.4;
- double slopetag = 12.92310;
- cmsMLU *modelDescMLU = (cmsMLU*) (cmsReadTag(oprof, cmsSigDeviceModelDescTag));
- if (modelDescMLU) {
- cmsUInt32Number count = cmsMLUgetWide(modelDescMLU, "en", "US", nullptr, 0); // get buffer length first
- if (count) {
- wchar_t *buffer = new wchar_t[count];
- count = cmsMLUgetWide(modelDescMLU, "en", "US", buffer, count); // now put the string in the buffer
- Glib::ustring modelDesc;
-#if __SIZEOF_WCHAR_T__ == 2
- char* cModelDesc = g_utf16_to_utf8((unsigned short int*)buffer, -1, nullptr, nullptr, nullptr); // convert to utf-8 in a buffer allocated by glib
- if (cModelDesc) {
- modelDesc.assign(cModelDesc);
- g_free(cModelDesc);
- }
-#else
- modelDesc = utf32_to_utf8(buffer, count);
-#endif
- delete [] buffer;
- if (!modelDesc.empty()) {
- std::size_t pos = modelDesc.find("g");
- std::size_t posmid = modelDesc.find("s");
- std::size_t posend = modelDesc.find("!");
- std::string strgamma = modelDesc.substr(pos + 1, (posmid - pos));
- gammatag = std::stod(strgamma.c_str());
- std::string strslope = modelDesc.substr(posmid + 1, (posend - posmid));
- slopetag = std::stod(strslope.c_str());
- // printf("gam=%f slo=%f\n", gammatag, slopetag);
- }
- } else {
- printf("Error: lab2rgbOut / String length is null!\n");
- }
- } else {
- printf("Error: lab2rgbOut / cmsReadTag/cmsSigDeviceModelDescTag failed!\n");
- }
-
- double pwr = 1.0 / gammatag;
- double ts = slopetag;
- double slope = slopetag == 0 ? eps : slopetag;
-
- int mode = 0;
- Color::calcGamma(pwr, ts, mode, g_b); // call to calcGamma with selected gamma and slope : return parameters for LCMS2
- cmsFloat64Number gammaParams[7]; //gamma parameters
- gammaParams[4] = g_b[3] * ts;
- gammaParams[0] = gammatag;
- gammaParams[1] = 1. / (1.0 + g_b[4]);
- gammaParams[2] = g_b[4] / (1.0 + g_b[4]);
- gammaParams[3] = 1. / slope;
- gammaParams[5] = 0.0;
- gammaParams[6] = 0.0;
-
- cmsToneCurve* GammaTRC[3];
- if(slopetag == 0.) {
- //printf("gammatag=%f\n", gammatag);
- GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildGamma(NULL, gammatag);
- }
- else {
- GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildParametricToneCurve(nullptr, 5, gammaParams); //5 = smoother than 4
- }
- cmsWriteTag(oprof, cmsSigRedTRCTag, GammaTRC[0]);
- cmsWriteTag(oprof, cmsSigGreenTRCTag, GammaTRC[1]);
- cmsWriteTag(oprof, cmsSigBlueTRCTag, GammaTRC[2]);
- cmsFreeToneCurve(GammaTRC[0]);
- }
+ cmsHPROFILE oprof = ICCStore::getInstance()->getProfile(icm.outputProfile);
if (oprof) {
cmsUInt32Number flags = cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE;
@@ -432,64 +357,60 @@ Imagefloat* ImProcFunctions::lab2rgbOut(LabImage* lab, int cx, int cy, int cw, i
}
-Imagefloat* ImProcFunctions::workingtrc(Imagefloat* working, int cw, int ch, int mul, Glib::ustring profile, double gampos, double slpos)
+void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, int ch, int mul, const Glib::ustring &profile, double gampos, double slpos, cmsHTRANSFORM &transform, bool normalizeIn, bool normalizeOut, bool keepTransForm) const
{
- TMatrix wprof;
-
- wprof = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile);
+ const TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile);
double dx = Color::D50x;
double dz = Color::D50z;
{
dx = dz = 1.0;
}
- double toxyz[3][3] = {
+ const float toxyz[3][3] = {
{
- (wprof[0][0] / dx), //I have suppressed / Color::D50x
- (wprof[0][1] / dx),
- (wprof[0][2] / dx)
+ static_cast(wprof[0][0] / (dx * (normalizeIn ? 65535.0 : 1.0))), //I have suppressed / Color::D50x
+ static_cast(wprof[0][1] / (dx * (normalizeIn ? 65535.0 : 1.0))),
+ static_cast(wprof[0][2] / (dx * (normalizeIn ? 65535.0 : 1.0)))
}, {
- (wprof[1][0]),
- (wprof[1][1]),
- (wprof[1][2])
+ static_cast(wprof[1][0] / (normalizeIn ? 65535.0 : 1.0)),
+ static_cast(wprof[1][1] / (normalizeIn ? 65535.0 : 1.0)),
+ static_cast(wprof[1][2] / (normalizeIn ? 65535.0 : 1.0))
}, {
- (wprof[2][0] / dz), //I have suppressed / Color::D50z
- (wprof[2][1] / dz),
- (wprof[2][2] / dz)
+ static_cast(wprof[2][0] / (dz * (normalizeIn ? 65535.0 : 1.0))), //I have suppressed / Color::D50z
+ static_cast(wprof[2][1] / (dz * (normalizeIn ? 65535.0 : 1.0))),
+ static_cast(wprof[2][2] / (dz * (normalizeIn ? 65535.0 : 1.0)))
}
};
- Imagefloat* image = new Imagefloat(cw, ch);
+ cmsHTRANSFORM hTransform = nullptr;
+ if (transform) {
+ hTransform = transform;
+ } else {
- double pwr;
- double ts;
- ts = slpos;
+ double pwr = 1.0 / gampos;
+ double ts = slpos;
+ int five = mul;
- int five = mul;
- pwr = 1.0 / gampos;
+ if (gampos < 1.0) {
+ pwr = gampos;
+ gampos = 1. / gampos;
+ five = -mul;
+ }
- if (gampos < 1.0) {
- pwr = gampos;
- gampos = 1. / gampos;
- five = -mul;
- }
+ // int select_temp = 1; //5003K
+ constexpr double eps = 0.000000001; // not divide by zero
- // int select_temp = 1; //5003K
- const double eps = 0.000000001; // not divide by zero
+ enum class ColorTemp {
+ D50 = 5003, // for Widegamut, ProPhoto Best, Beta -> D50
+ D65 = 6504, // for sRGB, AdobeRGB, Bruce Rec2020 -> D65
+ D60 = 6005 // for ACES AP0 and AP1
- enum class ColorTemp {
- D50 = 5003, // for Widegamut, ProPhoto Best, Beta -> D50
- D65 = 6504, // for sRGB, AdobeRGB, Bruce Rec2020 -> D65
- D60 = 6005 // for ACES AP0 and AP1
+ };
+ ColorTemp temp = ColorTemp::D50;
- };
- ColorTemp temp = ColorTemp::D50;
+ float p[6]; //primaries
- cmsHPROFILE oprofdef;
- float p[6]; //primaries
-
- if (true) {
//primaries for 10 working profiles ==> output profiles
if (profile == "WideGamut") {
p[0] = 0.7350; //Widegamut primaries
@@ -581,18 +502,10 @@ Imagefloat* ImProcFunctions::workingtrc(Imagefloat* working, int cw, int ch, int
}
GammaValues g_a; //gamma parameters
- int mode = 0;
+ constexpr int mode = 0;
Color::calcGamma(pwr, ts, mode, g_a); // call to calcGamma with selected gamma and slope : return parameters for LCMS2
- cmsCIExyY xyD;
- cmsCIExyYTRIPLE Primaries = {
- {p[0], p[1], 1.0}, // red
- {p[2], p[3], 1.0}, // green
- {p[4], p[5], 1.0} // blue
- };
-
- cmsToneCurve* GammaTRC[3];
cmsFloat64Number gammaParams[7];
gammaParams[4] = g_a[3] * ts;
gammaParams[0] = gampos;
@@ -604,63 +517,69 @@ Imagefloat* ImProcFunctions::workingtrc(Imagefloat* working, int cw, int ch, int
// printf("ga0=%f ga1=%f ga2=%f ga3=%f ga4=%f\n", ga0, ga1, ga2, ga3, ga4);
// 7 parameters for smoother curves
+ cmsCIExyY xyD;
cmsWhitePointFromTemp(&xyD, (double)temp);
if (profile == "ACESp0") {
xyD = {0.32168, 0.33767, 1.0};//refine white point to avoid differences
}
-
- GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildParametricToneCurve(NULL, five, gammaParams);//5 = more smoother than 4
- oprofdef = cmsCreateRGBProfile(&xyD, &Primaries, GammaTRC);
+
+ cmsToneCurve* GammaTRC[3];
+ GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildParametricToneCurve(NULL, five, gammaParams);//5 = more smoother than 4
+
+ const cmsCIExyYTRIPLE Primaries = {
+ {p[0], p[1], 1.0}, // red
+ {p[2], p[3], 1.0}, // green
+ {p[4], p[5], 1.0} // blue
+ };
+ const cmsHPROFILE oprofdef = cmsCreateRGBProfile(&xyD, &Primaries, GammaTRC);
cmsFreeToneCurve(GammaTRC[0]);
+
+ if (oprofdef) {
+ constexpr cmsUInt32Number flags = cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE;
+ const cmsHPROFILE iprof = ICCStore::getInstance()->getXYZProfile();
+ lcmsMutex->lock();
+ hTransform = cmsCreateTransform(iprof, TYPE_RGB_FLT, oprofdef, TYPE_RGB_FLT, params->icm.outputIntent, flags);
+ lcmsMutex->unlock();
+ }
}
+ if (hTransform) {
+#ifdef _OPENMP
+ #pragma omp parallel if (multiThread)
+#endif
+ {
+ AlignedBuffer pBuf(cw * 3);
+ const float normalize = normalizeOut ? 65535.f : 1.f;
- if (oprofdef) {
- #pragma omp parallel for if (multiThread)
+#ifdef _OPENMP
+ #pragma omp for schedule(dynamic, 16) nowait
+#endif
- for (int i = 0; i < ch; i++) {
- float* rr = working->r(i);
- float* rg = working->g(i);
- float* rb = working->b(i);
-
- float* xa = (float*)image->r(i);
- float* ya = (float*)image->g(i);
- float* za = (float*)image->b(i);
-
- for (int j = 0; j < cw; j++) {
- float r1 = rr[j];
- float g1 = rg[j];
- float b1 = rb[j];
-
- float x_ = toxyz[0][0] * r1 + toxyz[0][1] * g1 + toxyz[0][2] * b1;
- float y_ = toxyz[1][0] * r1 + toxyz[1][1] * g1 + toxyz[1][2] * b1;
- float z_ = toxyz[2][0] * r1 + toxyz[2][1] * g1 + toxyz[2][2] * b1;
-
- xa[j] = ( x_) ;
- ya[j] = ( y_);
- za[j] = ( z_);
+ for (int i = 0; i < ch; ++i) {
+ float *p = pBuf.data;
+ for (int j = 0; j < cw; ++j) {
+ const float r = src->r(i, j);
+ const float g = src->g(i, j);
+ const float b = src->b(i, j);
+ *(p++) = toxyz[0][0] * r + toxyz[0][1] * g + toxyz[0][2] * b;
+ *(p++) = toxyz[1][0] * r + toxyz[1][1] * g + toxyz[1][2] * b;
+ *(p++) = toxyz[2][0] * r + toxyz[2][1] * g + toxyz[2][2] * b;
+ }
+ p = pBuf.data;
+ cmsDoTransform(hTransform, p, p, cw);
+ for (int j = 0; j < cw; ++j) {
+ dst->r(i, j) = *(p++) * normalize;
+ dst->g(i, j) = *(p++) * normalize;
+ dst->b(i, j) = *(p++) * normalize;
+ }
}
}
-
- cmsUInt32Number flags = cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE;
-
-
- lcmsMutex->lock();
- cmsHPROFILE iprof = ICCStore::getInstance()->getXYZProfile();
- // cmsHTRANSFORM hTransform = cmsCreateTransform(iprof, TYPE_RGB_16, oprofdef, TYPE_RGB_16, params->icm.outputIntent, cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE);
- cmsHTRANSFORM hTransform = cmsCreateTransform(iprof, TYPE_RGB_FLT, oprofdef, TYPE_RGB_FLT, params->icm.outputIntent, flags);
- lcmsMutex->unlock();
-
- image->ExecCMSTransform2(hTransform);
-
- cmsDeleteTransform(hTransform);
- image->normalizeFloatTo65535();
-
+ if (!keepTransForm) {
+ cmsDeleteTransform(hTransform);
+ hTransform = nullptr;
+ }
+ transform = hTransform;
}
-
-
- return image;
-
}
diff --git a/rtengine/rt_algo.cc b/rtengine/rt_algo.cc
index ae385508a..22ea5c76b 100644
--- a/rtengine/rt_algo.cc
+++ b/rtengine/rt_algo.cc
@@ -172,6 +172,7 @@ void findMinMaxPercentile(const float* data, size_t size, float minPrct, float&
// go back to original range
minOut /= scale;
minOut += minVal;
+ minOut = rtengine::LIM(minOut, minVal, maxVal);
// find (maxPrct*size) smallest value
const float threshmax = maxPrct * size;
@@ -190,6 +191,7 @@ void findMinMaxPercentile(const float* data, size_t size, float minPrct, float&
// go back to original range
maxOut /= scale;
maxOut += minVal;
+ maxOut = rtengine::LIM(maxOut, minVal, maxVal);
}
void buildBlendMask(float** luminance, float **blend, int W, int H, float &contrastThreshold, float amount, bool autoContrast) {
diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc
index bdb3ced19..87c33e8f8 100644
--- a/rtengine/simpleprocess.cc
+++ b/rtengine/simpleprocess.cc
@@ -893,39 +893,16 @@ private:
//gamma TRC working
if (params.icm.workingTRC == "Custom") { //exec TRC IN free
- Glib::ustring profile;
- profile = params.icm.workingProfile;
+ const Glib::ustring profile = params.icm.workingProfile;
if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") {
- int cw = baseImg->getWidth();
- int ch = baseImg->getHeight();
+ const int cw = baseImg->getWidth();
+ const int ch = baseImg->getHeight();
+ cmsHTRANSFORM dummy = nullptr;
// put gamma TRC to 1
- Imagefloat* readyImg0 = ipf.workingtrc(baseImg, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310);
- #pragma omp parallel for
-
- for (int row = 0; row < ch; row++) {
- for (int col = 0; col < cw; col++) {
- baseImg->r(row, col) = (float)readyImg0->r(row, col);
- baseImg->g(row, col) = (float)readyImg0->g(row, col);
- baseImg->b(row, col) = (float)readyImg0->b(row, col);
- }
- }
-
- delete readyImg0;
-
+ ipf.workingtrc(baseImg, baseImg, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310, dummy, true, false, false);
//adjust TRC
- Imagefloat* readyImg = ipf.workingtrc(baseImg, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope);
- #pragma omp parallel for
-
- for (int row = 0; row < ch; row++) {
- for (int col = 0; col < cw; col++) {
- baseImg->r(row, col) = (float)readyImg->r(row, col);
- baseImg->g(row, col) = (float)readyImg->g(row, col);
- baseImg->b(row, col) = (float)readyImg->b(row, col);
- }
- }
-
- delete readyImg;
+ ipf.workingtrc(baseImg, baseImg, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope, dummy, false, true, false);
}
}
diff --git a/rtgui/crop.cc b/rtgui/crop.cc
index 2484b9060..a6b418bd7 100644
--- a/rtgui/crop.cc
+++ b/rtgui/crop.cc
@@ -286,6 +286,20 @@ Crop::Crop():
nx = ny = nw = nh = 0;
lastRotationDeg = 0;
+
+//GTK318
+#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION < 20
+ methodgrid->set_row_spacing(4);
+ methodgrid->set_column_spacing(4);
+ settingsgrid->set_row_spacing(4);
+ settingsgrid->set_column_spacing(4);
+ ppigrid->set_row_spacing(4);
+ ppigrid->set_column_spacing(4);
+ ppisubgrid->set_row_spacing(4);
+ ppisubgrid->set_column_spacing(4);
+#endif
+//GTK318
+
show_all ();
}
@@ -698,18 +712,51 @@ void Crop::ratioChanged ()
void Crop::adjustCropToRatio()
{
if (fixr->get_active() && !fixr->get_inconsistent()) {
+ int W1 = nw, W2 = nw;
+ int H1 = nh, H2 = nh;
+ int X1 = nx, X2 = nx;
+ int Y1 = ny, Y2 = ny;
-// int W = w->get_value ();
-// int H = h->get_value ();
- int W = nw;
- int H = nh;
- int X = nx;
- int Y = ny;
+ float r = getRatio();
- if (W >= H) {
- cropWidth2Resized (X, Y, W, H);
+ H1 = round(W1 / r);
+ Y1 = ny + (nh - H1)/2.0;
+ if (Y1 < 0) {
+ Y1 = 0;
+ }
+ if (H1 > maxh) {
+ H1 = maxh;
+ W1 = round(H1 * r);
+ X1 = nx + (nw - W1)/2.0;
+ }
+ if (Y1+H1 > maxh) {
+ Y1 = maxh - H1;
+ }
+
+ W2 = round(H2 * r);
+ X2 = nx + (nw - W2)/2.0;
+ if (X2 < 0) {
+ X2 = 0;
+ }
+ if (W2 > maxw) {
+ W2 = maxw;
+ H2 = round(W2 / r);
+ Y2 = ny + (nh - H2)/2.0;
+ }
+ if (X2+W2 > maxw) {
+ X2 = maxw - W2;
+ }
+
+ if (W1 * H1 >= W2 * H2) {
+ nx = X1;
+ ny = Y1;
+ nw = W1;
+ nh = H1;
} else {
- cropHeight2Resized (X, Y, W, H);
+ nx = X2;
+ ny = Y2;
+ nw = W2;
+ nh = H2;
}
}
diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc
index 45372f1f5..50d8f9543 100644
--- a/rtgui/cropwindow.cc
+++ b/rtgui/cropwindow.cc
@@ -275,6 +275,10 @@ void CropWindow::scroll (int state, GdkScrollDirection direction, int x, int y,
} else {
delta = deltaY;
}
+ if (delta == 0.0 && direction == GDK_SCROLL_SMOOTH) {
+ // sometimes this case happens. To avoid zooming into the wrong direction in this case, we just do nothing
+ return;
+ }
bool isUp = direction == GDK_SCROLL_UP || (direction == GDK_SCROLL_SMOOTH && delta < 0.0);
if ((state & GDK_CONTROL_MASK) && onArea(ColorPicker, x, y)) {
// resizing a color picker
@@ -1960,7 +1964,7 @@ void CropWindow::zoomIn (bool toCursor, int cursorX, int cursorY)
int x1 = cropHandler.cropParams.x + cropHandler.cropParams.w / 2;
int y1 = cropHandler.cropParams.y + cropHandler.cropParams.h / 2;
double cropd = sqrt(cropHandler.cropParams.h * cropHandler.cropParams.h + cropHandler.cropParams.w * cropHandler.cropParams.w) * zoomSteps[cropZoom].zoom;
- double imd = sqrt(imgW * imgW + imgH + imgH);
+ double imd = sqrt(imgW * imgW + imgH * imgH);
double d;
// the more we can see of the crop, the more gravity towards crop center
diff --git a/rtgui/lensprofile.cc b/rtgui/lensprofile.cc
index 0d5d9a0c3..e110792ec 100644
--- a/rtgui/lensprofile.cc
+++ b/rtgui/lensprofile.cc
@@ -194,6 +194,7 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
switch (pp->lensProf.lcMode) {
case procparams::LensProfParams::LcMode::LCP: {
corrLcpFileRB->set_active(true);
+ setManualParamsVisibility(false);
break;
}
@@ -209,6 +210,7 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
case procparams::LensProfParams::LcMode::NONE: {
corrOffRB->set_active(true);
+ setManualParamsVisibility(false);
break;
}
}
diff --git a/rtgui/options.cc b/rtgui/options.cc
index d1b7070de..b7d3c8d7d 100644
--- a/rtgui/options.cc
+++ b/rtgui/options.cc
@@ -943,11 +943,17 @@ void Options::readFromFile(Glib::ustring fname)
}
if (keyFile.has_key("File Browser", "ParseExtensions")) {
- parseExtensions = keyFile.get_string_list("File Browser", "ParseExtensions");
+ auto l = keyFile.get_string_list("File Browser", "ParseExtensions");
+ if (!l.empty()) {
+ parseExtensions = l;
+ }
}
if (keyFile.has_key("File Browser", "ParseExtensionsEnabled")) {
- parseExtensionsEnabled = keyFile.get_integer_list("File Browser", "ParseExtensionsEnabled");
+ auto l = keyFile.get_integer_list("File Browser", "ParseExtensionsEnabled");
+ if (!l.empty()) {
+ parseExtensionsEnabled = l;
+ }
}
if (keyFile.has_key("File Browser", "ThumbnailArrangement")) {
diff --git a/rtgui/previewloader.cc b/rtgui/previewloader.cc
index 0c0ecf9f6..f4cfe2b1b 100644
--- a/rtgui/previewloader.cc
+++ b/rtgui/previewloader.cc
@@ -168,6 +168,10 @@ PreviewLoader::PreviewLoader():
{
}
+PreviewLoader::~PreviewLoader() {
+ delete impl_;
+}
+
PreviewLoader* PreviewLoader::getInstance()
{
static PreviewLoader instance_;
diff --git a/rtgui/previewloader.h b/rtgui/previewloader.h
index 77091bcd3..311d9d5ce 100644
--- a/rtgui/previewloader.h
+++ b/rtgui/previewloader.h
@@ -82,6 +82,7 @@ public:
private:
PreviewLoader();
+ ~PreviewLoader();
class Impl;
Impl* impl_;
diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc
index fdb551f45..5f75967e6 100644
--- a/rtgui/thumbbrowserbase.cc
+++ b/rtgui/thumbbrowserbase.cc
@@ -76,6 +76,10 @@ void ThumbBrowserBase::scroll (int direction, double deltaX, double deltaY)
} else {
delta = deltaY;
}
+ if (direction == GDK_SCROLL_SMOOTH && delta == 0.0) {
+ // sometimes this case happens. To avoid scrolling the wrong direction in this case, we just do nothing
+ return;
+ }
double coef = direction == GDK_SCROLL_DOWN || (direction == GDK_SCROLL_SMOOTH && delta > 0.0) ? +1.0 : -1.0;
// GUI already acquired when here
diff --git a/rtgui/thumbimageupdater.cc b/rtgui/thumbimageupdater.cc
index 992b38812..f7caf5f5e 100644
--- a/rtgui/thumbimageupdater.cc
+++ b/rtgui/thumbimageupdater.cc
@@ -183,6 +183,10 @@ ThumbImageUpdater::ThumbImageUpdater():
{
}
+ThumbImageUpdater::~ThumbImageUpdater() {
+ delete impl_;
+}
+
void ThumbImageUpdater::add(ThumbBrowserEntryBase* tbe, bool* priority, bool upgrade, ThumbImageUpdateListener* l)
{
// nobody listening?
diff --git a/rtgui/thumbimageupdater.h b/rtgui/thumbimageupdater.h
index 820ddca8f..a3be44d7c 100644
--- a/rtgui/thumbimageupdater.h
+++ b/rtgui/thumbimageupdater.h
@@ -89,6 +89,7 @@ public:
private:
ThumbImageUpdater();
+ ~ThumbImageUpdater();
class Impl;
Impl* impl_;