diff --git a/src/kded/bluezagent.h b/src/kded/bluezagent.h --- a/src/kded/bluezagent.h +++ b/src/kded/bluezagent.h @@ -40,9 +40,11 @@ void requestConfirmation(BluezQt::DevicePtr device, const QString &passkey, const BluezQt::Request<> &request) override; void requestAuthorization(BluezQt::DevicePtr device, const BluezQt::Request<> &request) override; void release() override; + void cancel() override; Q_SIGNALS: void agentReleased(); + void agentCanceled(); }; diff --git a/src/kded/bluezagent.cpp b/src/kded/bluezagent.cpp --- a/src/kded/bluezagent.cpp +++ b/src/kded/bluezagent.cpp @@ -142,3 +142,10 @@ Q_EMIT agentReleased(); } + +void BluezAgent::cancel() +{ + qCDebug(BLUEDAEMON) << "AGENT-Cancel"; + + Q_EMIT agentCanceled(); +} diff --git a/src/kded/helpers/requestauthorization.cpp b/src/kded/helpers/requestauthorization.cpp --- a/src/kded/helpers/requestauthorization.cpp +++ b/src/kded/helpers/requestauthorization.cpp @@ -53,6 +53,7 @@ connect(notification, &KNotification::action3Activated, this, &RequestAuthorization::deny); connect(notification, &KNotification::closed, this, &RequestAuthorization::deny); connect(notification, &KNotification::ignored, this, &RequestAuthorization::deny); + connect(parent, SIGNAL(agentCanceled()), this, SLOT(deny())); notification->sendEvent(); } diff --git a/src/kded/helpers/requestconfirmation.cpp b/src/kded/helpers/requestconfirmation.cpp --- a/src/kded/helpers/requestconfirmation.cpp +++ b/src/kded/helpers/requestconfirmation.cpp @@ -50,6 +50,7 @@ connect(notification, &KNotification::action2Activated, this, &RequestConfirmation::pinWrong); connect(notification, &KNotification::closed, this, &RequestConfirmation::pinWrong); connect(notification, &KNotification::ignored, this, &RequestConfirmation::pinWrong); + connect(parent, SIGNAL(agentCanceled()), this, SLOT(pinWrong())); notification->sendEvent(); } diff --git a/src/kded/helpers/requestpin.cpp b/src/kded/helpers/requestpin.cpp --- a/src/kded/helpers/requestpin.cpp +++ b/src/kded/helpers/requestpin.cpp @@ -57,6 +57,7 @@ connect(m_notification, &KNotification::action1Activated,this, &RequestPin::introducePin); connect(m_notification, &KNotification::closed, this, &RequestPin::quit); connect(m_notification, &KNotification::ignored, this, &RequestPin::quit); + connect(parent, SIGNAL(agentCanceled()), this, SLOT(quit())); m_notification->sendEvent(); }