diff options
author | Mateusz Łukasik <mati75@linuxmint.pl> | 2015-04-25 16:17:41 +0200 |
---|---|---|
committer | Mateusz Łukasik <mati75@linuxmint.pl> | 2015-04-25 16:17:41 +0200 |
commit | 45ee5ac6dc2159352596ce8e8ec744e0c864d492 (patch) | |
tree | 55ca90fd4a0d5c0eae188c5919510b6b0d2e3c5d /src/audioequalizer.cpp | |
parent | a35c74c509f107094fd81cee8df109b652063969 (diff) |
Imported Upstream version 14.9.0.6690~ds0
Diffstat (limited to 'src/audioequalizer.cpp')
-rw-r--r-- | src/audioequalizer.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/audioequalizer.cpp b/src/audioequalizer.cpp index 72186c3..623962a 100644 --- a/src/audioequalizer.cpp +++ b/src/audioequalizer.cpp @@ -1,5 +1,5 @@ /* smplayer, GUI front-end for mplayer. - Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net> + Copyright (C) 2006-2015 Ricardo Villalba <rvm@users.sourceforge.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,6 +40,8 @@ AudioEqualizer::AudioEqualizer( QWidget* parent, Qt::WindowFlags f) eq[n] = new EqSlider(this); eq[n]->setIcon( QPixmap() ); eq[n]->sliderWidget()->setRange(-120, 120); + eq[n]->sliderWidget()->setTracking(false); + connect(eq[n], SIGNAL(valueChanged(int)), this, SLOT(updatePresetCombo())); bl->addWidget(eq[n]); } @@ -228,9 +230,7 @@ void AudioEqualizer::retranslateStrings() { } void AudioEqualizer::reset() { - for (int n = 0; n < 10; n++) { - eq[n]->setValue(0); - } + setValues(preset_list[Flat]); presets_combo->setCurrentIndex(presets_combo->findData(Flat)); } @@ -261,8 +261,12 @@ void AudioEqualizer::setValues(AudioEqualizerList l) { qDebug("AudioEqualizer::setValues"); for (int n = 0; n < 10; n++) { + eq[n]->blockSignals(true); eq[n]->setValue(l[n].toInt()); + eq[n]->blockSignals(false); } + + emit valuesChanged(l); } void AudioEqualizer::presetChanged(int index) { @@ -289,6 +293,21 @@ void AudioEqualizer::applyButtonClicked() { emit applyClicked( l ); } +void AudioEqualizer::updatePresetCombo() { + qDebug("AudioEqualizer::updatePresetCombo"); + + AudioEqualizerList l; + for (int n = 0; n < 10; n++) { + l << eq[n]->value(); + } + + int p = findPreset(l); + int index = presets_combo->findData(p); + if (index != 1) { + presets_combo->setCurrentIndex(index); + } +} + void AudioEqualizer::hideEvent( QHideEvent * ) { emit visibilityChanged(); } |