disable the selection of lensfun auto mode if no match is found in the db
This commit is contained in:
@@ -1654,7 +1654,7 @@ TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve.
|
|||||||
TP_LENSGEOM_AUTOCROP;Auto-Crop
|
TP_LENSGEOM_AUTOCROP;Auto-Crop
|
||||||
TP_LENSGEOM_FILL;Auto-fill
|
TP_LENSGEOM_FILL;Auto-fill
|
||||||
TP_LENSGEOM_LABEL;Lens / Geometry
|
TP_LENSGEOM_LABEL;Lens / Geometry
|
||||||
TP_LENSPROFILE_LABEL;Lens Correction Profile
|
TP_LENSPROFILE_LABEL;Profiled Lens Correction
|
||||||
TP_LENSPROFILE_USECA;Chromatic aberration correction
|
TP_LENSPROFILE_USECA;Chromatic aberration correction
|
||||||
TP_LENSPROFILE_USEDIST;Distortion correction
|
TP_LENSPROFILE_USEDIST;Distortion correction
|
||||||
TP_LENSPROFILE_USEVIGN;Vignetting correction
|
TP_LENSPROFILE_USEVIGN;Vignetting correction
|
||||||
@@ -2152,3 +2152,7 @@ ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
|||||||
ZOOMPANEL_ZOOMFITSCREEN;Fit whole image to screen\nShortcut: <b>f</b>
|
ZOOMPANEL_ZOOMFITSCREEN;Fit whole image to screen\nShortcut: <b>f</b>
|
||||||
ZOOMPANEL_ZOOMIN;Zoom In\nShortcut: <b>+</b>
|
ZOOMPANEL_ZOOMIN;Zoom In\nShortcut: <b>+</b>
|
||||||
ZOOMPANEL_ZOOMOUT;Zoom Out\nShortcut: <b>-</b>
|
ZOOMPANEL_ZOOMOUT;Zoom Out\nShortcut: <b>-</b>
|
||||||
|
LENSPROFILE_CORRECTION_OFF;None
|
||||||
|
LENSPROFILE_CORRECTION_AUTOMATCH;Auto-matched correction parameters
|
||||||
|
LENSPROFILE_CORRECTION_MANUAL;Manual correction parameters
|
||||||
|
LENSPROFILE_CORRECTION_LCPFILE;LCP File
|
||||||
|
@@ -36,6 +36,7 @@ LensProfilePanel::LensProfilePanel () :
|
|||||||
useVignChanged(false),
|
useVignChanged(false),
|
||||||
useCAChanged(false),
|
useCAChanged(false),
|
||||||
isRaw(true),
|
isRaw(true),
|
||||||
|
metadata(nullptr),
|
||||||
lensgeomLcpFill(nullptr),
|
lensgeomLcpFill(nullptr),
|
||||||
useLensfunChanged(false),
|
useLensfunChanged(false),
|
||||||
lensfunAutoChanged(false),
|
lensfunAutoChanged(false),
|
||||||
@@ -64,14 +65,14 @@ LensProfilePanel::LensProfilePanel () :
|
|||||||
lensfunLenses->pack_start(lensfunModelLens.lens);
|
lensfunLenses->pack_start(lensfunModelLens.lens);
|
||||||
|
|
||||||
Gtk::HBox *hb = Gtk::manage(new Gtk::HBox());
|
Gtk::HBox *hb = Gtk::manage(new Gtk::HBox());
|
||||||
hb->pack_start(*Gtk::manage(new Gtk::Label(M("LENSFUN_CAMERA"))), Gtk::PACK_SHRINK, 4);
|
hb->pack_start(*Gtk::manage(new Gtk::Label(M("EXIFFILTER_CAMERA"))), Gtk::PACK_SHRINK, 4);
|
||||||
hb->pack_start(*lensfunCameras);
|
hb->pack_start(*lensfunCameras);
|
||||||
pack_start(*hb);
|
pack_start(*hb);
|
||||||
|
|
||||||
fillLensfunCameras();
|
fillLensfunCameras();
|
||||||
|
|
||||||
hb = Gtk::manage(new Gtk::HBox());
|
hb = Gtk::manage(new Gtk::HBox());
|
||||||
hb->pack_start(*Gtk::manage(new Gtk::Label(M("LENSFUN_LENS"))), Gtk::PACK_SHRINK, 4);
|
hb->pack_start(*Gtk::manage(new Gtk::Label(M("EXIFFILTER_LENS"))), Gtk::PACK_SHRINK, 4);
|
||||||
hb->pack_start(*lensfunLenses);
|
hb->pack_start(*lensfunLenses);
|
||||||
pack_start(*hb);
|
pack_start(*hb);
|
||||||
|
|
||||||
@@ -140,6 +141,8 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
disableListener ();
|
disableListener ();
|
||||||
conUseDist.block(true);
|
conUseDist.block(true);
|
||||||
|
|
||||||
|
corrLensfunAuto->set_sensitive(true);
|
||||||
|
|
||||||
if (pp->lensProf.useLensfun) {
|
if (pp->lensProf.useLensfun) {
|
||||||
if (pp->lensProf.lfAutoMatch) {
|
if (pp->lensProf.lfAutoMatch) {
|
||||||
corrLensfunAuto->set_active(true);
|
corrLensfunAuto->set_active(true);
|
||||||
@@ -214,6 +217,16 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
lcpFileChanged = useDistChanged = useVignChanged = useCAChanged = false;
|
lcpFileChanged = useDistChanged = useVignChanged = useCAChanged = false;
|
||||||
useLensfunChanged = lensfunAutoChanged = lensfunCameraChanged = lensfunLensChanged = false;
|
useLensfunChanged = lensfunAutoChanged = lensfunCameraChanged = lensfunLensChanged = false;
|
||||||
|
|
||||||
|
if (!batchMode && metadata && pp->lensProf.useLensfun) {
|
||||||
|
std::unique_ptr<LFModifier> mod(LFDatabase::findModifier(pp->lensProf, metadata, 100, 100, pp->coarse, -1));
|
||||||
|
if (!mod) {
|
||||||
|
corrOff->set_active(true);
|
||||||
|
if (pp->lensProf.lfAutoMatch) {
|
||||||
|
corrLensfunAuto->set_sensitive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
enableListener ();
|
enableListener ();
|
||||||
conUseDist.block(false);
|
conUseDist.block(false);
|
||||||
}
|
}
|
||||||
@@ -232,6 +245,7 @@ void LensProfilePanel::setRawMeta(bool raw, const rtengine::ImageMetaData* pMeta
|
|||||||
}
|
}
|
||||||
|
|
||||||
isRaw = raw;
|
isRaw = raw;
|
||||||
|
metadata = pMeta;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedited)
|
void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedited)
|
||||||
|
@@ -39,6 +39,7 @@ protected:
|
|||||||
void updateDisabled(bool enable);
|
void updateDisabled(bool enable);
|
||||||
bool allowFocusDep;
|
bool allowFocusDep;
|
||||||
bool isRaw;
|
bool isRaw;
|
||||||
|
const rtengine::ImageMetaData* metadata;
|
||||||
LensGeometry *lensgeomLcpFill;
|
LensGeometry *lensgeomLcpFill;
|
||||||
|
|
||||||
Gtk::RadioButton::Group corrGroup;
|
Gtk::RadioButton::Group corrGroup;
|
||||||
|
Reference in New Issue
Block a user