aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--src/app/builtincommandlineoption.cpp52
-rw-r--r--src/app/builtincommandlineoption.h8
-rw-r--r--src/plugins/General/hotkey/hotkeymanager.cpp3
-rw-r--r--src/plugins/General/statusicon/statusicon.cpp5
-rw-r--r--src/plugins/Ui/skinned/mainwindow.cpp32
-rw-r--r--src/plugins/Ui/skinned/mainwindow.h3
-rw-r--r--src/qmmpui/general.cpp5
-rw-r--r--src/qmmpui/general.h4
-rw-r--r--src/qmmpui/generalhandler.cpp5
-rw-r--r--src/qmmpui/generalhandler.h4
10 files changed, 64 insertions, 57 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
diff --git a/src/plugins/General/hotkey/hotkeymanager.cpp b/src/plugins/General/hotkey/hotkeymanager.cpp
index c21431cea..9eddce3a0 100644
--- a/src/plugins/General/hotkey/hotkeymanager.cpp
+++ b/src/plugins/General/hotkey/hotkeymanager.cpp
@@ -45,6 +45,7 @@ extern "C"
#include <qmmp/qmmp.h>
#include <qmmp/soundcore.h>
#include <qmmpui/mediaplayer.h>
+#include <qmmpui/generalhandler.h>
#include "hotkeymanager.h"
quint32 Hotkey::defaultKey()
@@ -164,7 +165,7 @@ bool HotkeyManager::eventFilter(QObject* o, QEvent* e)
MediaPlayer::instance()->previous();
break;
case Hotkey::SHOW_HIDE:
- toggleVisibility();
+ GeneralHandler::instance()->toggleVisibility();
break;
case Hotkey::VOLUME_UP:
case Hotkey::VOLUME_DOWN:
diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp
index 78302ecd1..8311f7137 100644
--- a/src/plugins/General/statusicon/statusicon.cpp
+++ b/src/plugins/General/statusicon/statusicon.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2010 by Ilya Kotov *
+ * Copyright (C) 2008-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -30,6 +30,7 @@
#include <qmmp/soundcore.h>
#include <qmmpui/mediaplayer.h>
+#include <qmmpui/generalhandler.h>
#include "qmmptrayicon.h"
#include "statusicon.h"
@@ -129,7 +130,7 @@ void StatusIcon::showMetaData()
void StatusIcon::trayActivated(QSystemTrayIcon::ActivationReason reason)
{
if (reason == QSystemTrayIcon::Trigger)
- toggleVisibility();
+ GeneralHandler::instance()->toggleVisibility();
else if (reason == QSystemTrayIcon::MiddleClick)
{
if (SoundCore::instance()->state() == Qmmp::Stopped)
diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp
index cfb6bf927..972cf967e 100644
--- a/src/plugins/Ui/skinned/mainwindow.cpp
+++ b/src/plugins/Ui/skinned/mainwindow.cpp
@@ -49,7 +49,6 @@
#include "visualmenu.h"
#include "windowsystem.h"
#include "actionmanager.h"
-//#include "builtincommandlineoption.h"
#define KEY_OFFSET 10000
@@ -183,7 +182,6 @@ void MainWindow::previous()
void MainWindow::showState(Qmmp::State state)
{
- disconnectPl();
switch ((int) state)
{
case Qmmp::Playing:
@@ -525,26 +523,6 @@ void MainWindow::savePlaylist()
qWarning("Error: There is no registered playlist parsers");
}
-void MainWindow::setFileList(const QStringList &l, bool clear)
-{
- m_pl_manager->activatePlayList(m_pl_manager->selectedPlayList());
- if(!clear)
- {
- m_pl_manager->selectedPlayList()->add(l);
- return;
- }
- if (m_core->state() != Qmmp::Stopped)
- {
- stop();
- qApp->processEvents(); //receive stop signal
- }
- m_model = m_pl_manager->selectedPlayList();
- m_model->clear();
- connect(m_model, SIGNAL(itemAdded(PlayListItem*)), SLOT(play()));
- connect(m_model, SIGNAL(loaderFinished()), SLOT(disconnectPl()));
- m_model->add(l);
-}
-
void MainWindow::playPause()
{
if (m_core->state() == Qmmp::Playing)
@@ -570,16 +548,6 @@ void MainWindow::handleCloseRequest()
QApplication::closeAllWindows();
}
-void MainWindow::disconnectPl()
-{
- if(m_model)
- {
- disconnect(m_model, SIGNAL(itemAdded(PlayListItem*)), this, SLOT(play()));
- disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl()));
- m_model = 0;
- }
-}
-
void MainWindow::addUrl()
{
AddUrlDialog::popup(this, m_pl_manager->selectedPlayList());
diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h
index 0069ecafb..542b154a9 100644
--- a/src/plugins/Ui/skinned/mainwindow.h
+++ b/src/plugins/Ui/skinned/mainwindow.h
@@ -77,9 +77,7 @@ public slots:
void loadPlaylist();
void savePlaylist();
- void setFileList(const QStringList&, bool clear = true);
void about();
-
void updateSettings();
protected:
@@ -94,7 +92,6 @@ private slots:
void forward();
void backward();
void handleCloseRequest();
- void disconnectPl();
private:
void readSettings();
diff --git a/src/qmmpui/general.cpp b/src/qmmpui/general.cpp
index f6078cd13..2c9bef7c4 100644
--- a/src/qmmpui/general.cpp
+++ b/src/qmmpui/general.cpp
@@ -74,11 +74,6 @@ void General::exit()
emit exitCalled();
}
-void General::toggleVisibility()
-{
- emit toggleVisibilityCalled();
-}
-
QList<GeneralFactory*> *General::factories()
{
checkFactories();
diff --git a/src/qmmpui/general.h b/src/qmmpui/general.h
index 700a021b2..4c80c3de1 100644
--- a/src/qmmpui/general.h
+++ b/src/qmmpui/general.h
@@ -76,10 +76,6 @@ public slots:
* Tells the player to exit.
*/
void exit();
- /*!
- * Toggles player window visibility.
- */
- void toggleVisibility();
private:
QMap <uint, QString> m_strValues;
diff --git a/src/qmmpui/generalhandler.cpp b/src/qmmpui/generalhandler.cpp
index 2a163b0c1..5494b4d22 100644
--- a/src/qmmpui/generalhandler.cpp
+++ b/src/qmmpui/generalhandler.cpp
@@ -163,6 +163,11 @@ QMenu *GeneralHandler::createMenu(MenuType type, const QString &title, QWidget *
return 0;
}
+void GeneralHandler::toggleVisibility()
+{
+ emit toggleVisibilityCalled();
+}
+
GeneralHandler* GeneralHandler::instance()
{
return m_instance;
diff --git a/src/qmmpui/generalhandler.h b/src/qmmpui/generalhandler.h
index f7dcff968..209652434 100644
--- a/src/qmmpui/generalhandler.h
+++ b/src/qmmpui/generalhandler.h
@@ -96,6 +96,10 @@ public:
*/
QMenu *createMenu(MenuType type, const QString &title = QString(), QWidget *parent = 0);
/*!
+ * Toggles player window visibility.
+ */
+ void toggleVisibility();
+ /*!
* Returns a pointer to the object's instance.
*/
static GeneralHandler* instance();