23 #include <QPushButton>    24 #include <QRadioButton>    28 #include <KHelpClient>    29 #include <KLocalizedString>    45     :QDialog(parent), Ui::VolumeDlg(), m_factor(1.0), m_mode(MODE_DECIBEL),
    46      m_enable_updates(true), m_overview_cache(overview_cache)
    52     connect(rbFactor, SIGNAL(toggled(
bool)),
    54     connect(rbPercentage, SIGNAL(toggled(
bool)),
    56     connect(rbLogarithmic, SIGNAL(toggled(
bool)),
    60     connect(slider, SIGNAL(valueChanged(
int)),
    62     connect(spinbox, SIGNAL(valueChanged(
int)),
    69     int h = preview->height();
    71     preview->setFixedHeight(h);
    74     h     = (sizeHint().height() * 12) / 10;
    76     if (sizeHint().width() > w) w = sizeHint().width();
    84     buttonBox->button(QDialogButtonBox::Ok)->setFocus();
   102             rbFactor->setChecked(
true);
   103             slider->setMinimum(-9);
   104             slider->setMaximum(+9);
   105             slider->setPageStep(1);
   106             slider->setTickInterval(1);
   107             spinbox->setMinimum(-10);
   108             spinbox->setMaximum(+10);
   112             rbPercentage->setChecked(
true);
   114             slider->setMinimum(1);
   115             slider->setMaximum(10*100);
   116             slider->setPageStep(100);
   117             slider->setTickInterval(1*100);
   118             spinbox->setMinimum(1);
   119             spinbox->setMaximum(+10*100);
   123             rbLogarithmic->setChecked(
true);
   125             slider->setMinimum(-21);
   126             slider->setMaximum(+21);
   127             slider->setPageStep(6);
   128             slider->setTickInterval(6);
   129             spinbox->setMinimum(-21);
   130             spinbox->setMaximum(+21);
   156     int new_spinbox_value = 0;
   157     int new_slider_value  = 0;
   161     if (!qFuzzyCompare(
m_factor, value)) {
   167             int width  = preview->width();
   168             int height = preview->height();
   169             QColor fg = Qt::white;
   170             QColor bg = Qt::black;
   177             int middle = height >> 1;
   183             for (
int y = 0; y < height; y++) {
   188                     p.setCompositionMode(QPainter::CompositionMode_SourceOver);
   191                     p.setCompositionMode(QPainter::CompositionMode_Multiply);
   192                     if ((y < middle - red) || (y > middle + red))
   195                     else if ((y < middle - orange) || (y > middle + orange))
   200                         color = preview->palette().light().color();
   204                 p.drawLine(0, y, width-1, y);
   209             preview->setImage(image);
   221                 spinbox->setPrefix(
_(
"x "));
   222                 spinbox->setSuffix(
_(
""));
   223                 spinbox->setInverse(
false);
   225                 new_spinbox_value = new_value;
   226                 new_slider_value = new_value-1;
   231                 spinbox->setPrefix(
_(
"1/"));
   232                 spinbox->setSuffix(
_(
""));
   233                 spinbox->setInverse(
true);
   235                 new_spinbox_value = -1*new_value;
   236                 new_slider_value  = (new_value+1);
   246             new_slider_value = new_spinbox_value;
   247             spinbox->setPrefix(
_(
""));
   248             spinbox->setSuffix(
_(
"%"));
   249             spinbox->setInverse(
false);
   254             new_slider_value = 
Kwave::toInt(rint(20.0 * log10(value)));
   255             new_spinbox_value = new_slider_value;
   256             if (new_spinbox_value >= 0) {
   257                 spinbox->setPrefix(new_spinbox_value ? 
_(
"+") : 
_(
"+/- "));
   260                 spinbox->setPrefix(
_(
""));
   262             spinbox->setSuffix(
_(
" ") + i18n(
"dB"));
   263             spinbox->setInverse(
false);
   269     if (spinbox->value() != new_spinbox_value) spinbox->setValue(new_spinbox_value);
   272     int sv = slider->maximum() + slider->minimum() - new_slider_value;
   273     if (slider->value() != sv) slider->setValue(sv);
   283     int sv = slider->maximum() + slider->minimum() - pos;
   294                 factor = -1.0 / 
static_cast<double>(sv - 1);
   316     int sv = spinbox->value();
   326                 factor = sv ? sv : 0.5;
   329                 factor = 1.0 / 
static_cast<double>(sv);
   335             factor = 
static_cast<double>(pos) / 100.0;
   340             factor = pow(10.0, pos / 20.0);
   353     list << QString::number(static_cast<int>(
m_mode));
   361     double factor = params[0].toDouble();
   362     switch (params[1].toUInt()) {
   381     KHelpClient::invokeHelp(
_(
"plugin_sect_volume"));
 virtual QImage getOverView(int width, int height, const QColor &fg, const QColor &bg, double gain=1.0)
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)