diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-07-02 11:58:53 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-07-02 11:58:53 +0000 |
| commit | 1763b5effcfba6dd51f805c5948c9108f7c97348 (patch) | |
| tree | f617f836ed835bb11f6a81675a2513956bc624e5 /src/app/builtincommandlineoption.cpp | |
| parent | 87208d0c0953b953136b22e3d4f342984f0c138a (diff) | |
| download | qmmp-1763b5effcfba6dd51f805c5948c9108f7c97348.tar.gz qmmp-1763b5effcfba6dd51f805c5948c9108f7c97348.tar.bz2 qmmp-1763b5effcfba6dd51f805c5948c9108f7c97348.zip | |
fixed command line option, removed unused code
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2259 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/app/builtincommandlineoption.cpp')
| -rw-r--r-- | src/app/builtincommandlineoption.cpp | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/src/app/builtincommandlineoption.cpp b/src/app/builtincommandlineoption.cpp index 29c2a50f5..68ad43771 100644 --- a/src/app/builtincommandlineoption.cpp +++ b/src/app/builtincommandlineoption.cpp @@ -21,10 +21,12 @@ #include <QApplication> #include <qmmp/soundcore.h> #include <qmmpui/mediaplayer.h> +#include <qmmpui/generalhandler.h> #include "builtincommandlineoption.h" BuiltinCommandLineOption::BuiltinCommandLineOption(QObject *parent) : QObject(parent) { + m_model = 0; m_options << "--enqueue" << "-e" << "--play" << "-p" << "--pause" << "-u" @@ -69,16 +71,15 @@ const QString BuiltinCommandLineOption::helpString() const void BuiltinCommandLineOption::executeCommand(const QString &option_string, const QStringList &args, - const QString &cwd/*, - MainWindow *mw*/) + const QString &cwd) { SoundCore *core = SoundCore::instance(); MediaPlayer *player = MediaPlayer::instance(); + PlayListManager *pl_manager = PlayListManager::instance(); if(!core || !player) return; - /*if(option_string == "--enqueue" || option_string == "-e" || option_string.isEmpty()) + if(option_string == "--enqueue" || option_string == "-e" || option_string.isEmpty()) { - //QStringList args = commands.value(key); if(args.isEmpty()) return; QStringList full_path_list; @@ -89,10 +90,28 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, else full_path_list << cwd + "/" + s; } - //clear playlist if option is empty - //mw->setFileList(full_path_list, option_string.isEmpty()); + pl_manager->activatePlayList(pl_manager->selectedPlayList()); + if(option_string.isEmpty()) //clear playlist if option is empty + { + if (core->state() != Qmmp::Stopped) + { + core->stop(); + qApp->processEvents(); //receive stop signal + } + m_model = pl_manager->selectedPlayList(); + m_model->clear(); + connect(m_model, SIGNAL(itemAdded(PlayListItem*)), player, SLOT(play())); + connect(core, SIGNAL(stateChanged(Qmmp::State)), SLOT(disconnectPl())); + connect(m_model, SIGNAL(loaderFinished()), SLOT(disconnectPl())); + m_model->add(full_path_list); + } + else + { + pl_manager->selectedPlayList()->add(full_path_list); + return; + } } - else*/ if (option_string == "--play" || option_string == "-p") + else if (option_string == "--play" || option_string == "-p") { player->play(); } @@ -118,7 +137,10 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, } else if (option_string == "--play-pause" || option_string == "-t") { - //mw->playPause(); + if (core->state() == Qmmp::Playing) + core->pause(); + else + player->play(); } else if (option_string == "--jump-to-file" || option_string == "-j") { @@ -128,10 +150,11 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, { //mw->close(); qApp->closeAllWindows(); + qApp->quit(); } else if (option_string == "--toggle-visibility") { - //mw->toggleVisibility(); + GeneralHandler::instance()->toggleVisibility(); } else if (option_string == "--add-file") { @@ -162,3 +185,14 @@ QHash <QString, QStringList> BuiltinCommandLineOption::splitArgs(const QStringLi } return commands; } + +void BuiltinCommandLineOption::disconnectPl() +{ + if(m_model) + { + disconnect(m_model, SIGNAL(itemAdded(PlayListItem*)), MediaPlayer::instance(), SLOT(play())); + disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl())); + disconnect(SoundCore::instance(), SIGNAL(stateChanged(Qmmp::State)), this, SLOT(disconnectPl())); + m_model = 0; + } +} |
