aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Fabio Bas2009-01-04 23:57:17 +0000
committerGravatar Fabio Bas2009-01-04 23:57:17 +0000
commitddcb116f6994c91433d3d3f2605806e905bccba6 (patch)
tree2a249423450ebc592a5dc9a2616c8960690ef4d8 /src/modules
parentreworked patch for #335 (diff)
downloadKVIrc-ddcb116f6994c91433d3d3f2605806e905bccba6.tar.gz
KVIrc-ddcb116f6994c91433d3d3f2605806e905bccba6.tar.bz2
KVIrc-ddcb116f6994c91433d3d3f2605806e905bccba6.zip
hopefully finally fixed #335 (avoiding the broken qt routine)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2975 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/mediaplayer/mp_mprisinterface.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/src/modules/mediaplayer/mp_mprisinterface.cpp b/src/modules/mediaplayer/mp_mprisinterface.cpp
index 665f73cf5..4cc385ec4 100644
--- a/src/modules/mediaplayer/mp_mprisinterface.cpp
+++ b/src/modules/mediaplayer/mp_mprisinterface.cpp
@@ -124,27 +124,6 @@ bool KviMPRISInterface::quit()
MPRIS_SIMPLE_CALL("/", "Quit")
}
-KviMediaPlayerInterface::PlayerStatus KviMPRISInterface::status()
-{
- QDBusInterface dbus_iface(m_szServiceName, "/Player",
- "org.freedesktop.MediaPlayer", QDBusConnection::sessionBus());
- if (!dbus_iface.isValid())
- return KviMediaPlayerInterface::Unknown;
-
- QList<QVariant> argumentList;
- QDBusReply<MPRISPlayerStatus> reply = dbus_iface.callWithArgumentList(QDBus::Block, "GetStatus", argumentList);
-
- if (!reply.isValid())
- return KviMediaPlayerInterface::Unknown;
-
- switch (reply.value().Play) {
- case 0: return KviMediaPlayerInterface::Playing;
- case 1: return KviMediaPlayerInterface::Paused;
- case 2: return KviMediaPlayerInterface::Stopped;
- default: return KviMediaPlayerInterface::Unknown;
- }
-}
-
#define MPRIS_CALL_METHOD(__method, __return_if_fail) \
QDBusInterface dbus_iface(m_szServiceName, "/Player", \
"org.freedesktop.MediaPlayer", QDBusConnection::sessionBus()); \
@@ -182,6 +161,25 @@ KviMediaPlayerInterface::PlayerStatus KviMPRISInterface::status()
return __return_if_fail; \
}
+KviMediaPlayerInterface::PlayerStatus KviMPRISInterface::status()
+{
+ MPRIS_CALL_METHOD("GetStatus", KviMediaPlayerInterface::Unknown)
+
+ MPRISPlayerStatus status;
+
+ if(reply.arguments().isEmpty())
+ return KviMediaPlayerInterface::Unknown;
+
+ status = qdbus_cast<MPRISPlayerStatus>(reply.arguments().first());
+
+ switch (status.Play) {
+ case 0: return KviMediaPlayerInterface::Playing;
+ case 1: return KviMediaPlayerInterface::Paused;
+ case 2: return KviMediaPlayerInterface::Stopped;
+ default: return KviMediaPlayerInterface::Unknown;
+ }
+}
+
QString KviMPRISInterface::nowPlaying()
{
if (this->status() != KviMediaPlayerInterface::Playing)