void Actions::grabShortcutFinished(QDBusPendingCallWatcher *call) { QDBusPendingReply<QString, bool, bool, bool> reply = *call; if (reply.isError()) { emit grabShortcutFailed(); } else { if (reply.argumentAt<1>()) { emit grabShortcutFailed(); } else { if (reply.argumentAt<2>()) { emit grabShortcutCancelled(); } else { if (reply.argumentAt<3>()) { emit grabShortcutTimedout(); } else { emit shortcutGrabbed(reply.argumentAt<0>()); } } } } call->deleteLater(); }
ClientImpl::ClientImpl(Client *interface, QObject *parent) : QObject(parent) , mInterface(interface) , mServiceWatcher(new QDBusServiceWatcher("org.razorqt.global_key_shortcuts", QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange, this)) , mDaemonPresent(false) { connect(mServiceWatcher, SIGNAL(serviceUnregistered(QString)), this, SLOT(daemonDisappeared(QString))); connect(mServiceWatcher, SIGNAL(serviceRegistered(QString)), this, SLOT(daemonAppeared(QString))); mProxy = new org::razorqt::global_key_shortcuts::native("org.razorqt.global_key_shortcuts", "/native", QDBusConnection::sessionBus(), this); mDaemonPresent = mProxy->isValid(); connect(this, SIGNAL(emitShortcutGrabbed(QString)), mInterface, SIGNAL(shortcutGrabbed(QString))); connect(this, SIGNAL(emitGrabShortcutFailed()), mInterface, SIGNAL(grabShortcutFailed())); connect(this, SIGNAL(emitGrabShortcutCancelled()), mInterface, SIGNAL(grabShortcutCancelled())); connect(this, SIGNAL(emitGrabShortcutTimedout()), mInterface, SIGNAL(grabShortcutTimedout())); connect(this, SIGNAL(emitDaemonDisappeared()), mInterface, SIGNAL(daemonDisappeared())); connect(this, SIGNAL(emitDaemonAppeared()), mInterface, SIGNAL(daemonAppeared())); connect(this, SIGNAL(emitDaemonPresenceChanged(bool)), mInterface, SIGNAL(daemonPresenceChanged(bool))); }