[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kmix/kmix-improvements] src/gui2: Support volume modifications
From: Trever Fischer <tdfischer () fedoraproject ! org>
Date: 2012-09-24 21:58:25
Message-ID: 20120924215825.4B693A60D1 () git ! kde ! org
[Download RAW message or body]
Git commit 3743867da0d5ab533303d90490b1059c698d377b by Trever Fischer.
Committed on 24/09/2012 at 23:37.
Pushed by tdfischer into branch 'kmix-improvements'.
Support volume modifications
M +12 -2 src/gui2/ControlSlider.cpp
M +1 -0 src/gui2/ControlSlider.h
http://commits.kde.org/kmix/3743867da0d5ab533303d90490b1059c698d377b
diff --git a/src/gui2/ControlSlider.cpp b/src/gui2/ControlSlider.cpp
index 0f67497..ab176bb 100644
--- a/src/gui2/ControlSlider.cpp
+++ b/src/gui2/ControlSlider.cpp
@@ -2,6 +2,7 @@
#include <QtGui/QVBoxLayout>
#include <QtGui/QLabel>
#include <QtGui/QSlider>
+#include <QtCore/QSignalMapper>
#include "control_interface.h"
@@ -17,13 +18,16 @@ ControlSlider::ControlSlider(org::kde::KMix::Control *control, QWidget *parent)
layout->addWidget(label);
layout->addWidget(sliderContainer);
QHBoxLayout *sliderLayout = new QHBoxLayout(sliderContainer);
- qDebug() << control->channels() << "channels";
- for(int i = 0;i<2/*control->channels()*/;i++) {
+ QSignalMapper *mapper = new QSignalMapper(this);
+ connect(mapper, SIGNAL(mapped(int)), this, SLOT(updateVolume(int)));
+ for(int i = 0;i<control->channels();i++) {
QSlider *slider = new QSlider(sliderContainer);
sliderLayout->addWidget(slider);
slider->setMaximum(65536);
slider->setValue(control->getVolume(i));
+ mapper->setMapping(slider, i);
m_sliders << slider;
+ connect(slider, SIGNAL(valueChanged(int)), mapper, SLOT(map()));
}
connect(control, SIGNAL(volumeChanged(int)), this, SLOT(volumeChange(int)));
}
@@ -38,4 +42,10 @@ void ControlSlider::volumeChange(int channel)
m_sliders[channel]->setValue(m_control->getVolume(channel));
}
+void ControlSlider::updateVolume(int channel)
+{
+ m_control->setVolume(channel, m_sliders[channel]->value());
+}
+
+
#include "ControlSlider.moc"
diff --git a/src/gui2/ControlSlider.h b/src/gui2/ControlSlider.h
index 493afd1..c5d5949 100644
--- a/src/gui2/ControlSlider.h
+++ b/src/gui2/ControlSlider.h
@@ -43,6 +43,7 @@ public:
~ControlSlider();
private slots:
void volumeChange(int channel);
+ void updateVolume(int channel);
private:
org::kde::KMix::Control *m_control;
QList<QSlider*> m_sliders;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic