Issue 2743:Disable vignetting correction LCP checkbox when working on non-raw images
This commit is contained in:
@@ -35,13 +35,13 @@ LensProfilePanel::LensProfilePanel () : FoldableToolPanel(this, "lensprof", M("T
|
|||||||
hbLCPFile->pack_start(*lLCPFileHead, Gtk::PACK_SHRINK, 4);
|
hbLCPFile->pack_start(*lLCPFileHead, Gtk::PACK_SHRINK, 4);
|
||||||
|
|
||||||
fcbLCPFile = Gtk::manage(new MyFileChooserButton(M("TP_LENSPROFILE_LABEL"), Gtk::FILE_CHOOSER_ACTION_OPEN));
|
fcbLCPFile = Gtk::manage(new MyFileChooserButton(M("TP_LENSPROFILE_LABEL"), Gtk::FILE_CHOOSER_ACTION_OPEN));
|
||||||
|
|
||||||
Gtk::FileFilter filterLCP;
|
Gtk::FileFilter filterLCP;
|
||||||
filterLCP.set_name(M("TP_LENSPROFILE_FILEDLGFILTERLCP"));
|
filterLCP.set_name(M("TP_LENSPROFILE_FILEDLGFILTERLCP"));
|
||||||
filterLCP.add_pattern("*.lcp");
|
filterLCP.add_pattern("*.lcp");
|
||||||
filterLCP.add_pattern("*.LCP");
|
filterLCP.add_pattern("*.LCP");
|
||||||
fcbLCPFile->add_filter(filterLCP);
|
fcbLCPFile->add_filter(filterLCP);
|
||||||
|
|
||||||
Glib::ustring defDir=lcpStore->getDefaultCommonDirectory();
|
Glib::ustring defDir=lcpStore->getDefaultCommonDirectory();
|
||||||
if (!defDir.empty()) {
|
if (!defDir.empty()) {
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
@@ -58,20 +58,20 @@ LensProfilePanel::LensProfilePanel () : FoldableToolPanel(this, "lensprof", M("T
|
|||||||
|
|
||||||
pack_start(*hbLCPFile, Gtk::PACK_SHRINK, 4);
|
pack_start(*hbLCPFile, Gtk::PACK_SHRINK, 4);
|
||||||
|
|
||||||
ckbUseDist = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USEDIST")));
|
ckbUseDist = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USEDIST")));
|
||||||
pack_start (*ckbUseDist, Gtk::PACK_SHRINK, 4);
|
pack_start (*ckbUseDist, Gtk::PACK_SHRINK, 4);
|
||||||
ckbUseVign = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USEVIGN")));
|
ckbUseVign = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USEVIGN")));
|
||||||
pack_start (*ckbUseVign, Gtk::PACK_SHRINK, 4);
|
pack_start (*ckbUseVign, Gtk::PACK_SHRINK, 4);
|
||||||
ckbUseCA = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USECA")));
|
ckbUseCA = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USECA")));
|
||||||
pack_start (*ckbUseCA, Gtk::PACK_SHRINK, 4);
|
pack_start (*ckbUseCA, Gtk::PACK_SHRINK, 4);
|
||||||
|
|
||||||
conLCPFile = fcbLCPFile->signal_file_set().connect( sigc::mem_fun(*this, &LensProfilePanel::onLCPFileChanged), true);
|
conLCPFile = fcbLCPFile->signal_file_set().connect( sigc::mem_fun(*this, &LensProfilePanel::onLCPFileChanged), true);
|
||||||
btnReset->signal_clicked().connect( sigc::mem_fun(*this, &LensProfilePanel::onLCPFileReset), true);
|
btnReset->signal_clicked().connect( sigc::mem_fun(*this, &LensProfilePanel::onLCPFileReset), true);
|
||||||
ckbUseDist->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseDistChanged) );
|
ckbUseDist->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseDistChanged) );
|
||||||
ckbUseVign->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseVignChanged) );
|
ckbUseVign->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseVignChanged) );
|
||||||
ckbUseCA->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseCAChanged) );
|
ckbUseCA->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseCAChanged) );
|
||||||
|
|
||||||
allowFocusDep=true;
|
allowFocusDep=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited)
|
void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited)
|
||||||
@@ -82,20 +82,20 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
fcbLCPFile->set_filename (pp->lensProf.lcpFile);
|
fcbLCPFile->set_filename (pp->lensProf.lcpFile);
|
||||||
updateDisabled(true);
|
updateDisabled(true);
|
||||||
} else {
|
} else {
|
||||||
Glib::ustring fname = fcbLCPFile->get_filename();
|
Glib::ustring fname = fcbLCPFile->get_filename();
|
||||||
if (!pp->lensProf.lcpFile.empty())
|
if (!pp->lensProf.lcpFile.empty())
|
||||||
fcbLCPFile->unselect_filename(fname);
|
fcbLCPFile->unselect_filename(fname);
|
||||||
else {
|
else {
|
||||||
Glib::ustring lastFolder = fcbLCPFile->get_current_folder();
|
Glib::ustring lastFolder = fcbLCPFile->get_current_folder();
|
||||||
fcbLCPFile->set_filename("");
|
fcbLCPFile->set_filename("");
|
||||||
fcbLCPFile->set_current_folder(lastFolder);
|
fcbLCPFile->set_current_folder(lastFolder);
|
||||||
}
|
}
|
||||||
updateDisabled(false);
|
updateDisabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ckbUseDist->set_active (pp->lensProf.useDist);
|
ckbUseDist->set_active (pp->lensProf.useDist);
|
||||||
ckbUseVign->set_active (pp->lensProf.useVign);
|
ckbUseVign->set_active (pp->lensProf.useVign && isRaw);
|
||||||
ckbUseCA->set_active (pp->lensProf.useCA);
|
ckbUseCA->set_active (pp->lensProf.useCA && isRaw);
|
||||||
|
|
||||||
lcpFileChanged=useDistChanged=useVignChanged=useCAChanged=false;
|
lcpFileChanged=useDistChanged=useVignChanged=useCAChanged=false;
|
||||||
|
|
||||||
@@ -105,14 +105,15 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
void LensProfilePanel::setRawMeta(bool raw, const rtengine::ImageMetaData* pMeta) {
|
void LensProfilePanel::setRawMeta(bool raw, const rtengine::ImageMetaData* pMeta) {
|
||||||
if (!raw || pMeta->getFocusDist()<=0) {
|
if (!raw || pMeta->getFocusDist()<=0) {
|
||||||
disableListener();
|
disableListener();
|
||||||
|
|
||||||
// CA is very focus layer dependend, otherwise it might even worsen things
|
// CA is very focus layer dependend, otherwise it might even worsen things
|
||||||
allowFocusDep=false;
|
allowFocusDep=false;
|
||||||
ckbUseCA->set_active(false);
|
ckbUseCA->set_active(false);
|
||||||
ckbUseCA->set_sensitive(false);
|
ckbUseCA->set_sensitive(false);
|
||||||
|
|
||||||
enableListener();
|
enableListener();
|
||||||
}
|
}
|
||||||
|
isRaw=raw;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedited)
|
void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedited)
|
||||||
@@ -172,6 +173,6 @@ void LensProfilePanel::onUseCAChanged()
|
|||||||
|
|
||||||
void LensProfilePanel::updateDisabled(bool enable) {
|
void LensProfilePanel::updateDisabled(bool enable) {
|
||||||
ckbUseDist->set_sensitive(enable);
|
ckbUseDist->set_sensitive(enable);
|
||||||
ckbUseVign->set_sensitive(enable);
|
ckbUseVign->set_sensitive(enable && isRaw);
|
||||||
ckbUseCA->set_sensitive(enable && allowFocusDep);
|
ckbUseCA->set_sensitive(enable && allowFocusDep);
|
||||||
}
|
}
|
||||||
|
@@ -36,6 +36,7 @@ protected:
|
|||||||
sigc::connection conLCPFile, conUseDist, conUseVign, conUseCA;
|
sigc::connection conLCPFile, conUseDist, conUseVign, conUseCA;
|
||||||
void updateDisabled(bool enable);
|
void updateDisabled(bool enable);
|
||||||
bool allowFocusDep;
|
bool allowFocusDep;
|
||||||
|
bool isRaw;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user