aboutsummaryrefslogtreecommitdiff
path: root/src/ui/qmmpstarter.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-09-27 18:21:27 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-09-27 18:21:27 +0000
commitf196608bb14331834dfd9ccc71d5f5b884119d67 (patch)
treefba530b5495e5c46957aa0e0de393741dc11ada7 /src/ui/qmmpstarter.cpp
parent700719bd5419530363ec8fd36485fe997bad06d4 (diff)
downloadqmmp-f196608bb14331834dfd9ccc71d5f5b884119d67.tar.gz
qmmp-f196608bb14331834dfd9ccc71d5f5b884119d67.tar.bz2
qmmp-f196608bb14331834dfd9ccc71d5f5b884119d67.zip
added '--no-start' command line option
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1917 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/qmmpstarter.cpp')
-rw-r--r--src/ui/qmmpstarter.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/ui/qmmpstarter.cpp b/src/ui/qmmpstarter.cpp
index 05422d4e7..c084cf5aa 100644
--- a/src/ui/qmmpstarter.cpp
+++ b/src/ui/qmmpstarter.cpp
@@ -65,10 +65,8 @@ QMMPStarter::QMMPStarter(int argc,char **argv, QObject* parent) : QObject(parent
{
foreach(QString arg, commands.keys())
{
- if(!m_option_manager->identify(arg) &&
- !CommandLineManager::hasOption(arg) &&
- arg != "--enqueue" &&
- arg != "-e")
+ if(!m_option_manager->identify(arg) && !CommandLineManager::hasOption(arg) &&
+ arg != "--no-start")
{
cout << qPrintable(tr("Unknown command")) << endl;
exit(0);
@@ -78,24 +76,28 @@ QMMPStarter::QMMPStarter(int argc,char **argv, QObject* parent) : QObject(parent
m_server = new QLocalServer(this);
m_socket = new QLocalSocket(this);
- if(m_server->listen (UDS_PATH)) //trying to create server
+ bool noStart = commands.keys().contains("--no-start");
+
+ if(!noStart && m_server->listen (UDS_PATH)) //trying to create server
{
startMainWindow();
}
- else
+ else if(QFile::exists(UDS_PATH))
{
m_socket->connectToServer(UDS_PATH); //connecting
m_socket->waitForConnected();
if(!m_socket->isValid()) //invalid connection
{
- qWarning("QMMPStarter: trying to remove invalid socket file");
if(!QLocalServer::removeServer(UDS_PATH))
{
qWarning("QMMPStarter: unable to remove invalid socket file");
exit(1);
return;
}
- if(m_server->listen (UDS_PATH))
+ qWarning("QMMPStarter: removed invalid socket file");
+ if(noStart)
+ exit(0);
+ else if(m_server->listen (UDS_PATH))
startMainWindow();
else
{
@@ -106,6 +108,8 @@ QMMPStarter::QMMPStarter(int argc,char **argv, QObject* parent) : QObject(parent
else
writeCommand();
}
+ else
+ exit(0);
}
QMMPStarter::~ QMMPStarter()
@@ -172,9 +176,9 @@ void QMMPStarter::printUsage()
cout << qPrintable(tr("Usage: qmmp [options] [files]")) << endl;
cout << qPrintable(tr("Options:")) << endl;
cout << "--------" << endl;
- cout << "-e, --enqueue " << qPrintable(tr("Don't clear the playlist")) << endl;
cout << qPrintable(m_option_manager->helpString()) << endl;
CommandLineManager::printUsage();
+ cout << "--no-start " << qPrintable(tr("Don't start the application")) << endl;
cout << "--help " << qPrintable(tr("Display this text and exit")) << endl;
cout << "--version " << qPrintable(tr("Print version number and exit")) << endl;
cout << qPrintable(tr("Ideas, patches, bugreports send to forkotov02@hotmail.ru")) << endl;