diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-03-18 11:17:32 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-03-18 11:17:32 +0000 |
| commit | 625b2712c1c9fa46ba43684a24a477aa60d88089 (patch) | |
| tree | e1f0d7a6239bb48b079d7c067a16d9ac6fd729b8 /src/plugins/General/dbuscontrol/dbusadaptor.cpp | |
| parent | 3626269d655501b4d973e29060a9e96893e5af98 (diff) | |
| download | qmmp-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.cpp | 68 |
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(); +} + |
