diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-10-20 20:13:25 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-10-20 20:13:25 +0000 |
| commit | d2fee6f4332b04300692eed8a4d2b33a9d9a5176 (patch) | |
| tree | 175a6b0b602cf603d97f007a8ed680f35b375b82 /src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp | |
| parent | 69d29f576c84768c1cfda8a34c18d881d84ab389 (diff) | |
| download | qmmp-d2fee6f4332b04300692eed8a4d2b33a9d9a5176.tar.gz qmmp-d2fee6f4332b04300692eed8a4d2b33a9d9a5176.tar.bz2 qmmp-d2fee6f4332b04300692eed8a4d2b33a9d9a5176.zip | |
added some command line options
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2416 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp')
| -rw-r--r-- | src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp | 53 |
1 files changed, 43 insertions, 10 deletions
diff --git a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp index 49324b98a..802fbc0a2 100644 --- a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp +++ b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp @@ -24,22 +24,25 @@ #include <qmmp/soundcore.h> #include <qmmpui/playlistmanager.h> #include <qmmpui/metadataformatter.h> +#include <qmmpui/mediaplayer.h> #include "playlistoption.h" bool PlayListOption::identify(const QString & str) const { - return str == QString("--pl-list") || - str == QString("--pl-dump") || - str == QString("--pl-clear"); + return str == QString("--pl-help") || + str == QString("--pl-list") || + str == QString("--pl-dump") || + str == QString("--pl-clear") || + str == QString("--pl-repeat-toggle") || + str == QString("--pl-shuffle-toggle") || + str == QString("--pl-state"); } const QString PlayListOption::helpString() const { - return QString( - "--pl-list " + tr("List all available playlists")+"\n"+ - "--pl-dump <id> " + tr("Show playlist content")+"\n" + - "--pl-clear <id> " + tr("Clear playlist")+"\n" - ); + return QString( + "--pl-help " + tr("Show playlist manipulation commands")+"\n" + ); } QString PlayListOption::executeCommand(const QString& opt_str, const QStringList &args) @@ -47,8 +50,18 @@ QString PlayListOption::executeCommand(const QString& opt_str, const QStringList Q_UNUSED(args); QString out; PlayListManager *pl_manager = PlayListManager::instance(); + MediaPlayer *player = MediaPlayer::instance(); - if(opt_str == "--pl-list") + if(opt_str == "--pl-help") + { + out = "--pl-list " + tr("List all available playlists")+"\n"+ + "--pl-dump <id> " + tr("Show playlist content")+"\n" + + "--pl-clear <id> " + tr("Clear playlist")+"\n"+ + "--pl-repeat-toggle " + tr("Toggle playlist repeat")+"\n"+ + "--pl-shuffle-toggle " + tr("Toggle playlist shuffle")+"\n"+ + "--pl-state " + tr("Show playlist options")+"\n"; + } + else if(opt_str == "--pl-list") { QStringList names = pl_manager->playListNames(); for(int i = 0; i < names.count(); ++i) @@ -79,9 +92,24 @@ QString PlayListOption::executeCommand(const QString& opt_str, const QStringList int id = args.isEmpty() ? pl_manager->currentPlayListIndex() : args.at(0).toInt() - 1; PlayListModel *model = pl_manager->playListAt(id); if(!model) - out = tr("Invalid playlist ID") + "\n"; + return tr("Invalid playlist ID") + "\n"; model->clear(); } + else if(opt_str == "--pl-repeat-toggle") + { + player->setRepeatable(!player->isRepeatable()); + } + else if(opt_str == "--pl-shuffle-toggle") + { + pl_manager->setShuffle(!pl_manager->isShuffle()); + } + else if(opt_str == "--pl-state") + { + out += "SHUFFLE: " + boolToText(pl_manager->isShuffle()) + "\n"; + out += "REPEAT PLAYLIST: " + boolToText(pl_manager->isRepeatableList()) + "\n"; + out += "REPEAT TRACK: " + boolToText(player->isRepeatable()) + "\n"; + out += "NO PLAYLIST ADVANCE: " + boolToText(player->isNoPlaylistAdvance()) + "\n"; + } return out; } @@ -98,4 +126,9 @@ QTranslator *PlayListOption::createTranslator(QObject *parent) return translator; } +QString PlayListOption::boolToText(bool enabled) +{ + return QString(enabled ? "[+]" : "[-]"); +} + Q_EXPORT_PLUGIN2(playlistoption, PlayListOption) |
