aboutsummaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-07-02 11:58:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-07-02 11:58:53 +0000
commit1763b5effcfba6dd51f805c5948c9108f7c97348 (patch)
treef617f836ed835bb11f6a81675a2513956bc624e5 /src/app
parent87208d0c0953b953136b22e3d4f342984f0c138a (diff)
downloadqmmp-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')
-rw-r--r--src/app/builtincommandlineoption.cpp52
-rw-r--r--src/app/builtincommandlineoption.h8
2 files changed, 50 insertions, 10 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;
+ }
+}
diff --git a/src/app/builtincommandlineoption.h b/src/app/builtincommandlineoption.h
index 08d8e2df3..e771d9c63 100644
--- a/src/app/builtincommandlineoption.h
+++ b/src/app/builtincommandlineoption.h
@@ -24,6 +24,8 @@
#include <QHash>
#include <QStringList>
+class PlayListModel;
+
/**
@author Vladimir Kuznetsov <vovanec@gmail.ru>
*/
@@ -42,11 +44,15 @@ public:
bool identify(const QString& str)const;
const QString helpString()const;
void executeCommand(const QString& option, const QStringList &args,
- const QString &cwd/*, MainWindow *mw*/);
+ const QString &cwd);
QHash <QString, QStringList> splitArgs(const QStringList &args) const;
+private slots:
+ void disconnectPl();
+
private:
QStringList m_options;
+ PlayListModel *m_model;
};
#endif