improved UI behaviour of "AWB temperature bias"

This commit is contained in:
Alberto Griggio 2017-02-16 12:15:17 +01:00
parent 7a57e5276a
commit ed71a7eb4e

View File

@ -369,6 +369,8 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
if (!ppMethod || (ppMethod->ppLabel != wbCustom->ppLabel && !((a == equal || a == tempBias) && ppMethod->type == WBT_AUTO)) ) { if (!ppMethod || (ppMethod->ppLabel != wbCustom->ppLabel && !((a == equal || a == tempBias) && ppMethod->type == WBT_AUTO)) ) {
methconn.block(true); methconn.block(true);
opt = setActiveMethod(wbCustom->GUILabel); opt = setActiveMethod(wbCustom->GUILabel);
tempBias->set_sensitive(false);
cache_customWB (tVal, gVal); cache_customWB (tVal, gVal);
if (a != equal) { if (a != equal) {
cache_customEqual(eVal); cache_customEqual(eVal);
@ -430,10 +432,13 @@ void WhiteBalance::optChanged ()
temp->setEditedState (UnEdited); temp->setEditedState (UnEdited);
green->setEditedState (UnEdited); green->setEditedState (UnEdited);
equal->setEditedState (UnEdited); equal->setEditedState (UnEdited);
tempBias->setEditedState (UnEdited);
} else { } else {
int methodId = findWBEntryId (row[methodColumns.colLabel], WBLT_GUI); int methodId = findWBEntryId (row[methodColumns.colLabel], WBLT_GUI);
WBEntry* currMethod = WBParams::wbEntries[methodId]; WBEntry* currMethod = WBParams::wbEntries[methodId];
tempBias->set_sensitive(currMethod->type == WBT_AUTO);
switch (currMethod->type) { switch (currMethod->type) {
case WBT_CAMERA: case WBT_CAMERA:
if (wbp) { if (wbp) {
@ -442,13 +447,11 @@ void WhiteBalance::optChanged ()
temp->setValue (temp->getAddMode() ? 0.0 : (int)ctemp); temp->setValue (temp->getAddMode() ? 0.0 : (int)ctemp);
green->setValue (green->getAddMode() ? 0.0 : cgreen); green->setValue (green->getAddMode() ? 0.0 : cgreen);
equal->setValue (equal->getAddMode() ? 0.0 : 1.0); equal->setValue (equal->getAddMode() ? 0.0 : 1.0);
tempBias->setValue (tempBias->getAddMode() ? 0.0 : 0.0);
if (batchMode) { if (batchMode) {
temp->setEditedState (UnEdited); temp->setEditedState (UnEdited);
green->setEditedState (UnEdited); green->setEditedState (UnEdited);
equal->setEditedState (UnEdited); equal->setEditedState (UnEdited);
tempBias->setEditedState (UnEdited);
} }
} }
@ -472,19 +475,16 @@ void WhiteBalance::optChanged ()
temp->setValue (temp->getAddMode() ? 0.0 : custom_temp); temp->setValue (temp->getAddMode() ? 0.0 : custom_temp);
green->setValue (green->getAddMode() ? 0.0 : custom_green); green->setValue (green->getAddMode() ? 0.0 : custom_green);
equal->setValue (equal->getAddMode() ? 0.0 : custom_equal); equal->setValue (equal->getAddMode() ? 0.0 : custom_equal);
tempBias->setValue (tempBias->getAddMode() ? 0.0 : custom_tempBias);
} else { } else {
cache_customTemp (temp->getValue()); cache_customTemp (temp->getValue());
cache_customGreen (green->getValue()); cache_customGreen (green->getValue());
cache_customEqual (equal->getValue()); cache_customEqual (equal->getValue());
cache_customTempBias (tempBias->getValue());
} }
if (batchMode) { if (batchMode) {
temp->setEditedState (Edited); temp->setEditedState (Edited);
green->setEditedState (Edited); green->setEditedState (Edited);
equal->setEditedState (Edited); equal->setEditedState (Edited);
tempBias->setEditedState (Edited);
} }
break; break;
@ -503,13 +503,11 @@ void WhiteBalance::optChanged ()
temp->setValue ( temp->getAddMode() ? 0.0 : (double)(currMethod->temperature)); temp->setValue ( temp->getAddMode() ? 0.0 : (double)(currMethod->temperature));
green->setValue (green->getAddMode() ? 0.0 : (double)(currMethod->green)); green->setValue (green->getAddMode() ? 0.0 : (double)(currMethod->green));
equal->setValue (equal->getAddMode() ? 0.0 : (double)(currMethod->equal)); equal->setValue (equal->getAddMode() ? 0.0 : (double)(currMethod->equal));
tempBias->setValue (tempBias->getAddMode() ? 0.0 : (double)(currMethod->tempBias));
if (batchMode) { if (batchMode) {
temp->setEditedState (Edited); temp->setEditedState (Edited);
green->setEditedState (Edited); green->setEditedState (Edited);
equal->setEditedState (Edited); equal->setEditedState (Edited);
tempBias->setEditedState (Edited);
} }
break; break;
@ -546,6 +544,7 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
methconn.block (true); methconn.block (true);
equal->setValue (pp->wb.equal); equal->setValue (pp->wb.equal);
tempBias->setValue (pp->wb.tempBias); tempBias->setValue (pp->wb.tempBias);
tempBias->set_sensitive(true);
if (pedited) { if (pedited) {
// By default, temperature and green are said "UnEdited", but it may change later // By default, temperature and green are said "UnEdited", but it may change later
@ -598,13 +597,12 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
// Set the camera's green value, or 0.0 if in ADD mode // Set the camera's green value, or 0.0 if in ADD mode
green->setValue (green->getAddMode() ? 0.0 : cgreen); green->setValue (green->getAddMode() ? 0.0 : cgreen);
equal->setValue (equal->getAddMode() ? 0.0 : 1.); equal->setValue (equal->getAddMode() ? 0.0 : 1.);
tempBias->setValue (tempBias->getAddMode() ? 0.0 : 0.0);
} else { } else {
temp->setValue (temp->getAddMode() ? 0.0 : pp->wb.temperature); temp->setValue (temp->getAddMode() ? 0.0 : pp->wb.temperature);
green->setValue (green->getAddMode() ? 0.0 : pp->wb.green); green->setValue (green->getAddMode() ? 0.0 : pp->wb.green);
equal->setValue (equal->getAddMode() ? 0.0 : pp->wb.equal); equal->setValue (equal->getAddMode() ? 0.0 : pp->wb.equal);
tempBias->setValue (equal->getAddMode() ? 0.0 : pp->wb.tempBias);
} }
tempBias->setValue (equal->getAddMode() ? 0.0 : pp->wb.tempBias);
} }
break; break;
@ -656,6 +654,8 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
//cache_customGreen (pp->wb.green); //cache_customGreen (pp->wb.green);
break; break;
} }
tempBias->set_sensitive(wbValues->type == WBT_AUTO);
} }
methconn.block (false); methconn.block (false);