diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-02-15 20:49:49 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-02-15 20:49:49 +0000 |
| commit | d4a82b8c2c4a5662ad437046e8b20199a655be40 (patch) | |
| tree | 4e009fbec33679ad2f789efa5d41be3aa1f9c6dc | |
| parent | 3a9f8bcb340ee9ab17f7c48d1637e025527aea84 (diff) | |
| download | qmmp-d4a82b8c2c4a5662ad437046e8b20199a655be40.tar.gz qmmp-d4a82b8c2c4a5662ad437046e8b20199a655be40.tar.bz2 qmmp-d4a82b8c2c4a5662ad437046e8b20199a655be40.zip | |
added '--pl-next' and '--pl-prev' command line options
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9226 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp | 30 | ||||
| -rw-r--r-- | src/plugins/CommandLineOptions/PlayListOption/playlistoption.h | 2 | ||||
| -rw-r--r-- | src/qmmpui/playlistmanager.cpp | 5 | ||||
| -rw-r--r-- | src/qmmpui/playlistmanager.h | 4 |
4 files changed, 40 insertions, 1 deletions
diff --git a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp index b017b160a..2dc537284 100644 --- a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp +++ b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp @@ -34,7 +34,9 @@ void PlayListOption::registerOprions() registerOption(PL_LIST, "--pl-list", tr("List all available playlists")); registerOption(PL_DUMP, "--pl-dump", tr("Show playlist content"), QStringList() << "id"); registerOption(PL_PLAY, "--pl-play", tr("Play track <track> in playlist <id>"), QStringList() << "id" << "track"); - registerOption(PL_CLEAR, "--pl-clear", tr("Clear playlist"), QStringList() << "id"); + registerOption(PL_CLEAR, "--pl-clear", tr("Clear playlist"), QStringList() << "id"); + registerOption(PL_NEXT, "--pl-next", tr("Activate next playlist")); + registerOption(PL_PREV, "--pl-prev", tr("Activate previous playlist")); registerOption(PL_REPEATE_TOGGLE, "--pl-repeat-toggle", tr("Toggle playlist repeat")); registerOption(PL_SHUFFLE_TOGGLE, "--pl-shuffle-toggle", tr("Toggle playlist shuffle")); registerOption(PL_STATE, "--pl-state", tr("Show playlist options")); @@ -44,6 +46,8 @@ void PlayListOption::registerOprions() setOptionFlags(PL_DUMP, HiddenFromHelp); setOptionFlags(PL_PLAY, HiddenFromHelp); setOptionFlags(PL_CLEAR, HiddenFromHelp); + setOptionFlags(PL_NEXT, HiddenFromHelp); + setOptionFlags(PL_PREV, HiddenFromHelp); setOptionFlags(PL_REPEATE_TOGGLE, HiddenFromHelp); setOptionFlags(PL_SHUFFLE_TOGGLE, HiddenFromHelp); setOptionFlags(PL_STATE, HiddenFromHelp); @@ -75,6 +79,8 @@ QString PlayListOption::executeCommand(int id, const QStringList &args) << helpString(PL_DUMP) << helpString(PL_PLAY) << helpString(PL_CLEAR) + << helpString(PL_NEXT) + << helpString(PL_PREV) << helpString(PL_REPEATE_TOGGLE) << helpString(PL_SHUFFLE_TOGGLE) << helpString(PL_STATE); @@ -135,6 +141,28 @@ QString PlayListOption::executeCommand(int id, const QStringList &args) player->play(); } break; + case PL_NEXT: + { + bool playing = SoundCore::instance()->state() == Qmmp::Playing; + player->stop(); + pl_manager->selectPlayList(pl_manager->currentPlayList()); + pl_manager->selectNextPlayList(); + pl_manager->activateSelectedPlayList(); + if(playing) + player->play(); + } + break; + case PL_PREV: + { + bool playing = SoundCore::instance()->state() == Qmmp::Playing; + player->stop(); + pl_manager->selectPlayList(pl_manager->currentPlayList()); + pl_manager->selectPreviousPlayList(); + pl_manager->activateSelectedPlayList(); + if(playing) + player->play(); + } + break; case PL_CLEAR: { int id = args.isEmpty() ? pl_manager->currentPlayListIndex() : args.at(0).toInt() - 1; diff --git a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h index 60cf7c0b1..26cc5e195 100644 --- a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h +++ b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h @@ -48,6 +48,8 @@ private: PL_LIST, PL_DUMP, PL_PLAY, + PL_NEXT, + PL_PREV, PL_CLEAR, PL_REPEATE_TOGGLE, PL_SHUFFLE_TOGGLE, diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp index 6029cf0f9..48480a299 100644 --- a/src/qmmpui/playlistmanager.cpp +++ b/src/qmmpui/playlistmanager.cpp @@ -168,6 +168,11 @@ void PlayListManager::activatePlayList(int index) activatePlayList(playListAt(index)); } +void PlayListManager::activateSelectedPlayList() +{ + activatePlayList(selectedPlayList()); +} + PlayListModel *PlayListManager::createPlayList(const QString &name) { PlayListModel *model = new PlayListModel (name.isEmpty() ? tr("Playlist") : name, this); diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h index 660d5ed14..7298b78a9 100644 --- a/src/qmmpui/playlistmanager.h +++ b/src/qmmpui/playlistmanager.h @@ -152,6 +152,10 @@ public slots: */ void activatePlayList(int index); /*! + * Sets selected playlist as current. + */ + void activateSelectedPlayList(); + /*! * Creates and selects new playlist with the given name \b name. */ PlayListModel *createPlayList(const QString &name = QString()); |
