disable vignetting or distortion correction checkboxes if the selected lensfun profile doesn't support them

Patch by heckflosse
This commit is contained in:
Alberto Griggio 2017-09-12 16:41:25 +02:00
parent fea0fbe776
commit 2d1cca8cbb
3 changed files with 22 additions and 0 deletions

View File

@ -215,6 +215,24 @@ float LFLens::getCropFactor() const
}
}
bool LFLens::hasVignettingCorrection() const
{
if (data_) {
return data_->CalibVignetting;
} else {
return false;
}
}
bool LFLens::hasDistortionCorrection() const
{
if (data_) {
return data_->CalibDistortion;
} else {
return false;
}
}
//-----------------------------------------------------------------------------
// LFDatabase

View File

@ -76,6 +76,8 @@ public:
Glib::ustring getLens() const;
Glib::ustring getDisplayString() const { return getLens(); }
float getCropFactor() const;
bool hasVignettingCorrection() const;
bool hasDistortionCorrection() const;
private:
friend class LFDatabase;
const lfLens *data_;

View File

@ -250,6 +250,8 @@ void LensProfilePanel::updateLensfunWarning()
if (l.getCropFactor() - c.getCropFactor() >= 0.01) {
warning->show();
}
ckbUseVign->set_sensitive(l.hasVignettingCorrection());
ckbUseDist->set_sensitive(l.hasDistortionCorrection());
}
}