diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index 31614c7b3..ac4c9565b 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -1354,6 +1354,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
@@ -1920,6 +1921,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!TP_LABCURVE_CURVEEDITOR_LH;LH
!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H)
!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L)
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified)
index 5be2958e8..61cbd58ac 100644
--- a/rtdata/languages/Chinese (Simplified)
+++ b/rtdata/languages/Chinese (Simplified)
@@ -1401,6 +1401,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -1885,6 +1886,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!TP_LABCURVE_LCREDSK_TIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones.
!TP_LABCURVE_RSTPROTECTION;Red and skin-tones protection
!TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 25bcf2820..19182a1e5 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -2335,6 +2335,7 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations
!HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius
!HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!PARTIALPASTE_FILMNEGATIVE;Film Negative
!PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode
!TP_DEHAZE_LUMINANCE;Luminance only
@@ -2344,6 +2345,8 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!TP_FILMNEGATIVE_LABEL;Film Negative
!TP_FILMNEGATIVE_PICK;Pick neutral spots
!TP_FILMNEGATIVE_RED;Red ratio
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_PDSHARPENING_LABEL;Capture Sharpening
!TP_SHARPENING_ITERCHECK;Auto limit iterations
!TP_SHARPENING_RADIUS_BOOST;Corner radius boost
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index 592801054..99835591a 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -2392,4 +2392,7 @@ ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: -
!GENERAL_HELP;Help
!HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations
+!HISTORY_MSG_TRANS_Method;Geometry - Method
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_SHARPENING_ITERCHECK;Auto limit iterations
diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK)
index e30425b68..2cb1d526d 100644
--- a/rtdata/languages/English (UK)
+++ b/rtdata/languages/English (UK)
@@ -876,6 +876,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!HISTORY_NEWSNAPSHOT;Add
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!HISTORY_SNAPSHOT;Snapshot
@@ -1792,6 +1793,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_LENSGEOM_AUTOCROP;Auto-Crop
!TP_LENSGEOM_FILL;Auto-fill
!TP_LENSGEOM_LABEL;Lens / Geometry
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US)
index a1e0050a8..d8c497f16 100644
--- a/rtdata/languages/English (US)
+++ b/rtdata/languages/English (US)
@@ -788,6 +788,7 @@
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!HISTORY_NEWSNAPSHOT;Add
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!HISTORY_SNAPSHOT;Snapshot
@@ -1776,6 +1777,8 @@
!TP_LENSGEOM_AUTOCROP;Auto-Crop
!TP_LENSGEOM_FILL;Auto-fill
!TP_LENSGEOM_LABEL;Lens / Geometry
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index ee8b0d17d..c1468a6d9 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -2334,6 +2334,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: -
!HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius
!HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!MAIN_FRAME_PLACES_DEL;Remove
!MAIN_TAB_FAVORITES;Favorites
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u
@@ -2362,6 +2363,8 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: -
!TP_FILMNEGATIVE_LABEL;Film Negative
!TP_FILMNEGATIVE_PICK;Pick neutral spots
!TP_FILMNEGATIVE_RED;Red ratio
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
!TP_LENSPROFILE_MODE_HEADER;Lens Profile
diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais
index 9ecf43733..a98b6eded 100644
--- a/rtdata/languages/Francais
+++ b/rtdata/languages/Francais
@@ -2278,6 +2278,7 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
!HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations
!HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius
!HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!MAIN_FRAME_PLACES_DEL;Remove
!PARTIALPASTE_FILMNEGATIVE;Film Negative
!PROGRESSBAR_DECODING;Decoding...
@@ -2295,6 +2296,8 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
!TP_FILMNEGATIVE_LABEL;Film Negative
!TP_FILMNEGATIVE_PICK;Pick neutral spots
!TP_FILMNEGATIVE_RED;Red ratio
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
!TP_LENSPROFILE_MODE_HEADER;Lens Profile
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index 0fd256d7c..340309b9f 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -1579,6 +1579,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -1946,6 +1947,8 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!TP_ICM_WORKING_TRC_NONE;None
!TP_ICM_WORKING_TRC_SLOPE;Slope
!TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index 588a817f2..b7c0b7e22 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -2314,3 +2314,6 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
!!!!!!!!!!!!!!!!!!!!!!!!!
!GENERAL_HELP;Help
+!HISTORY_MSG_TRANS_Method;Geometry - Method
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index 4b6f2811b..7ecdc6f3b 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -1288,6 +1288,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
@@ -1912,6 +1913,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!TP_LABCURVE_LCREDSK_TIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones.
!TP_LABCURVE_RSTPROTECTION;Red and skin-tones protection
!TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands
index c230323f5..c43f6314e 100644
--- a/rtdata/languages/Nederlands
+++ b/rtdata/languages/Nederlands
@@ -2076,6 +2076,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -2256,6 +2257,8 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!TP_ICM_WORKING_TRC_NONE;None
!TP_ICM_WORKING_TRC_SLOPE;Slope
!TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish
index 4e5d950fc..b6d116479 100644
--- a/rtdata/languages/Polish
+++ b/rtdata/languages/Polish
@@ -1661,6 +1661,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -1967,6 +1968,8 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!TP_ICM_WORKING_TRC_NONE;None
!TP_ICM_WORKING_TRC_SLOPE;Slope
!TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Portugues b/rtdata/languages/Portugues
index 789d26cd6..0896214a0 100644
--- a/rtdata/languages/Portugues
+++ b/rtdata/languages/Portugues
@@ -2276,6 +2276,7 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: -
!HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations
!HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius
!HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!MAIN_FRAME_PLACES_DEL;Remove
!PARTIALPASTE_FILMNEGATIVE;Film Negative
!PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode
@@ -2294,6 +2295,8 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: -
!TP_FILMNEGATIVE_LABEL;Film Negative
!TP_FILMNEGATIVE_PICK;Pick neutral spots
!TP_FILMNEGATIVE_RED;Red ratio
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
!TP_LENSPROFILE_MODE_HEADER;Lens Profile
diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil)
index d619356a9..85dbf377f 100644
--- a/rtdata/languages/Portugues (Brasil)
+++ b/rtdata/languages/Portugues (Brasil)
@@ -2283,6 +2283,7 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: -
!HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations
!HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius
!HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!PARTIALPASTE_FILMNEGATIVE;Film Negative
!PREFERENCES_CACHECLEAR_SAFETY;Only files in the cache are cleared. Processing profiles stored alongside the source images are not touched.
!PROGRESSBAR_DECODING;Decoding...
@@ -2295,6 +2296,8 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: -
!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast)
!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards.
!TP_FILMNEGATIVE_LABEL;Film Negative
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_LENS_WARNING;Warning: the crop factor used for lens profiling is larger than the crop factor of the camera, the results might be wrong.
!TP_LENSPROFILE_USE_HEADER;Correct
!TP_PDSHARPENING_LABEL;Capture Sharpening
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index 4246ecbb6..27f4cff0c 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -1736,6 +1736,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -2014,6 +2015,8 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!TP_ICM_WORKING_TRC_NONE;None
!TP_ICM_WORKING_TRC_SLOPE;Slope
!TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
!TP_LENSPROFILE_MODE_HEADER;Lens Profile
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index 7fd0ca378..27da76acc 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -1554,6 +1554,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -1947,6 +1948,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!TP_ICM_WORKING_TRC_NONE;None
!TP_ICM_WORKING_TRC_SLOPE;Slope
!TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtdata/languages/Slovenian b/rtdata/languages/Slovenian
index 0afaa83e9..73c1bd2d1 100644
--- a/rtdata/languages/Slovenian
+++ b/rtdata/languages/Slovenian
@@ -2308,4 +2308,7 @@ ZOOMPANEL_ZOOMOUT;Zoom Out\nBližnjica: -
!GENERAL_HELP;Help
!HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations
+!HISTORY_MSG_TRANS_Method;Geometry - Method
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_SHARPENING_ITERCHECK;Auto limit iterations
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index 6dbea54d8..f54b4de30 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -1903,6 +1903,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
!HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor
+!HISTORY_MSG_TRANS_Method;Geometry - Method
!ICCPROFCREATOR_COPYRIGHT;Copyright:
!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0"
!ICCPROFCREATOR_CUSTOM;Custom
@@ -2150,6 +2151,8 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!TP_ICM_WORKING_TRC_NONE;None
!TP_ICM_WORKING_TRC_SLOPE;Slope
!TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles.
+!TP_LENSGEOM_LIN;Linear
+!TP_LENSGEOM_LOG;Logarithmic
!TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected
!TP_LENSPROFILE_CORRECTION_LCPFILE;LCP file
!TP_LENSPROFILE_CORRECTION_MANUAL;Manually selected
diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc
index aeeb6ef5d..c258052a5 100644
--- a/rtgui/filecatalog.cc
+++ b/rtgui/filecatalog.cc
@@ -55,6 +55,8 @@ FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb, FilePanel* filepanel) :
fslistener(nullptr),
iatlistener(nullptr),
hbToolBar1STB(nullptr),
+ progressImage(nullptr),
+ progressLabel(nullptr),
hasValidCurrentEFS(false),
filterPanel(nullptr),
exportPanel(nullptr),
@@ -705,35 +707,38 @@ void FileCatalog::_refreshProgressBar ()
// The second, usually longer pass is done multithreaded down in the single entries and is NOT measured by this
if (!inTabMode && (!previewsToLoad || std::floor(100.f * previewsLoaded / previewsToLoad) != std::floor(100.f * (previewsLoaded - 1) / previewsToLoad))) {
GThreadLock lock; // All GUI access from idle_add callbacks or separate thread HAVE to be protected
- Gtk::Notebook *nb = (Gtk::Notebook *)(filepanel->get_parent());
- Gtk::Grid* grid = Gtk::manage(new Gtk::Grid());
- Gtk::Label *label = nullptr;
+ if (!progressImage || !progressLabel) {
+ // create tab label once
+ Gtk::Notebook *nb = (Gtk::Notebook *)(filepanel->get_parent());
+ Gtk::Grid* grid = Gtk::manage(new Gtk::Grid());
+ progressImage = Gtk::manage(new RTImage("folder-closed.png"));
+ progressLabel = Gtk::manage(new Gtk::Label(M("MAIN_FRAME_FILEBROWSER")));
+ grid->attach_next_to(*progressImage, options.mainNBVertical ? Gtk::POS_TOP : Gtk::POS_RIGHT, 1, 1);
+ grid->attach_next_to(*progressLabel, options.mainNBVertical ? Gtk::POS_TOP : Gtk::POS_RIGHT, 1, 1);
+ grid->set_tooltip_markup(M("MAIN_FRAME_FILEBROWSER_TOOLTIP"));
+ grid->show_all();
+ if (options.mainNBVertical) {
+ progressLabel->set_angle(90);
+ }
+ if (nb) {
+ nb->set_tab_label(*filepanel, *grid);
+ }
+ }
if (!previewsToLoad) {
- grid->attach_next_to(*Gtk::manage(new RTImage("folder-closed.png")), options.mainNBVertical ? Gtk::POS_TOP : Gtk::POS_RIGHT, 1, 1);
+ progressImage->changeImage("folder-closed.png");
int filteredCount = min(fileBrowser->getNumFiltered(), previewsLoaded);
-
- label = Gtk::manage(new Gtk::Label(M("MAIN_FRAME_FILEBROWSER") +
- (filteredCount != previewsLoaded ? " [" + Glib::ustring::format(filteredCount) + "/" : " (")
- + Glib::ustring::format(previewsLoaded) +
- (filteredCount != previewsLoaded ? "]" : ")")));
+ progressLabel->set_text(M("MAIN_FRAME_FILEBROWSER") +
+ (filteredCount != previewsLoaded ? " [" + Glib::ustring::format(filteredCount) + "/" : " (")
+ + Glib::ustring::format(previewsLoaded) +
+ (filteredCount != previewsLoaded ? "]" : ")"));
} else {
- grid->attach_next_to(*Gtk::manage(new RTImage("magnifier.png")), options.mainNBVertical ? Gtk::POS_TOP : Gtk::POS_RIGHT, 1, 1);
- label = Gtk::manage(new Gtk::Label(M("MAIN_FRAME_FILEBROWSER") + " [" + Glib::ustring::format(std::fixed, std::setprecision(0), std::setw(3), (double)previewsLoaded / previewsToLoad * 100 ) + "%]" ));
+ progressImage->changeImage("magnifier.png");
+ progressLabel->set_text(M("MAIN_FRAME_FILEBROWSER") + " ["
+ + Glib::ustring::format(previewsLoaded) + "/"
+ + Glib::ustring::format(previewsToLoad) + "]" );
filepanel->loadingThumbs("", (double)previewsLoaded / previewsToLoad);
}
-
- if (options.mainNBVertical) {
- label->set_angle(90);
- }
-
- grid->attach_next_to(*label, options.mainNBVertical ? Gtk::POS_TOP : Gtk::POS_RIGHT, 1, 1);
- grid->set_tooltip_markup(M("MAIN_FRAME_FILEBROWSER_TOOLTIP"));
- grid->show_all();
-
- if (nb) {
- nb->set_tab_label(*filepanel, *grid);
- }
}
}
diff --git a/rtgui/filecatalog.h b/rtgui/filecatalog.h
index 3a9d82b67..0516017cd 100644
--- a/rtgui/filecatalog.h
+++ b/rtgui/filecatalog.h
@@ -124,6 +124,9 @@ private:
Gtk::Button* zoomInButton;
Gtk::Button* zoomOutButton;
+ RTImage* progressImage;
+ Gtk::Label* progressLabel;
+
MyMutex dirEFSMutex;
ExifFilterSettings dirEFS;
ExifFilterSettings currentEFS;
diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc
index 5f75ab413..c611b252d 100644
--- a/rtgui/thumbbrowserbase.cc
+++ b/rtgui/thumbbrowserbase.cc
@@ -87,7 +87,16 @@ void ThumbBrowserBase::scroll (int direction, double deltaX, double deltaY)
}
//GDK_SCROLL_SMOOTH can come in as many events with small deltas, don't quantize these to +/-1.0 so trackpads work well
double coef;
+ double scroll_unit;
+ if (arrangement == TB_Vertical) {
+ scroll_unit = vscroll.get_adjustment()->get_step_increment();
+ } else {
+ scroll_unit = hscroll.get_adjustment()->get_step_increment();
+ }
if(direction == GDK_SCROLL_SMOOTH) {
+#ifdef GDK_WINDOWING_QUARTZ
+ scroll_unit = 1.0;
+#endif
coef = delta;
} else if (direction == GDK_SCROLL_DOWN) {
coef = +1.0;
@@ -99,7 +108,7 @@ void ThumbBrowserBase::scroll (int direction, double deltaX, double deltaY)
if (direction == GDK_SCROLL_UP || direction == GDK_SCROLL_DOWN || direction == GDK_SCROLL_SMOOTH) {
if (arrangement == TB_Vertical) {
double currValue = vscroll.get_value();
- double newValue = rtengine::LIM(currValue + coef * vscroll.get_adjustment()->get_step_increment(),
+ double newValue = rtengine::LIM(currValue + coef * scroll_unit,
vscroll.get_adjustment()->get_lower (),
vscroll.get_adjustment()->get_upper());
if (newValue != currValue) {
@@ -107,7 +116,7 @@ void ThumbBrowserBase::scroll (int direction, double deltaX, double deltaY)
}
} else {
double currValue = hscroll.get_value();
- double newValue = rtengine::LIM(currValue + coef * hscroll.get_adjustment()->get_step_increment(),
+ double newValue = rtengine::LIM(currValue + coef * scroll_unit,
hscroll.get_adjustment()->get_lower(),
hscroll.get_adjustment()->get_upper());
if (newValue != currValue) {