improved responsiveness of UI for profiled lens correction

This commit is contained in:
Alberto Griggio
2017-09-12 08:19:20 +02:00
parent 736d0e8612
commit 84984422c7

View File

@@ -285,9 +285,15 @@ void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited
void LensProfilePanel::onLCPFileChanged() void LensProfilePanel::onLCPFileChanged()
{ {
lcpFileChanged = true; lcpFileChanged = true;
updateDisabled(LCPStore::getInstance()->isValidLCPFileName(fcbLCPFile->get_filename())); bool valid = LCPStore::getInstance()->isValidLCPFileName(fcbLCPFile->get_filename());
updateDisabled(valid);
if (listener) { if (listener) {
if (valid) {
disableListener();
corrLcpFile->set_active(true);
enableListener();
}
listener->panelChanged (EvLCPFile, Glib::path_get_basename(fcbLCPFile->get_filename())); listener->panelChanged (EvLCPFile, Glib::path_get_basename(fcbLCPFile->get_filename()));
} }
} }
@@ -299,7 +305,11 @@ void LensProfilePanel::onLCPFileReset()
fcbLCPFile->unselect_filename(fcbLCPFile->get_filename()); fcbLCPFile->unselect_filename(fcbLCPFile->get_filename());
updateDisabled(false); updateDisabled(false);
if (listener) { if (listener) {
disableListener();
corrOff->set_active(true);
enableListener();
listener->panelChanged (EvLCPFile, M("GENERAL_NONE")); listener->panelChanged (EvLCPFile, M("GENERAL_NONE"));
} }
} }
@@ -412,6 +422,10 @@ void LensProfilePanel::onLensfunCameraChanged()
lensfunCameraChanged = true; lensfunCameraChanged = true;
if (listener) { if (listener) {
disableListener();
corrLensfunManual->set_active(true);
enableListener();
Glib::ustring name = (*iter)[lf->lensfunModelCam.model]; Glib::ustring name = (*iter)[lf->lensfunModelCam.model];
listener->panelChanged(EvLensCorrLensfunCamera, name); listener->panelChanged(EvLensCorrLensfunCamera, name);
} }
@@ -427,7 +441,11 @@ void LensProfilePanel::onLensfunLensChanged()
lensfunLensChanged = true; lensfunLensChanged = true;
if (listener) { if (listener) {
Glib::ustring name = (*iter)[lf->lensfunModelLens.lens]; disableListener();
corrLensfunManual->set_active(true);
enableListener();
Glib::ustring name = (*iter)[lf->lensfunModelLens.prettylens];
listener->panelChanged(EvLensCorrLensfunLens, name); listener->panelChanged(EvLensCorrLensfunLens, name);
} }
} }
@@ -443,8 +461,6 @@ void LensProfilePanel::onCorrModeChanged()
lensfunAutoChanged = true; lensfunAutoChanged = true;
lcpFileChanged = true; lcpFileChanged = true;
lensfunCameras->set_sensitive(false);
lensfunLenses->set_sensitive(false);
ckbUseDist->set_sensitive(false); ckbUseDist->set_sensitive(false);
ckbUseVign->set_sensitive(false); ckbUseVign->set_sensitive(false);
ckbUseCA->set_sensitive(false); ckbUseCA->set_sensitive(false);
@@ -457,9 +473,6 @@ void LensProfilePanel::onCorrModeChanged()
useDistChanged = true; useDistChanged = true;
useVignChanged = true; useVignChanged = true;
lensfunCameras->set_sensitive(false);
lensfunLenses->set_sensitive(false);
ckbUseDist->set_sensitive(true); ckbUseDist->set_sensitive(true);
ckbUseVign->set_sensitive(true); ckbUseVign->set_sensitive(true);
ckbUseCA->set_sensitive(false); ckbUseCA->set_sensitive(false);
@@ -484,9 +497,6 @@ void LensProfilePanel::onCorrModeChanged()
useDistChanged = true; useDistChanged = true;
useVignChanged = true; useVignChanged = true;
lensfunCameras->set_sensitive(true);
lensfunLenses->set_sensitive(true);
ckbUseDist->set_sensitive(true); ckbUseDist->set_sensitive(true);
ckbUseVign->set_sensitive(true); ckbUseVign->set_sensitive(true);
ckbUseCA->set_sensitive(false); ckbUseCA->set_sensitive(false);
@@ -499,8 +509,6 @@ void LensProfilePanel::onCorrModeChanged()
useDistChanged = true; useDistChanged = true;
useVignChanged = true; useVignChanged = true;
lensfunCameras->set_sensitive(false);
lensfunLenses->set_sensitive(false);
updateDisabled(true); updateDisabled(true);
mode = M("LENSPROFILE_CORRECTION_LCPFILE"); mode = M("LENSPROFILE_CORRECTION_LCPFILE");
@@ -511,8 +519,6 @@ void LensProfilePanel::onCorrModeChanged()
lensfunCameraChanged = false; lensfunCameraChanged = false;
lensfunLensChanged = false; lensfunLensChanged = false;
lensfunCameras->set_sensitive(true);
lensfunLenses->set_sensitive(true);
ckbUseDist->set_sensitive(true); ckbUseDist->set_sensitive(true);
ckbUseVign->set_sensitive(true); ckbUseVign->set_sensitive(true);
ckbUseCA->set_sensitive(true); ckbUseCA->set_sensitive(true);