[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kmix/kmix-improvements] src/gui2: Implment tandem channel volumes
From: Trever Fischer <tdfischer () fedoraproject ! org>
Date: 2012-09-25 23:12:30
Message-ID: 20120925231230.84588A6320 () git ! kde ! org
[Download RAW message or body]
Git commit d2627ed891893fb495b2e636451fc33bfa778f90 by Trever Fischer.
Committed on 26/09/2012 at 01:10.
Pushed by tdfischer into branch 'kmix-improvements'.
Implment tandem channel volumes
M +16 -1 src/gui2/ControlSlider.cpp
M +1 -0 src/gui2/ControlSlider.h
http://commits.kde.org/kmix/d2627ed891893fb495b2e636451fc33bfa778f90
diff --git a/src/gui2/ControlSlider.cpp b/src/gui2/ControlSlider.cpp
index f7ba2b2..39da91a 100644
--- a/src/gui2/ControlSlider.cpp
+++ b/src/gui2/ControlSlider.cpp
@@ -30,8 +30,14 @@ ControlSlider::ControlSlider(org::kde::KMix::Control *control, QWidget *parent)
KIcon icon(control->iconName());
iconLabel->setPixmap(icon.pixmap(QSize(32, 32)));
+ m_channelLock = new QPushButton(labelContainer);
+ m_channelLock->setIcon(KIcon("object-locked"));
+ m_channelLock->setCheckable(true);
+ m_channelLock->setChecked(true);
+
labelLayout->addWidget(iconLabel);
labelLayout->addWidget(label);
+ labelLayout->addWidget(m_channelLock);
QWidget *sliderContainer = new QWidget(this);
QVBoxLayout *sliderLayout = new QVBoxLayout(sliderContainer);
@@ -98,7 +104,16 @@ void ControlSlider::volumeChange(int channel)
void ControlSlider::updateVolume(int channel)
{
- m_control->setVolume(channel, m_sliders[channel]->value());
+ int value = m_sliders[channel]->value();
+ if (m_channelLock->isChecked()) {
+ for(int i = 0;i<m_control->channels();i++) {
+ m_control->setVolume(i, value);
+ if (i != channel)
+ m_sliders[i]->setValue(value);
+ }
+ } else {
+ m_control->setVolume(channel, value);
+ }
}
void ControlSlider::updateMute()
diff --git a/src/gui2/ControlSlider.h b/src/gui2/ControlSlider.h
index c1e366f..8aa9aff 100644
--- a/src/gui2/ControlSlider.h
+++ b/src/gui2/ControlSlider.h
@@ -55,6 +55,7 @@ private:
org::kde::KMix::Control *m_control;
QList<QSlider*> m_sliders;
QComboBox *m_targetSwitcher;
+ QPushButton *m_channelLock;
};
#endif // CONTROLSLIDER_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic