[SCM] ktp-auth-handler packaging branch, master, updated. debian/15.12.1-2-282-g080758e
Maximiliano Curia
maxy at moszumanska.debian.org
Fri May 27 23:58:34 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-auth-handler.git;a=commitdiff;h=4d16fd6
The following commit has been merged in the master branch:
commit 4d16fd6333d01cf9dabd9e5b5adc83416ef57f8d
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date: Fri Dec 23 15:50:15 2011 +0100
Make dialogs modeless
BUG: 283307
---
x-telepathy-password-auth-operation.cpp | 48 ++++++++++++++++++---------------
x-telepathy-password-auth-operation.h | 3 +++
2 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/x-telepathy-password-auth-operation.cpp b/x-telepathy-password-auth-operation.cpp
index f4b517f..9598dd9 100644
--- a/x-telepathy-password-auth-operation.cpp
+++ b/x-telepathy-password-auth-operation.cpp
@@ -87,36 +87,42 @@ void XTelepathyPasswordAuthOperation::onSASLStatusChanged(uint status, const QSt
void XTelepathyPasswordAuthOperation::promptUser(bool isFirstRun)
{
- QString password;
-
- kDebug() << "Trying to load from wallet";
KTp::WalletInterface wallet(0);
if (wallet.hasPassword(m_account) && isFirstRun) {
- password = wallet.password(m_account);
+ m_saslIface->StartMechanismWithData(QLatin1String("X-TELEPATHY-PASSWORD"),
+ wallet.password(m_account).toUtf8());
} else {
- QWeakPointer<XTelepathyPasswordPrompt> dialog = new XTelepathyPasswordPrompt(m_account);
- if (dialog.data()->exec() == QDialog::Rejected) {
+ m_dialog = new XTelepathyPasswordPrompt(m_account);
+ connect(m_dialog.data(),
+ SIGNAL(finished(int)),
+ SLOT(onDialogFinished(int)));
+ m_dialog.data()->show();
+ }
+}
+
+void XTelepathyPasswordAuthOperation::onDialogFinished(int result)
+{
+ KTp::WalletInterface wallet(0);
+ switch (result) {
+ case QDialog::Rejected:
kDebug() << "Authentication cancelled";
m_saslIface->AbortSASL(Tp::SASLAbortReasonUserAbort, "User cancelled auth");
setFinished();
- if (!dialog.isNull()) {
- dialog.data()->deleteLater();
+ if (!m_dialog.isNull()) {
+ m_dialog.data()->deleteLater();
}
return;
- }
- password = dialog.data()->password();
- // save password in kwallet if necessary...
- if (dialog.data()->savePassword()) {
- kDebug() << "Saving password in wallet";
- wallet.setPassword(m_account, dialog.data()->password());
- }
-
- if (!dialog.isNull()) {
- dialog.data()->deleteLater();
- }
+ case QDialog::Accepted:
+ // save password in kwallet if necessary...
+ if (m_dialog.data()->savePassword()) {
+ kDebug() << "Saving password in wallet";
+ wallet.setPassword(m_account, m_dialog.data()->password());
+ m_saslIface->StartMechanismWithData(QLatin1String("X-TELEPATHY-PASSWORD"), m_dialog.data()->password().toUtf8());
+ if (!m_dialog.isNull()) {
+ m_dialog.data()->deleteLater();
+ }
+ }
}
-
- m_saslIface->StartMechanismWithData(QLatin1String("X-TELEPATHY-PASSWORD"), password.toUtf8());
}
#include "x-telepathy-password-auth-operation.moc"
diff --git a/x-telepathy-password-auth-operation.h b/x-telepathy-password-auth-operation.h
index ffd2b90..4438823 100644
--- a/x-telepathy-password-auth-operation.h
+++ b/x-telepathy-password-auth-operation.h
@@ -22,6 +22,7 @@
#include <TelepathyQt/PendingOperation>
#include <TelepathyQt/Channel>
#include <TelepathyQt/Types>
+#include "x-telepathy-password-prompt.h"
class XTelepathyPasswordAuthOperation : public Tp::PendingOperation
{
@@ -37,6 +38,7 @@ public:
private Q_SLOTS:
void onSASLStatusChanged(uint status, const QString &reason, const QVariantMap &details);
+ void onDialogFinished(int result);
private:
void promptUser(bool isFirstPrompt);
@@ -44,6 +46,7 @@ private:
Tp::AccountPtr m_account;
Tp::Client::ChannelInterfaceSASLAuthenticationInterface *m_saslIface;
bool m_canTryAgain;
+ QWeakPointer<XTelepathyPasswordPrompt> m_dialog;
friend class SaslAuthOp;
};
--
ktp-auth-handler packaging
More information about the pkg-kde-commits
mailing list