First patch for issue 2648: "Improvements related to the GUI" ; now RT uses the new MyExpander class that integrates the Enabled button.
This commit is contained in:
@@ -9,12 +9,8 @@
|
||||
using namespace rtengine;
|
||||
using namespace rtengine::procparams;
|
||||
|
||||
Gradient::Gradient () : FoldableToolPanel(this), EditSubscriber(ET_OBJECTS), lastObject(-1), draggedPointOldAngle(-1000.)
|
||||
Gradient::Gradient () : FoldableToolPanel(this, "gradient", M("TP_GRADIENT_LABEL"), false, true), EditSubscriber(ET_OBJECTS), lastObject(-1), draggedPointOldAngle(-1000.)
|
||||
{
|
||||
enabled = Gtk::manage (new Gtk::CheckButton (M("GENERAL_ENABLED")));
|
||||
enabled->set_active (false);
|
||||
enaConn = enabled->signal_toggled().connect( sigc::mem_fun(*this, &Gradient::enabledChanged) );
|
||||
|
||||
edit = Gtk::manage (new Gtk::ToggleButton());
|
||||
edit->add (*Gtk::manage (new RTImage ("editmodehand.png")));
|
||||
edit->set_tooltip_text(M("EDIT_OBJECT_TOOLTIP"));
|
||||
@@ -40,11 +36,6 @@ Gradient::Gradient () : FoldableToolPanel(this), EditSubscriber(ET_OBJECTS), las
|
||||
centerY->set_tooltip_text (M("TP_GRADIENT_CENTER_Y_TOOLTIP"));
|
||||
centerY->setAdjusterListener (this);
|
||||
|
||||
enaBox = Gtk::manage (new Gtk::HBox());
|
||||
enaBox->pack_start(*enabled);
|
||||
enaBox->pack_end(*edit, false, false, 0);
|
||||
pack_start(*enaBox);
|
||||
pack_start(*Gtk::manage (new Gtk::HSeparator()), Gtk::PACK_EXPAND_WIDGET, 4);
|
||||
pack_start (*strength);
|
||||
pack_start (*degree);
|
||||
pack_start (*feather);
|
||||
@@ -119,20 +110,16 @@ void Gradient::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
strength->setEditedState (pedited->gradient.strength ? Edited : UnEdited);
|
||||
centerX->setEditedState (pedited->gradient.centerX ? Edited : UnEdited);
|
||||
centerY->setEditedState (pedited->gradient.centerY ? Edited : UnEdited);
|
||||
enabled->set_inconsistent (multiImage && !pedited->gradient.enabled);
|
||||
set_inconsistent (multiImage && !pedited->gradient.enabled);
|
||||
}
|
||||
|
||||
enaConn.block (true);
|
||||
enabled->set_active (pp->gradient.enabled);
|
||||
enaConn.block (false);
|
||||
setEnabled(pp->gradient.enabled);
|
||||
degree->setValue (pp->gradient.degree);
|
||||
feather->setValue (pp->gradient.feather);
|
||||
strength->setValue (pp->gradient.strength);
|
||||
centerX->setValue (pp->gradient.centerX);
|
||||
centerY->setValue (pp->gradient.centerY);
|
||||
|
||||
lastEnabled = pp->gradient.enabled;
|
||||
|
||||
updateGeometry (pp->gradient.centerX, pp->gradient.centerY, pp->gradient.feather, pp->gradient.degree);
|
||||
|
||||
enableListener ();
|
||||
@@ -195,7 +182,7 @@ void Gradient::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->gradient.strength = strength->getValue ();
|
||||
pp->gradient.centerX = centerX->getIntValue ();
|
||||
pp->gradient.centerY = centerY->getIntValue ();
|
||||
pp->gradient.enabled = enabled->get_active();
|
||||
pp->gradient.enabled = getEnabled();
|
||||
|
||||
if (pedited) {
|
||||
pedited->gradient.degree = degree->getEditedState ();
|
||||
@@ -203,7 +190,7 @@ void Gradient::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->gradient.strength = strength->getEditedState ();
|
||||
pedited->gradient.centerX = centerX->getEditedState ();
|
||||
pedited->gradient.centerY = centerY->getEditedState ();
|
||||
pedited->gradient.enabled = !enabled->get_inconsistent();
|
||||
pedited->gradient.enabled = !get_inconsistent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,7 +221,7 @@ void Gradient::adjusterChanged (Adjuster* a, double newval) {
|
||||
|
||||
updateGeometry (int(centerX->getValue()), int(centerY->getValue()), feather->getValue(), degree->getValue());
|
||||
|
||||
if (listener && enabled->get_active()) {
|
||||
if (listener && getEnabled()) {
|
||||
|
||||
if (a == degree)
|
||||
listener->panelChanged (EvGradientDegree, degree->getTextValue());
|
||||
@@ -249,20 +236,10 @@ void Gradient::adjusterChanged (Adjuster* a, double newval) {
|
||||
|
||||
void Gradient::enabledChanged () {
|
||||
|
||||
if (batchMode) {
|
||||
if (enabled->get_inconsistent()) {
|
||||
enabled->set_inconsistent (false);
|
||||
enaConn.block (true);
|
||||
enabled->set_active (false);
|
||||
enaConn.block (false);
|
||||
}
|
||||
else if (lastEnabled)
|
||||
enabled->set_inconsistent (true);
|
||||
|
||||
lastEnabled = enabled->get_active ();
|
||||
}
|
||||
if (listener) {
|
||||
if (enabled->get_active())
|
||||
if (get_inconsistent())
|
||||
listener->panelChanged (EvGradientEnabled, M("GENERAL_UNCHANGED"));
|
||||
else if (getEnabled())
|
||||
listener->panelChanged (EvGradientEnabled, M("GENERAL_ENABLED"));
|
||||
else
|
||||
listener->panelChanged (EvGradientEnabled, M("GENERAL_DISABLED"));
|
||||
@@ -289,7 +266,7 @@ void Gradient::trimValues (rtengine::procparams::ProcParams* pp)
|
||||
|
||||
void Gradient::setBatchMode (bool batchMode)
|
||||
{
|
||||
removeIfThere(enaBox, edit, false);
|
||||
removeIfThere(this, edit, false);
|
||||
ToolPanel::setBatchMode (batchMode);
|
||||
degree->showEditedCB ();
|
||||
feather->showEditedCB ();
|
||||
|
||||
Reference in New Issue
Block a user