[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