aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-04-01 19:18:05 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-04-01 19:18:05 +0000
commitdb37033dd5ec69524f611b65cb74ded1141a9ccc (patch)
tree8c577685f2e5edac45c7533d45b94caab626f12a /src
parent68788ace91e7b9feab2b8170298dfcf7ee06859a (diff)
downloadqmmp-db37033dd5ec69524f611b65cb74ded1141a9ccc.tar.gz
qmmp-db37033dd5ec69524f611b65cb74ded1141a9ccc.tar.bz2
qmmp-db37033dd5ec69524f611b65cb74ded1141a9ccc.zip
some code cleanup
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2142 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/ui/mainwindow.cpp43
-rw-r--r--src/ui/mainwindow.h7
-rw-r--r--src/ui/qmmpstarter.cpp48
-rw-r--r--src/ui/qmmpstarter.h8
4 files changed, 50 insertions, 56 deletions
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index f4f7fa4e6..4b9a243fd 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -53,15 +53,13 @@
#define KEY_OFFSET 10000
-MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option_manager, QWidget *parent)
- : QMainWindow(parent)
+MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
#ifdef Q_WS_X11
qDebug("MainWindow: detected wm: %s", qPrintable(WindowSystem::netWindowManagerName()));
#endif
m_vis = 0;
m_update = false;
- m_option_manager = option_manager;
setWindowIcon(QIcon(":/32x32/qmmp.png"));
setWindowFlags(Qt::Window | Qt::FramelessWindowHint |
Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint);
@@ -127,14 +125,8 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option
m_display->setPL(m_playlist);
dock->updateDock();
m_pl_manager->currentPlayList()->doCurrentVisibleRequest();
-#ifndef Q_OS_WIN32
- QString cwd = QDir::currentPath();
- processCommandArgs(args,cwd);
-#endif
if (m_startHidden && m_generalHandler->visibilityControl())
toggleVisibility();
- if(args.isEmpty())
- resume();
}
MainWindow::~MainWindow()
@@ -575,39 +567,6 @@ void MainWindow::playPause()
play();
}
-QString MainWindow::processCommandArgs(const QStringList &slist, const QString& cwd)
-{
- if(slist.isEmpty())
- return QString();
- QStringList paths;
- foreach(QString arg, slist) //detect file/directory paths
- {
- if(arg.startsWith("-"))
- break;
- paths.append(arg);
- }
- if(!paths.isEmpty())
- {
- m_option_manager->executeCommand(QString(), paths, cwd, this); //add paths only
- return QString();
- }
- QHash<QString, QStringList> commands = m_option_manager->splitArgs(slist);
- if(commands.isEmpty())
- return QString();
- foreach(QString key, commands.keys())
- {
- if(key == "--no-start")
- continue;
- if (CommandLineManager::hasOption(key))
- return CommandLineManager::executeCommand(key, commands.value(key));
- else if (m_option_manager->identify(key))
- m_option_manager->executeCommand(key, commands.value(key), cwd, this);
- else
- return QString();
- }
- return QString();
-}
-
void MainWindow::jumpToFile()
{
if (m_jumpDialog->isHidden())
diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h
index 72469518a..a3cfa8b99 100644
--- a/src/ui/mainwindow.h
+++ b/src/ui/mainwindow.h
@@ -41,7 +41,6 @@ class GeneralHandler;
class MediaPlayer;
class QMenu;
class QKeyEvent;
-class BuiltinCommandLineOption;
/**
@author Ilya Kotov <forkotov02@hotmail.ru>
@@ -50,7 +49,7 @@ class MainWindow : public QMainWindow
{
Q_OBJECT
public:
- MainWindow(const QStringList& args, BuiltinCommandLineOption*, QWidget *parent);
+ MainWindow(QWidget *parent = 0);
~MainWindow();
@@ -60,7 +59,7 @@ public:
void setVolume(int volume, int balance);
SoundCore* soundCore()const;
MainDisplay* mainDisplay()const;
- QString processCommandArgs(const QStringList &list,const QString& cwd);
+ void resume();
public slots:
void previous();
@@ -102,7 +101,6 @@ private:
void readSettings();
void writeSettings();
void createActions();
- void resume();
SoundCore *m_core;
QMenu *m_mainMenu;
MainDisplay *m_display;
@@ -118,7 +116,6 @@ private:
JumpToTrackDialog* m_jumpDialog;
bool m_hideOnClose, m_startHidden;
VisualMenu *m_visMenu;
- BuiltinCommandLineOption* m_option_manager;
GeneralHandler *m_generalHandler;
MediaPlayer *m_player;
};
diff --git a/src/ui/qmmpstarter.cpp b/src/ui/qmmpstarter.cpp
index c084cf5aa..71bef91f6 100644
--- a/src/ui/qmmpstarter.cpp
+++ b/src/ui/qmmpstarter.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2010 by Ilya Kotov *
+ * Copyright (C) 2006-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -112,7 +112,7 @@ QMMPStarter::QMMPStarter(int argc,char **argv, QObject* parent) : QObject(parent
exit(0);
}
-QMMPStarter::~ QMMPStarter()
+QMMPStarter::~QMMPStarter()
{
if (mw)
delete mw;
@@ -121,8 +121,11 @@ QMMPStarter::~ QMMPStarter()
void QMMPStarter::startMainWindow()
{
connect(m_server, SIGNAL(newConnection()), SLOT(readCommand()));
- QStringList arg_l = argString.split("\n", QString::SkipEmptyParts);
- mw = new MainWindow(arg_l,m_option_manager,0);
+ QStringList args = argString.split("\n", QString::SkipEmptyParts);
+ mw = new MainWindow();
+ processCommandArgs(args, QDir::currentPath());
+ if(args.isEmpty())
+ mw->resume();
}
void QMMPStarter::writeCommand()
@@ -153,7 +156,7 @@ void QMMPStarter::writeCommand()
}
void QMMPStarter::readCommand()
-{
+{
QLocalSocket *socket = m_server->nextPendingConnection();
socket->waitForReadyRead();
QByteArray inputArray = socket->readAll();
@@ -161,7 +164,7 @@ void QMMPStarter::readCommand()
return;
QStringList slist = QString::fromUtf8(inputArray.data()).split("\n",QString::SkipEmptyParts);
QString cwd = slist.takeAt(0);
- QString out = mw ? mw->processCommandArgs(slist, cwd) : QString();
+ QString out = processCommandArgs(slist, cwd);
if(!out.isEmpty())
{
//writing answer
@@ -171,6 +174,39 @@ void QMMPStarter::readCommand()
socket->deleteLater();
}
+QString QMMPStarter::processCommandArgs(const QStringList &slist, const QString& cwd)
+{
+ if(slist.isEmpty())
+ return QString();
+ QStringList paths;
+ foreach(QString arg, slist) //detect file/directory paths
+ {
+ if(arg.startsWith("-"))
+ break;
+ paths.append(arg);
+ }
+ if(!paths.isEmpty())
+ {
+ m_option_manager->executeCommand(QString(), paths, cwd, mw); //add paths only
+ return QString();
+ }
+ QHash<QString, QStringList> commands = m_option_manager->splitArgs(slist);
+ if(commands.isEmpty())
+ return QString();
+ foreach(QString key, commands.keys())
+ {
+ if(key == "--no-start")
+ continue;
+ if (CommandLineManager::hasOption(key))
+ return CommandLineManager::executeCommand(key, commands.value(key));
+ else if (m_option_manager->identify(key))
+ m_option_manager->executeCommand(key, commands.value(key), cwd, mw);
+ else
+ return QString();
+ }
+ return QString();
+}
+
void QMMPStarter::printUsage()
{
cout << qPrintable(tr("Usage: qmmp [options] [files]")) << endl;
diff --git a/src/ui/qmmpstarter.h b/src/ui/qmmpstarter.h
index de01d08d7..314716084 100644
--- a/src/ui/qmmpstarter.h
+++ b/src/ui/qmmpstarter.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006 by Ilya Kotov *
+ * Copyright (C) 2006-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -42,15 +42,17 @@ class QMMPStarter : public QObject
public:
QMMPStarter(int argc,char ** argv,QObject* parent = 0);
~QMMPStarter();
-protected slots:
+
+protected slots:
/*!
* Passes command args to the running application
*/
void writeCommand();
-
void readCommand();
+
private:
+ QString processCommandArgs(const QStringList &list,const QString& cwd);
/*!
* Prints usage
*/