[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeplasma-addons/applets/nowplaying
From: Alex Merry <kde () randomguy3 ! me ! uk>
Date: 2009-02-21 16:42:18
Message-ID: 1235234538.373524.19292.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 929567 by alexmerry:
Respond properly to slider value changes. Makes mouse-wheel scrolling work as expected.
BUG: 182693
M +14 -9 nowplaying.cpp
M +1 -2 nowplaying.h
--- trunk/KDE/kdeplasma-addons/applets/nowplaying/nowplaying.cpp #929566:929567
@@ -65,9 +65,7 @@
m_volumeSlider->setMinimum(0);
m_volumeSlider->setMaximum(100);
m_volumeSlider->setValue(0);
- connect(this, SIGNAL(volumeChanged(int)),
- m_volumeSlider, SLOT(setValue(int)));
- connect(m_volumeSlider, SIGNAL(sliderMoved(int)),
+ connect(m_volumeSlider, SIGNAL(valueChanged(int)),
this, SLOT(setVolume(int)));
m_volumeSlider->setEnabled(false);
@@ -75,11 +73,9 @@
m_positionSlider->setMinimum(0);
m_positionSlider->setMaximum(0);
m_positionSlider->setValue(0);
- connect(this, SIGNAL(positionChanged(int)),
- m_positionSlider, SLOT(setValue(int)));
connect(this, SIGNAL(lengthChanged(int)),
m_positionSlider, SLOT(setMaximum(int)));
- connect(m_positionSlider, SIGNAL(sliderMoved(int)),
+ connect(m_positionSlider, SIGNAL(valueChanged(int)),
this, SLOT(setPosition(int)));
m_positionSlider->setEnabled(false);
}
@@ -209,6 +205,13 @@
}
}
+void NowPlaying::updatePositionSlider(int position)
+{
+ m_positionSlider->blockSignals(true);
+ m_positionSlider->setValue(position);
+ m_positionSlider->blockSignals(false);
+}
+
void NowPlaying::dataUpdated(const QString &name,
const Plasma::DataEngine::Data &data)
{
@@ -242,7 +245,7 @@
if (length != m_length) {
m_length = length;
if (length == 0) {
- emit positionChanged(0);
+ updatePositionSlider(0);
}
emit lengthChanged(m_length);
}
@@ -253,7 +256,7 @@
QString::number(length / 60) + ':' +
QString::number(length % 60).rightJustified(2, '0');
// we assume it's changed
- emit positionChanged(pos);
+ updatePositionSlider(pos);
}
QMap<QString,QString> metadata;
@@ -272,7 +275,9 @@
if (data["Volume"].toDouble() != m_volume) {
m_volume = data["Volume"].toDouble();
- emit volumeChanged(m_volume * 100);
+ m_volumeSlider->blockSignals(true);
+ m_volumeSlider->setValue(m_volume * 100);
+ m_volumeSlider->blockSignals(false);
}
// used for seeing when the track has changed
--- trunk/KDE/kdeplasma-addons/applets/nowplaying/nowplaying.h #929566:929567
@@ -70,8 +70,6 @@
void controllerChanged(Plasma::Service* controller);
void metadataChanged(const QMap<QString,QString>& metadata);
void coverChanged(const QPixmap& picture);
- void volumeChanged(int volumePercent);
- void positionChanged(int position);
void lengthChanged(int length);
public slots:
@@ -94,6 +92,7 @@
void findPlayer();
void layoutPlanar();
void layoutHorizontal();
+ void updatePositionSlider(int position);
QString m_watchingPlayer;
Plasma::Service* m_controller;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic