aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/mediaplayer.cpp10
-rw-r--r--src/qmmpui/mediaplayer.h13
2 files changed, 21 insertions, 2 deletions
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp
index 40cd40c26..7f00febd6 100644
--- a/src/qmmpui/mediaplayer.cpp
+++ b/src/qmmpui/mediaplayer.cpp
@@ -22,6 +22,7 @@
#include <QString>
#include <QTranslator>
#include <QLocale>
+#include <QTimer>
#include "playlistitem.h"
#include "qmmpuisettings.h"
#include "mediaplayer.h"
@@ -37,6 +38,10 @@ MediaPlayer::MediaPlayer(QObject *parent)
m_pl_manager = 0;
m_core = 0;
m_skips = 0;
+ m_finishTimer = new QTimer(this);
+ m_finishTimer->setSingleShot(true);
+ m_finishTimer->setInterval(500);
+ connect(m_finishTimer, SIGNAL(timeout()), SIGNAL(playbackFinished()));
QTranslator *translator = new QTranslator(parent);
QString locale = Qmmp::systemLanguageID();
translator->load(QString(":/libqmmpui_") + locale);
@@ -177,7 +182,12 @@ void MediaPlayer::processState(Qmmp::State state)
m_nextUrl.clear();
break;
case Qmmp::Playing:
+ m_finishTimer->stop();
m_skips = 0;
+ break;
+ case Qmmp::Stopped:
+ m_finishTimer->start();
+ break;
default:
;
}
diff --git a/src/qmmpui/mediaplayer.h b/src/qmmpui/mediaplayer.h
index 2d2162527..08622cdeb 100644
--- a/src/qmmpui/mediaplayer.h
+++ b/src/qmmpui/mediaplayer.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2013 by Ilya Kotov *
+ * Copyright (C) 2008-2017 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -26,6 +26,7 @@
class QmmpUiSettings;
+class QTimer;
/*! @brief The MediaPlayer class provides a simple way to use SoundCore and PlayListModel together.
@@ -37,7 +38,7 @@ class MediaPlayer : public QObject
public:
/*!
* Object constructor,
- * @param parent Parent object
+ * @param parent Parent object.
*/
MediaPlayer(QObject *parent = 0);
/*!
@@ -53,6 +54,13 @@ public:
*/
PlayListManager *playListManager();
+signals:
+ /*!
+ * Signal emitted when playlist has finished or playback has been stopped by user.
+ * This signal should be used to reset/restore window title.
+ */
+ void playbackFinished();
+
public slots:
/*!
* Starts playback.
@@ -84,6 +92,7 @@ private:
static MediaPlayer* m_instance;
int m_skips;
QString m_nextUrl;
+ QTimer *m_finishTimer;
};
#endif