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