Fixes bugs in Black-and-White tool
- Incorrect history messages were shown. - Channel mixer "Auto" behaved incorrectly. Fixes by Jacques Desmis. Closes #4570
This commit is contained in:
parent
039f68e545
commit
83e686a719
@ -1842,7 +1842,7 @@ BlackWhiteParams::BlackWhiteParams() :
|
|||||||
enabledcc(true),
|
enabledcc(true),
|
||||||
enabled(false),
|
enabled(false),
|
||||||
filter("None"),
|
filter("None"),
|
||||||
setting("NormalContrast"),
|
setting("RGB-Rel"),
|
||||||
method("Desaturation"),
|
method("Desaturation"),
|
||||||
mixerRed(33),
|
mixerRed(33),
|
||||||
mixerOrange(33),
|
mixerOrange(33),
|
||||||
|
@ -128,7 +128,7 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
|
|||||||
setting->append (M("TP_BWMIX_SET_ROYGCBPMREL"));
|
setting->append (M("TP_BWMIX_SET_ROYGCBPMREL"));
|
||||||
setting->append (M("TP_BWMIX_SET_INFRARED"));
|
setting->append (M("TP_BWMIX_SET_INFRARED"));
|
||||||
|
|
||||||
setting->set_active (0);
|
setting->set_active (11);
|
||||||
settingHBox->pack_start (*setting);
|
settingHBox->pack_start (*setting);
|
||||||
mixerVBox->pack_start (*settingHBox);
|
mixerVBox->pack_start (*settingHBox);
|
||||||
settingconn = setting->signal_changed().connect ( sigc::mem_fun(*this, &BlackWhite::settingChanged) );
|
settingconn = setting->signal_changed().connect ( sigc::mem_fun(*this, &BlackWhite::settingChanged) );
|
||||||
@ -388,9 +388,21 @@ bool BlackWhite::BWComputed_ ()
|
|||||||
|
|
||||||
disableListener ();
|
disableListener ();
|
||||||
mixerRed->setValue (nextredbw);
|
mixerRed->setValue (nextredbw);
|
||||||
|
adjusterChanged(mixerRed, mixerRed->getValue());
|
||||||
mixerGreen->setValue (nextgreenbw);
|
mixerGreen->setValue (nextgreenbw);
|
||||||
|
adjusterChanged(mixerGreen, mixerGreen->getValue());
|
||||||
mixerBlue->setValue (nextbluebw);
|
mixerBlue->setValue (nextbluebw);
|
||||||
|
adjusterChanged(mixerBlue, mixerBlue->getValue());
|
||||||
|
autoconn.block (true);
|
||||||
|
autoch->set_active (true);
|
||||||
|
autoconn.block (false);
|
||||||
|
lastAuto = false;
|
||||||
|
nextcount++;
|
||||||
enableListener ();
|
enableListener ();
|
||||||
|
if (listener && nextcount <= 1 ) {
|
||||||
|
// activated only 1 time, but perhaps in some cases if we want that all is update pp3, auto, sliders : nextcount <= 2 but it cost time and result is identical
|
||||||
|
listener->panelChanged (EvAutoch, M("GENERAL_ENABLED"));
|
||||||
|
}
|
||||||
|
|
||||||
updateRGBLabel();
|
updateRGBLabel();
|
||||||
|
|
||||||
@ -789,6 +801,7 @@ void BlackWhite::filterChanged ()
|
|||||||
|
|
||||||
if (listener && (multiImage || getEnabled())) {
|
if (listener && (multiImage || getEnabled())) {
|
||||||
listener->panelChanged (EvBWfilter, filter->get_active_text ());
|
listener->panelChanged (EvBWfilter, filter->get_active_text ());
|
||||||
|
listener->panelChanged (EvAutoch, M("GENERAL_ENABLED"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -884,6 +897,7 @@ void BlackWhite::neutral_pressed ()
|
|||||||
|
|
||||||
updateRGBLabel();
|
updateRGBLabel();
|
||||||
|
|
||||||
|
nextcount = 0;
|
||||||
if(listener) {
|
if(listener) {
|
||||||
listener->panelChanged (EvNeutralBW, M("GENERAL_RESET"));
|
listener->panelChanged (EvNeutralBW, M("GENERAL_RESET"));
|
||||||
}
|
}
|
||||||
@ -1089,6 +1103,7 @@ void BlackWhite::adjusterChanged (Adjuster* a, double newval)
|
|||||||
autoch->set_inconsistent (false);
|
autoch->set_inconsistent (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nextcount = 0;
|
||||||
autoconn.block(true);
|
autoconn.block(true);
|
||||||
autoch->set_active (false);
|
autoch->set_active (false);
|
||||||
autoconn.block(false);
|
autoconn.block(false);
|
||||||
|
@ -138,6 +138,7 @@ private:
|
|||||||
double nextredbw;
|
double nextredbw;
|
||||||
double nextgreenbw;
|
double nextgreenbw;
|
||||||
double nextbluebw;
|
double nextbluebw;
|
||||||
|
int nextcount = 0;
|
||||||
|
|
||||||
IdleRegister idle_register;
|
IdleRegister idle_register;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user