From kde-commits Tue Sep 25 23:12:30 2012 From: Trever Fischer Date: Tue, 25 Sep 2012 23:12:30 +0000 To: kde-commits Subject: [kmix/kmix-improvements] src/gui2: Implment tandem channel volumes Message-Id: <20120925231230.84588A6320 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=134861476005736 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 *co= ntrol, QWidget *parent) KIcon icon(control->iconName()); iconLabel->setPixmap(icon.pixmap(QSize(32, 32))); = + m_channelLock =3D 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 =3D new QWidget(this); QVBoxLayout *sliderLayout =3D 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 =3D m_sliders[channel]->value(); + if (m_channelLock->isChecked()) { + for(int i =3D 0;ichannels();i++) { + m_control->setVolume(i, value); + if (i !=3D 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 m_sliders; QComboBox *m_targetSwitcher; + QPushButton *m_channelLock; }; = #endif // CONTROLSLIDER_H