Do not gray out adjusters when automatic is enabled, fixes #5565
This commit is contained in:
@@ -230,22 +230,7 @@ void Adjuster::setDefaultEditedState (EditedState eState)
|
|||||||
void Adjuster::autoToggled ()
|
void Adjuster::autoToggled ()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!editedCheckBox) {
|
if (adjusterListener && !blocked) {
|
||||||
// If not used in the BatchEditor panel
|
|
||||||
if (automatic->get_active()) {
|
|
||||||
// Disable the slider and spin button
|
|
||||||
spin->set_sensitive(false);
|
|
||||||
slider->set_sensitive(false);
|
|
||||||
reset->set_sensitive(false);
|
|
||||||
} else {
|
|
||||||
// Enable the slider and spin button
|
|
||||||
spin->set_sensitive(true);
|
|
||||||
slider->set_sensitive(true);
|
|
||||||
reset->set_sensitive(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (adjusterListener != nullptr && !blocked) {
|
|
||||||
adjusterListener->adjusterAutoToggled(this);
|
adjusterListener->adjusterAutoToggled(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -380,6 +365,9 @@ void Adjuster::spinChanged ()
|
|||||||
if (adjusterListener && !blocked) {
|
if (adjusterListener && !blocked) {
|
||||||
if (!buttonReleaseSlider.connected() || afterReset) {
|
if (!buttonReleaseSlider.connected() || afterReset) {
|
||||||
eventPending = false;
|
eventPending = false;
|
||||||
|
if (automatic) {
|
||||||
|
setAutoValue(false);
|
||||||
|
}
|
||||||
adjusterListener->adjusterChanged(this, spin->get_value());
|
adjusterListener->adjusterChanged(this, spin->get_value());
|
||||||
} else {
|
} else {
|
||||||
eventPending = true;
|
eventPending = true;
|
||||||
@@ -419,6 +407,9 @@ void Adjuster::sliderChanged ()
|
|||||||
if (adjusterListener && !blocked) {
|
if (adjusterListener && !blocked) {
|
||||||
if (!buttonReleaseSlider.connected() || afterReset) {
|
if (!buttonReleaseSlider.connected() || afterReset) {
|
||||||
eventPending = false;
|
eventPending = false;
|
||||||
|
if (automatic) {
|
||||||
|
setAutoValue(false);
|
||||||
|
}
|
||||||
adjusterListener->adjusterChanged(this, spin->get_value());
|
adjusterListener->adjusterChanged(this, spin->get_value());
|
||||||
} else {
|
} else {
|
||||||
eventPending = true;
|
eventPending = true;
|
||||||
@@ -459,21 +450,6 @@ void Adjuster::setAutoValue (bool a)
|
|||||||
const bool oldVal = autoChange.block(true);
|
const bool oldVal = autoChange.block(true);
|
||||||
automatic->set_active(a);
|
automatic->set_active(a);
|
||||||
autoChange.block(oldVal);
|
autoChange.block(oldVal);
|
||||||
|
|
||||||
if (!editedCheckBox) {
|
|
||||||
// If not used in the BatchEditor panel
|
|
||||||
if (a) {
|
|
||||||
// Disable the slider and spin button
|
|
||||||
spin->set_sensitive(false);
|
|
||||||
slider->set_sensitive(false);
|
|
||||||
reset->set_sensitive(false);
|
|
||||||
} else {
|
|
||||||
// Enable the slider and spin button
|
|
||||||
spin->set_sensitive(true);
|
|
||||||
slider->set_sensitive(true);
|
|
||||||
reset->set_sensitive(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -481,6 +457,9 @@ bool Adjuster::notifyListener ()
|
|||||||
{
|
{
|
||||||
|
|
||||||
if (eventPending && adjusterListener != nullptr && !blocked) {
|
if (eventPending && adjusterListener != nullptr && !blocked) {
|
||||||
|
if (automatic) {
|
||||||
|
setAutoValue(false);
|
||||||
|
}
|
||||||
adjusterListener->adjusterChanged(this, spin->get_value());
|
adjusterListener->adjusterChanged(this, spin->get_value());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -571,6 +550,9 @@ void Adjuster::showEditedCB ()
|
|||||||
void Adjuster::editedToggled ()
|
void Adjuster::editedToggled ()
|
||||||
{
|
{
|
||||||
if (adjusterListener && !blocked) {
|
if (adjusterListener && !blocked) {
|
||||||
|
if (automatic) {
|
||||||
|
setAutoValue(false);
|
||||||
|
}
|
||||||
adjusterListener->adjusterChanged(this, spin->get_value());
|
adjusterListener->adjusterChanged(this, spin->get_value());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user