[SCM] ktp-accounts-kcm packaging branch, master, updated. debian/15.12.1-1-1157-gc4589c5
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:06:17 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=4fa1f55
The following commit has been merged in the master branch:
commit 4fa1f55d68aaf2a50e2dc649127ce773dd2f3108
Author: Martin Klapetek <mklapetek at kde.org>
Date: Fri Jan 30 19:55:53 2015 +0100
Finish storing the password in SSO if it was changed
---
CMakeLists.txt | 1 +
plugins/kaccounts/CMakeLists.txt | 4 ++++
plugins/kaccounts/kaccounts-ui-provider.cpp | 29 ++++++++++++++++++++++++++++-
plugins/kaccounts/kaccounts-ui-provider.h | 2 ++
4 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b462ffe..e779224 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,6 +18,7 @@ find_package (TelepathyQt5 REQUIRED)
find_package (KAccounts REQUIRED)
find_package (AccountsFileDir REQUIRED)
find_package (AccountsQt5 1.10 REQUIRED CONFIG)
+find_package (SignOnQt5 8.55 REQUIRED CONFIG)
find_package (Intltool REQUIRED) #needed to generate service and provider files
# make some more macros available
diff --git a/plugins/kaccounts/CMakeLists.txt b/plugins/kaccounts/CMakeLists.txt
index 048dc32..f5828c8 100644
--- a/plugins/kaccounts/CMakeLists.txt
+++ b/plugins/kaccounts/CMakeLists.txt
@@ -4,6 +4,8 @@ include_directories (${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${KACCOUNTS_INCLUDE_DIR}
${ACCOUNTSQT_INCLUDE_DIRS}
+ ${SIGNONQT_INCLUDE_DIRS}
+
)
set (ktpaccountskcm_plugin_kaccounts_SRCS
@@ -21,6 +23,8 @@ target_link_libraries (ktpaccountskcm_plugin_kaccounts
KF5::TextWidgets
${TELEPATHY_QT5_LIBRARIES}
${KACCOUNTS_LIBRARIES}
+ ${ACCOUNTSQT_LIBRARIES}
+ ${SIGNONQT_LIBRARIES}
)
# Install:
diff --git a/plugins/kaccounts/kaccounts-ui-provider.cpp b/plugins/kaccounts/kaccounts-ui-provider.cpp
index b5ea312..ca1b7af 100644
--- a/plugins/kaccounts/kaccounts-ui-provider.cpp
+++ b/plugins/kaccounts/kaccounts-ui-provider.cpp
@@ -24,6 +24,13 @@
#include <KCMTelepathyAccounts/account-edit-widget.h>
#include <KAccounts/getcredentialsjob.h>
+#include <KAccounts/core.h>
+
+#include <SignOn/Identity>
+#include <SignOn/IdentityInfo>
+#include <Accounts/Account>
+#include <Accounts/AccountService>
+#include <Accounts/Manager>
#include <TelepathyQt/Profile>
#include <TelepathyQt/ConnectionManager>
@@ -218,6 +225,7 @@ void KAccountsUiProvider::showConfigureAccountDialog(const quint32 accountId)
d->dialog->setAttribute(Qt::WA_DeleteOnClose);
QVBoxLayout *mainLayout = new QVBoxLayout(d->dialog);
d->dialog->setLayout(mainLayout);
+ d->dialog->setProperty("accountId", accountId);
QDialogButtonBox *dbb = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, d->dialog);
connect(dbb, SIGNAL(accepted()), this, SLOT(onConfigureAccountDialogAccepted()));
@@ -380,8 +388,10 @@ void KAccountsUiProvider::onConfigureAccountDialogAccepted()
if (values.contains(QLatin1String("password"))) {
//TODO Store the new password in sso
+ quint32 accountId = d->dialog->property("accountId").toUInt();
+ storePasswordInSso(accountId, values.value(QStringLiteral("password")).toString());
} else {
- //TODO ...or remove it.
+ //TODO ...or remove it?
}
if (d->accountEditWidget->updateDisplayName()) {
@@ -412,3 +422,20 @@ void KAccountsUiProvider::onConfigureAccountDialogRejected()
{
d->dialog->reject();
}
+
+void KAccountsUiProvider::storePasswordInSso(const quint32 accountId, const QString &password)
+{
+ Accounts::Manager *manager = KAccounts::accountsManager();
+ Accounts::Account *account = manager->account(accountId);
+ SignOn::Identity *identity;
+
+ if (account) {
+ Accounts::AccountService *service = new Accounts::AccountService(account, manager->service(QString()), this);
+ Accounts::AuthData authData = service->authData();
+ identity = SignOn::Identity::existingIdentity(authData.credentialsId(), this);
+
+ SignOn::IdentityInfo info;
+ info.setSecret(password);
+ identity->storeCredentials(info);
+ }
+}
diff --git a/plugins/kaccounts/kaccounts-ui-provider.h b/plugins/kaccounts/kaccounts-ui-provider.h
index 0d1c656..88386cd 100644
--- a/plugins/kaccounts/kaccounts-ui-provider.h
+++ b/plugins/kaccounts/kaccounts-ui-provider.h
@@ -59,6 +59,8 @@ private Q_SLOTS:
void onConfigureAccountDialogRejected();
void onConfigureAccountFinished();
+ void storePasswordInSso(const quint32 accountId, const QString &password);
+
private:
class Private;
Private * const d;
--
ktp-accounts-kcm packaging
More information about the pkg-kde-commits
mailing list