aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/dbuscontrol/dbusadaptor.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-03-18 11:17:32 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-03-18 11:17:32 +0000
commit625b2712c1c9fa46ba43684a24a477aa60d88089 (patch)
treee1f0d7a6239bb48b079d7c067a16d9ac6fd729b8 /src/plugins/General/dbuscontrol/dbusadaptor.cpp
parent3626269d655501b4d973e29060a9e96893e5af98 (diff)
downloadqmmp-625b2712c1c9fa46ba43684a24a477aa60d88089.tar.gz
qmmp-625b2712c1c9fa46ba43684a24a477aa60d88089.tar.bz2
qmmp-625b2712c1c9fa46ba43684a24a477aa60d88089.zip
dbus plugin: more properties and signals
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@277 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/dbuscontrol/dbusadaptor.cpp')
-rw-r--r--src/plugins/General/dbuscontrol/dbusadaptor.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/plugins/General/dbuscontrol/dbusadaptor.cpp b/src/plugins/General/dbuscontrol/dbusadaptor.cpp
index 730ab5ee3..7b02caa5d 100644
--- a/src/plugins/General/dbuscontrol/dbusadaptor.cpp
+++ b/src/plugins/General/dbuscontrol/dbusadaptor.cpp
@@ -20,6 +20,7 @@
#include <qmmpui/control.h>
+#include "dbuscontrol.h"
#include "dbusadaptor.h"
DBUSAdaptor::DBUSAdaptor(Control *ctrl, QObject *parent)
@@ -27,6 +28,7 @@ DBUSAdaptor::DBUSAdaptor(Control *ctrl, QObject *parent)
{
m_control = ctrl;
setAutoRelaySignals(TRUE);
+ connect(parent, SIGNAL(stateChanged()), SLOT (processState()));
}
DBUSAdaptor::~DBUSAdaptor()
@@ -67,6 +69,56 @@ void DBUSAdaptor::setBalance(int bal)
QMetaObject::invokeMethod(m_control, "setVolume", Q_ARG(int, left), Q_ARG(int, right));
}
+int DBUSAdaptor::length()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->length();
+}
+
+int DBUSAdaptor::year()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->year();
+}
+
+QString DBUSAdaptor::title()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->title();
+}
+
+QString DBUSAdaptor::artist()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->artist();
+}
+
+QString DBUSAdaptor::album()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->album();
+}
+
+QString DBUSAdaptor::comment()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->comment();
+}
+
+QString DBUSAdaptor::genre()
+{
+ return qobject_cast<DBUSControl *>(parent())->info()->genre();
+}
+
+bool DBUSAdaptor::isPlaying()
+{
+ return qobject_cast<DBUSControl *>(parent())->state() == General::Playing;
+}
+
+bool DBUSAdaptor::isPaused()
+{
+ return qobject_cast<DBUSControl *>(parent())->state() == General::Paused;
+}
+
+bool DBUSAdaptor::isStopped()
+{
+ return qobject_cast<DBUSControl *>(parent())->state() == General::Stopped;
+}
+
void DBUSAdaptor::play()
{
QMetaObject::invokeMethod(m_control, "play");
@@ -92,8 +144,24 @@ void DBUSAdaptor::pause()
QMetaObject::invokeMethod(m_control, "pause");
}
+void DBUSAdaptor::toggleVisibility()
+{
+ QMetaObject::invokeMethod(m_control, "toggleVisibility");
+}
+
void DBUSAdaptor::exit()
{
QMetaObject::invokeMethod(m_control, "exit");
}
+void DBUSAdaptor::processState()
+{
+ uint state = qobject_cast<DBUSControl *>(parent())->state();
+ if(state == General::Playing)
+ emit started();
+ else if(state == General::Stopped)
+ emit stopped();
+ else if(state == General::Paused)
+ emit paused();
+}
+