diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/mediaplayer.cpp | 10 | ||||
| -rw-r--r-- | src/qmmpui/mediaplayer.h | 13 |
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 |
