"org.freedesktop.Hal.Device", "Condition", this, SLOT(processBTSignal(QString, QString)))) {
qWarning() << "Can not connect to HAL";
}
+ if (!QDBusConnection::systemBus().connect(QString(), QString(), "org.bluez.AudioSink", "PropertyChanged", this, SLOT(processBTConnect(QString, QDBusVariant)))) {
+ qWarning() << "Can not connect to HAL 2";
+ }
setAutoRelaySignals(true);
}
void DBusAdaptop::playIfPaused() {
QMetaObject::invokeMethod(parent(), "playIfPaused");
}
+
+void DBusAdaptop::processBTConnect(QString stateName, QDBusVariant state) {
+ SomePlayer::Storage::Config config;
+ if (config.getValue("hw/hpautopause").toString() != "yes") {
+ return;
+ }
+ if (stateName == "State") {
+ if (state.variant().toString() == "disconnected") {
+ pause();
+ } else if (state.variant().toString() == "connected") {
+ QTimer::singleShot(1000, this, SLOT(playIfPaused()));
+ }
+ }
+}
#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include <QTime>
+#include <QVariant>
#define _DBUS_ACTION_TIMEOUT_ (500)
Q_NOREPLY void playIfPaused();
void processBTSignal(QString, QString);
+ void processBTConnect(QString, QDBusVariant);
Q_SIGNALS: // SIGNALS
void stateChanged();
void albumArt(QString path);