Wavelet equalizer: added buttons C+,N,C-; some small fixes

This commit is contained in:
Ilia Popov
2010-07-03 00:58:14 +02:00
parent 7b35381546
commit 2e3d6d156e
7 changed files with 74 additions and 15 deletions

View File

@@ -20,8 +20,8 @@
#define _COLORBOOST_H_
#include <gtkmm.h>
#include "adjuster.h"
#include "toolpanel.h"
#include <adjuster.h>
#include <toolpanel.h>
class ColorBoost : public Gtk::VBox, public AdjusterListener, public ToolPanel {

View File

@@ -27,11 +27,30 @@ Equalizer::Equalizer () : ToolPanel() {
enabled = Gtk::manage (new Gtk::CheckButton (M("GENERAL_ENABLED")));
enabled->set_active (true);
pack_start(*enabled);
enabled->show();
enaConn = enabled->signal_toggled().connect( sigc::mem_fun(*this, &Equalizer::enabled_toggled) );
enaConn = enabled->signal_toggled().connect( sigc::mem_fun(*this, &Equalizer::enabledToggled) );
Gtk::HSeparator *separator = Gtk::manage (new Gtk::HSeparator());
pack_start(*separator, Gtk::PACK_SHRINK, 2);
Gtk::HSeparator *separator1 = Gtk::manage (new Gtk::HSeparator());
pack_start(*separator1, Gtk::PACK_SHRINK, 2);
Gtk::HBox * buttonBox = Gtk::manage (new Gtk::HBox());
pack_start(*buttonBox, Gtk::PACK_SHRINK, 2);
Gtk::Button * contrastMinusButton = Gtk::manage (new Gtk::Button(M("TP_EQUALIZER_CONTRAST_MINUS")));
buttonBox->pack_start(*contrastMinusButton, Gtk::PACK_SHRINK, 2);
contrastMinusPressedConn = contrastMinusButton->signal_pressed().connect( sigc::mem_fun(*this, &Equalizer::contrastMinusPressed));
Gtk::Button * neutralButton = Gtk::manage (new Gtk::Button(M("TP_EQUALIZER_NEUTRAL")));
buttonBox->pack_start(*neutralButton, Gtk::PACK_SHRINK, 2);
neutralPressedConn = neutralButton->signal_pressed().connect( sigc::mem_fun(*this, &Equalizer::neutralPressed));
Gtk::Button * contrastPlusButton = Gtk::manage (new Gtk::Button(M("TP_EQUALIZER_CONTRAST_PLUS")));
buttonBox->pack_start(*contrastPlusButton, Gtk::PACK_SHRINK, 2);
contrastPlusPressedConn = contrastPlusButton->signal_pressed().connect( sigc::mem_fun(*this, &Equalizer::contrastPlusPressed));
buttonBox->show_all_children();
Gtk::HSeparator *separator2 = Gtk::manage (new Gtk::HSeparator());
pack_start(*separator2, Gtk::PACK_SHRINK, 2);
for(int i = 0; i < 8; i++)
{
@@ -141,7 +160,7 @@ void Equalizer::adjusterChanged (Adjuster* a, double newval) {
}
}
void Equalizer::enabled_toggled () {
void Equalizer::enabledToggled () {
if (batchMode) {
if (enabled->get_inconsistent()) {
@@ -165,3 +184,31 @@ void Equalizer::enabled_toggled () {
}
void Equalizer::neutralPressed () {
for (int i = 0; i < 8; i++) {
correction[i]->setValue(0);
adjusterChanged(correction[i], 0);
}
}
void Equalizer::contrastPlusPressed () {
for (int i = 0; i < 8; i++) {
int inc = 1 * (8 - i);
correction[i]->setValue(correction[i]->getValue() + inc);
adjusterChanged(correction[i], correction[i]->getValue());
}
}
void Equalizer::contrastMinusPressed () {
for (int i = 0; i < 8; i++) {
int inc = -1 * (8 - i);
correction[i]->setValue(correction[i]->getValue() + inc);
adjusterChanged(correction[i], correction[i]->getValue());
}
}

View File

@@ -17,8 +17,8 @@
* 2010 Ilya Popov <ilia_popov@rambler.ru>
*/
#ifndef EQUALIZE_H_INCLUDED
#define EQUALIZE_H_INCLUDED
#ifndef EQUALIZER_H_INCLUDED
#define EQUALIZER_H_INCLUDED
#include <gtkmm.h>
#include <adjuster.h>
@@ -33,6 +33,9 @@ protected:
Adjuster* correction[8];
sigc::connection enaConn;
sigc::connection neutralPressedConn;
sigc::connection contrastPlusPressedConn;
sigc::connection contrastMinusPressedConn;
bool lastEnabled;
@@ -47,7 +50,10 @@ public:
void setBatchMode (bool batchMode);
void adjusterChanged (Adjuster* a, double newval);
void enabled_toggled ();
void enabledToggled ();
void neutralPressed ();
void contrastPlusPressed ();
void contrastMinusPressed ();
};
#endif