Changing lens correction method triggers processing twice, fixes #4740
This commit is contained in:
parent
ab79434beb
commit
ce8ead804b
@ -139,10 +139,10 @@ LensProfilePanel::LensProfilePanel () :
|
||||
|
||||
lensfunCameras->signal_changed().connect(sigc::mem_fun(*this, &LensProfilePanel::onLensfunCameraChanged));
|
||||
lensfunLenses->signal_changed().connect(sigc::mem_fun(*this, &LensProfilePanel::onLensfunLensChanged));
|
||||
corrOff->signal_toggled().connect(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged));
|
||||
corrLensfunAuto->signal_toggled().connect(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged));
|
||||
corrLensfunManual->signal_toggled().connect(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged));
|
||||
corrLcpFile->signal_toggled().connect(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged));
|
||||
corrOff->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged), corrOff));
|
||||
corrLensfunAuto->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged), corrLensfunAuto));
|
||||
corrLensfunManual->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged), corrLensfunManual));
|
||||
corrLcpFile->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &LensProfilePanel::onCorrModeChanged), corrLcpFile));
|
||||
|
||||
corrUnchanged->hide();
|
||||
|
||||
@ -499,11 +499,13 @@ void LensProfilePanel::onLensfunLensChanged()
|
||||
}
|
||||
|
||||
|
||||
void LensProfilePanel::onCorrModeChanged()
|
||||
void LensProfilePanel::onCorrModeChanged(const Gtk::RadioButton *rbChanged)
|
||||
{
|
||||
if (rbChanged->get_active()) {
|
||||
// because the method gets called for the enabled AND the disabled RadioButton, we do the processing only for the enabled one
|
||||
Glib::ustring mode;
|
||||
|
||||
if (corrOff->get_active()) {
|
||||
if (rbChanged == corrOff) {
|
||||
useLensfunChanged = true;
|
||||
lensfunAutoChanged = true;
|
||||
lcpFileChanged = true;
|
||||
@ -513,7 +515,7 @@ void LensProfilePanel::onCorrModeChanged()
|
||||
ckbUseCA->set_sensitive(false);
|
||||
|
||||
mode = M("GENERAL_NONE");
|
||||
} else if (corrLensfunAuto->get_active()) {
|
||||
} else if (rbChanged == corrLensfunAuto) {
|
||||
useLensfunChanged = true;
|
||||
lensfunAutoChanged = true;
|
||||
lcpFileChanged = true;
|
||||
@ -537,7 +539,7 @@ void LensProfilePanel::onCorrModeChanged()
|
||||
}
|
||||
|
||||
mode = M("LENSPROFILE_CORRECTION_AUTOMATCH");
|
||||
} else if (corrLensfunManual->get_active()) {
|
||||
} else if (rbChanged == corrLensfunManual) {
|
||||
useLensfunChanged = true;
|
||||
lensfunAutoChanged = true;
|
||||
lcpFileChanged = true;
|
||||
@ -549,7 +551,7 @@ void LensProfilePanel::onCorrModeChanged()
|
||||
ckbUseCA->set_sensitive(false);
|
||||
|
||||
mode = M("LENSPROFILE_CORRECTION_MANUAL");
|
||||
} else if (corrLcpFile->get_active()) {
|
||||
} else if (rbChanged == corrLcpFile) {
|
||||
useLensfunChanged = true;
|
||||
lensfunAutoChanged = true;
|
||||
lcpFileChanged = true;
|
||||
@ -559,7 +561,7 @@ void LensProfilePanel::onCorrModeChanged()
|
||||
updateDisabled(true);
|
||||
|
||||
mode = M("LENSPROFILE_CORRECTION_LCPFILE");
|
||||
} else if (corrUnchanged->get_active()) {
|
||||
} else if (rbChanged == corrUnchanged) {
|
||||
useLensfunChanged = false;
|
||||
lensfunAutoChanged = false;
|
||||
lcpFileChanged = false;
|
||||
@ -572,6 +574,7 @@ void LensProfilePanel::onCorrModeChanged()
|
||||
|
||||
mode = M("GENERAL_UNCHANGED");
|
||||
}
|
||||
|
||||
lcModeChanged = true;
|
||||
updateLensfunWarning();
|
||||
|
||||
@ -579,6 +582,7 @@ void LensProfilePanel::onCorrModeChanged()
|
||||
listener->panelChanged(EvLensCorrMode, mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool LensProfilePanel::checkLensfunCanCorrect(bool automatch)
|
||||
|
@ -105,7 +105,7 @@ public:
|
||||
|
||||
void onLensfunCameraChanged();
|
||||
void onLensfunLensChanged();
|
||||
void onCorrModeChanged();
|
||||
void onCorrModeChanged(const Gtk::RadioButton *rbChanged);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user