aboutsummaryrefslogtreecommitdiff
path: root/src/ui/qmmpstarter.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-09-18 16:50:38 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-09-18 16:50:38 +0000
commit5717444b38b4f45ad185bbc6ea81cdb141befb8c (patch)
tree9ab1fdb4070f7dab49ce5da8b8cf07b79c508eb4 /src/ui/qmmpstarter.cpp
parent42aa3971c31736f04f668f84884c05f4dad793bd (diff)
downloadqmmp-5717444b38b4f45ad185bbc6ea81cdb141befb8c.tar.gz
qmmp-5717444b38b4f45ad185bbc6ea81cdb141befb8c.tar.bz2
qmmp-5717444b38b4f45ad185bbc6ea81cdb141befb8c.zip
added --status and --nowplaying command line option (Closes issue 266)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1893 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/qmmpstarter.cpp')
-rw-r--r--src/ui/qmmpstarter.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/ui/qmmpstarter.cpp b/src/ui/qmmpstarter.cpp
index bccd6e250..05422d4e7 100644
--- a/src/ui/qmmpstarter.cpp
+++ b/src/ui/qmmpstarter.cpp
@@ -136,6 +136,9 @@ void QMMPStarter::writeCommand()
barray.remove(0, size);
}
m_socket->flush();
+ //reading answer
+ if(m_socket->waitForReadyRead(1500))
+ cout << m_socket->readAll().data();
}
else
{
@@ -148,17 +151,20 @@ void QMMPStarter::writeCommand()
void QMMPStarter::readCommand()
{
QLocalSocket *socket = m_server->nextPendingConnection();
- socket->waitForDisconnected();
+ socket->waitForReadyRead();
QByteArray inputArray = socket->readAll();
- socket->deleteLater();
if(inputArray.isEmpty())
return;
QStringList slist = QString::fromUtf8(inputArray.data()).split("\n",QString::SkipEmptyParts);
QString cwd = slist.takeAt(0);
- if (mw)
+ QString out = mw ? mw->processCommandArgs(slist, cwd) : QString();
+ if(!out.isEmpty())
{
- mw->processCommandArgs(slist,cwd);
+ //writing answer
+ socket->write(out.toLocal8Bit());
+ socket->flush();
}
+ socket->deleteLater();
}
void QMMPStarter::printUsage()