Merge with 'Beep6581/dev'
This commit is contained in:
@@ -384,6 +384,8 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, TOOL_NAME, M("TP_WBALANC
|
||||
itcwb_primconn = itcwb_prim->signal_changed().connect(sigc::mem_fun(*this, &WhiteBalance::itcwb_prim_changed));
|
||||
itcwb_prim ->set_tooltip_markup (M("TP_WBALANCE_ITCWPRIM_TOOLTIP"));
|
||||
|
||||
compatVersionAdjuster.reset(new Adjuster("", 0., procparams::WBParams::CURRENT_COMPAT_VERSION, 1., procparams::WBParams::CURRENT_COMPAT_VERSION));
|
||||
|
||||
/* Gtk::Box* boxgreen = Gtk::manage (new Gtk::Box ());
|
||||
boxgreen->show ();
|
||||
|
||||
@@ -610,6 +612,7 @@ void WhiteBalance::optChanged ()
|
||||
equal->setEditedState (UnEdited);
|
||||
tempBias->setEditedState (UnEdited);
|
||||
observer10->setEdited(false);
|
||||
compatVersionAdjuster->setEditedState(UnEdited);
|
||||
} else {
|
||||
unsigned int methodId = findWBEntryId (row[methodColumns.colLabel], WBLT_GUI);
|
||||
const WBEntry& currMethod = WBParams::getWbEntries()[methodId];
|
||||
@@ -709,6 +712,17 @@ void WhiteBalance::optChanged ()
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if (compatVersionAdjuster->getIntValue() == 1 &&
|
||||
(!batchMode || currMethod.type != WBEntry::Type::AUTO)) {
|
||||
// Safe to upgrade version because method changed. In batch
|
||||
// mode, this method may be called even if there is no change,
|
||||
// so it's only safe to upgrade if the new method is not auto.
|
||||
compatVersionAdjuster->setValue(procparams::WBParams::CURRENT_COMPAT_VERSION);
|
||||
if (batchMode) {
|
||||
compatVersionAdjuster->setEditedState(Edited);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (listener && getEnabled()) {
|
||||
@@ -754,6 +768,7 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
lastitcwb_alg = pp->wb.itcwb_alg;
|
||||
itcwb_green->setValue (pp->wb.itcwb_green);
|
||||
|
||||
compatVersionAdjuster->setValue(pp->wb.compat_version);
|
||||
|
||||
itcwb_primconn.block (true);
|
||||
|
||||
@@ -792,6 +807,7 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
observer10->setEdited(pedited->wb.observer);
|
||||
itcwb_alg->set_inconsistent (!pedited->wb.itcwb_alg);
|
||||
itcwb_green->setEditedState (pedited->wb.itcwb_green ? Edited : UnEdited);
|
||||
compatVersionAdjuster->setEditedState(pedited->wb.compat_version ? Edited : UnEdited);
|
||||
}
|
||||
|
||||
if (pedited && !pedited->wb.method) {
|
||||
@@ -947,6 +963,7 @@ void WhiteBalance::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->wb.enabled = !get_inconsistent();
|
||||
pedited->wb.itcwb_prim = itcwb_prim->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->wb.itcwb_green = itcwb_green->getEditedState ();
|
||||
pedited->wb.compat_version = compatVersionAdjuster->getEditedState();
|
||||
}
|
||||
|
||||
pp->wb.enabled = getEnabled();
|
||||
@@ -982,6 +999,7 @@ void WhiteBalance::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->wb.itcwb_alg = itcwb_alg->get_active ();
|
||||
pp->wb.tempBias = tempBias->getValue ();
|
||||
pp->wb.itcwb_green = itcwb_green->getValue ();
|
||||
pp->wb.compat_version = compatVersionAdjuster->getIntValue();
|
||||
}
|
||||
|
||||
void WhiteBalance::setDefaults (const ProcParams* defParams, const ParamsEdited* pedited)
|
||||
@@ -1030,6 +1048,7 @@ void WhiteBalance::setBatchMode (bool batchMode)
|
||||
green->showEditedCB ();
|
||||
equal->showEditedCB ();
|
||||
tempBias->showEditedCB ();
|
||||
compatVersionAdjuster->showEditedCB();
|
||||
Gtk::TreeModel::Row row = *(refTreeModel->append());
|
||||
row[methodColumns.colId] = WBParams::getWbEntries().size();
|
||||
row[methodColumns.colLabel] = M("GENERAL_UNCHANGED");
|
||||
@@ -1065,7 +1084,7 @@ void WhiteBalance::setWB (int vtemp, double vgreen)
|
||||
|
||||
void WhiteBalance::resetWB ()
|
||||
{
|
||||
setActiveMethod("Camera");
|
||||
setActiveMethod(M("TP_WBALANCE_CAMERA"));
|
||||
}
|
||||
|
||||
void WhiteBalance::setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd)
|
||||
@@ -1170,10 +1189,10 @@ inline Gtk::TreeRow WhiteBalance::getActiveMethod ()
|
||||
return *(method->get_active());
|
||||
}
|
||||
|
||||
void WhiteBalance::WBChanged(int met, double temperature, double greenVal, double rw, double gw, double bw, float temp0, float delta, int bia, int dread, float studgood, float minchrom, int kmin, float histmin, float histmax)
|
||||
void WhiteBalance::WBChanged(int met, double temperature, double greenVal, double rw, double gw, double bw, float temp0, float delta, int bia, int dread, float studgood, float minchrom, int kmin, float histmin, float histmax, AWBMode aWBMode)
|
||||
{
|
||||
idle_register.add(
|
||||
[this, met, temperature, greenVal, rw, gw, bw, temp0, delta, bia, dread, studgood, minchrom, kmin, histmin, histmax]() -> bool
|
||||
[this, met, temperature, greenVal, rw, gw, bw, temp0, delta, bia, dread, studgood, minchrom, kmin, histmin, histmax, aWBMode]() -> bool
|
||||
{
|
||||
disableListener();
|
||||
temp->setValue(temperature);
|
||||
@@ -1226,7 +1245,22 @@ void WhiteBalance::WBChanged(int met, double temperature, double greenVal, doubl
|
||||
Glib::ustring::format(std::fixed, std::setprecision(0), histmin),
|
||||
Glib::ustring::format(std::fixed, std::setprecision(0), histmax))
|
||||
);
|
||||
|
||||
if (aWBMode == AWBMode::TEMP_CORRELATION_RAW) {
|
||||
itcwb_green->set_sensitive(true);
|
||||
tempBias->set_sensitive(true);
|
||||
itcwb_alg->set_sensitive(true);
|
||||
itcwb_prim->set_sensitive(true);
|
||||
} else if (aWBMode == AWBMode::RGB_GREY) {
|
||||
itcwb_green->set_sensitive(false);
|
||||
tempBias->set_sensitive(true);
|
||||
itcwb_alg->set_sensitive(false);
|
||||
itcwb_prim->set_sensitive(false);
|
||||
} else {
|
||||
itcwb_green->set_sensitive(false);
|
||||
tempBias->set_sensitive(false);
|
||||
itcwb_alg->set_sensitive(false);
|
||||
itcwb_prim->set_sensitive(false);
|
||||
}
|
||||
temp->setDefault(temperature);
|
||||
green->setDefault(greenVal);
|
||||
enableListener();
|
||||
|
||||
Reference in New Issue
Block a user