Issue 2743:Disable vignetting correction LCP checkbox when working on non-raw images

This commit is contained in:
DrSlony
2015-04-19 19:07:27 +02:00
parent 23424a45c8
commit 336a08d605
2 changed files with 26 additions and 24 deletions

View File

@@ -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);
}

View File

@@ -36,6 +36,7 @@ protected:
sigc::connection conLCPFile, conUseDist, conUseVign, conUseCA;
void updateDisabled(bool enable);
bool allowFocusDep;
bool isRaw;
public: