summaryrefslogtreecommitdiffstats
path: root/demos
diff options
context:
space:
mode:
authorJustin McPherson <justin.mcpherson@nokia.com>2010-02-24 23:49:10 (GMT)
committerJustin McPherson <justin.mcpherson@nokia.com>2010-02-24 23:49:10 (GMT)
commit0bef5b3a51bf47851caf29bf0dedbf26a56cb8c4 (patch)
treef1c8379b25df379fda62cd3069df8e70b3ff86d7 /demos
parentf39bb2af2d81640d30222cd5abc31b076105dd8b (diff)
parentef30a6f336d55c813423bf139d8363f50181179f (diff)
downloadQt-0bef5b3a51bf47851caf29bf0dedbf26a56cb8c4.zip
Qt-0bef5b3a51bf47851caf29bf0dedbf26a56cb8c4.tar.gz
Qt-0bef5b3a51bf47851caf29bf0dedbf26a56cb8c4.tar.bz2
Merge branch 'master' of ../../qt/master
Conflicts: src/multimedia/qml/qml.pri src/multimedia/qml/qmlaudio_p.h src/multimedia/qml/qmlgraphicsvideo_p.h src/multimedia/qml/qmlmediabase_p.h src/plugins/qmlmodules/multimedia/multimedia.cpp
Diffstat (limited to 'demos')
-rw-r--r--demos/multimedia/player/player.cpp12
-rw-r--r--demos/multimedia/player/player.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/demos/multimedia/player/player.cpp b/demos/multimedia/player/player.cpp
index 64b1f25..49d18cb 100644
--- a/demos/multimedia/player/player.cpp
+++ b/demos/multimedia/player/player.cpp
@@ -99,7 +99,7 @@ Player::Player(QWidget *parent)
connect(controls, SIGNAL(pause()), player, SLOT(pause()));
connect(controls, SIGNAL(stop()), player, SLOT(stop()));
connect(controls, SIGNAL(next()), playlist, SLOT(next()));
- connect(controls, SIGNAL(previous()), playlist, SLOT(previous()));
+ connect(controls, SIGNAL(previous()), this, SLOT(previousClicked()));
connect(controls, SIGNAL(changeVolume(int)), player, SLOT(setVolume(int)));
connect(controls, SIGNAL(changeMuting(bool)), player, SLOT(setMuted(bool)));
connect(controls, SIGNAL(changeRate(qreal)), player, SLOT(setPlaybackRate(qreal)));
@@ -200,6 +200,16 @@ void Player::metaDataChanged()
}
}
+void Player::previousClicked()
+{
+ // Go to previous track if we are within the first 5 seconds of playback
+ // Otherwise, seek to the beginning.
+ if(player->position() <= 5000)
+ playlist->previous();
+ else
+ player->setPosition(0);
+}
+
void Player::jump(const QModelIndex &index)
{
if (index.isValid()) {
diff --git a/demos/multimedia/player/player.h b/demos/multimedia/player/player.h
index 0ad609b..1de8b1a 100644
--- a/demos/multimedia/player/player.h
+++ b/demos/multimedia/player/player.h
@@ -77,6 +77,8 @@ private slots:
void positionChanged(qint64 progress);
void metaDataChanged();
+ void previousClicked();
+
void seek(int seconds);
void jump(const QModelIndex &index);
void playlistPositionChanged(int);