Add reset button to whitebalance panel (back to Camera defaults).

Fixes #5054
This commit is contained in:
Thanatomanic
2021-05-22 09:07:45 +02:00
parent 8037a5da93
commit d2f3f903f0
2 changed files with 15 additions and 0 deletions

View File

@@ -249,9 +249,16 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB
Gtk::CellRendererText* cellRenderer = dynamic_cast<Gtk::CellRendererText*>(cells.at(1)); Gtk::CellRendererText* cellRenderer = dynamic_cast<Gtk::CellRendererText*>(cells.at(1));
cellRenderer->property_ellipsize() = Pango::ELLIPSIZE_MIDDLE; cellRenderer->property_ellipsize() = Pango::ELLIPSIZE_MIDDLE;
resetButton = Gtk::manage (new Gtk::Button()); // No label, keep it short
setExpandAlignProperties(resetButton, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER);
resetButton->set_relief(Gtk::RELIEF_NONE);
resetButton->get_style_context()->add_class(GTK_STYLE_CLASS_FLAT);
resetButton->set_image (*Gtk::manage (new RTImage ("undo-small.png")));
method->set_active (0); // Camera method->set_active (0); // Camera
methodgrid->attach (*lab, 0, 0, 1, 1); methodgrid->attach (*lab, 0, 0, 1, 1);
methodgrid->attach (*method, 1, 0, 1, 1); methodgrid->attach (*method, 1, 0, 1, 1);
methodgrid->attach (*resetButton, 2, 0, 1, 1);
pack_start (*methodgrid, Gtk::PACK_SHRINK, 0 ); pack_start (*methodgrid, Gtk::PACK_SHRINK, 0 );
opt = 0; opt = 0;
@@ -362,6 +369,7 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB
spotbutton->signal_pressed().connect( sigc::mem_fun(*this, &WhiteBalance::spotPressed) ); spotbutton->signal_pressed().connect( sigc::mem_fun(*this, &WhiteBalance::spotPressed) );
methconn = method->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::optChanged) ); methconn = method->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::optChanged) );
resetButton->signal_pressed().connect( sigc::mem_fun(*this, &WhiteBalance::resetWB) );
spotsize->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::spotSizeChanged) ); spotsize->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::spotSizeChanged) );
} }
@@ -828,6 +836,11 @@ void WhiteBalance::setWB (int vtemp, double vgreen)
} }
void WhiteBalance::resetWB ()
{
setActiveMethod("Camera");
}
void WhiteBalance::setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd) void WhiteBalance::setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd)
{ {

View File

@@ -65,6 +65,7 @@ protected:
Glib::RefPtr<Gtk::TreeStore> refTreeModel; Glib::RefPtr<Gtk::TreeStore> refTreeModel;
MethodColumns methodColumns; MethodColumns methodColumns;
MyComboBox* method; MyComboBox* method;
Gtk::Button* resetButton;
MyComboBoxText* spotsize; MyComboBoxText* spotsize;
Adjuster* temp; Adjuster* temp;
Adjuster* green; Adjuster* green;
@@ -122,6 +123,7 @@ public:
wblistener = l; wblistener = l;
} }
void setWB (int temp, double green); void setWB (int temp, double green);
void resetWB ();
void WBChanged (double temp, double green, float studgood) override; void WBChanged (double temp, double green, float studgood) override;
void setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd); void setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd);