[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kaccounts-providers] /: Create the account once the wizard is done
From: Alex Fiestas <afiestas () kde ! org>
Date: 2015-10-15 21:01:21
Message-ID: E1ZmpeL-0000yK-Ex () scm ! kde ! org
[Download RAW message or body]
Git commit ee0e39a0b6aab0e56c682fc671cf815d5dd5a851 by Alex Fiestas.
Committed on 17/04/2012 at 16:28.
Pushed by mklapetek into branch 'master'.
Create the account once the wizard is done
M +51 -0 owncloud.cpp
M +9 -0 owncloud.h
http://commits.kde.org/kaccounts-providers/ee0e39a0b6aab0e56c682fc671cf815d5dd5a851
diff --git a/owncloud.cpp b/owncloud.cpp
index 152d0ea..a0d7f68 100644
--- a/owncloud.cpp
+++ b/owncloud.cpp
@@ -53,6 +53,47 @@ OwnCloudWizard::~OwnCloudWizard()
}
+void OwnCloudWizard::done(int result)
+{
+ if (result != 1) {
+ return;
+ }
+
+ WId windowId = 0;
+ if (qApp->activeWindow()) {
+ windowId = qApp->activeWindow()->winId();
+ }
+
+ Wallet *wallet = Wallet::openWallet(Wallet::NetworkWallet(), windowId, \
Wallet::Synchronous); +
+ if (!wallet->isOpen() || !wallet->isEnabled()) {
+ return;
+ }
+
+ wallet->createFolder("WebAccounts");
+ wallet->setFolder("WebAccounts");
+ wallet->createFolder("owncloud");
+ wallet->setFolder("owncloud");
+ wallet->createFolder(m_username);
+ wallet->setFolder(m_username);
+ wallet->writePassword(m_username, m_password);
+ wallet->sync();
+ wallet->deleteLater();
+
+ KConfigGroup config = \
KSharedConfig::openConfig("webaccounts")->group("accounts").group("owncloud").group(m_username);
+ config.writeEntry("type", "owncloud");
+ config.writeEntry("server", m_server.url());
+ KConfigGroup group = config.group("services");
+ QStringList keys = m_services.keys();
+ Q_FOREACH(const QString &key, keys) {
+ group.writeEntry(key, m_services[key]);
+ }
+
+ Q_EMIT newAccount("owncloud", m_username);
+
+ QWizard::done(result);
+}
+
void OwnCloudWizard::setUsername(const QString& username)
{
m_username = username;
@@ -81,4 +122,14 @@ const QString OwnCloudWizard::password() const
const KUrl OwnCloudWizard::server() const
{
return m_server;
+}
+
+void OwnCloudWizard::activateOption(const QString& name, bool checked )
+{
+ if (!checked) {
+ m_services[name] = 0;
+ return;
+ }
+
+ m_services[name] = 2;
}
\ No newline at end of file
diff --git a/owncloud.h b/owncloud.h
index 984a6f6..a9629bd 100644
--- a/owncloud.h
+++ b/owncloud.h
@@ -30,6 +30,8 @@ class OwnCloudWizard : public QWizard
explicit OwnCloudWizard(QWidget* parent = 0, Qt::WindowFlags flags = 0);
virtual ~OwnCloudWizard();
+ virtual void done(int result);
+
void setUsername(const QString &username);
void setPassword(const QString &password);
void setServer(const KUrl &server);
@@ -38,10 +40,17 @@ class OwnCloudWizard : public QWizard
const QString password() const;
const KUrl server() const;
+ void activateOption(const QString& name, bool checked);
+
+ Q_SIGNALS:
+ void newAccount(const QString &type, const QString &name);
+
private:
QString m_username;
QString m_password;
KUrl m_server;
+
+ QHash<QString, int> m_services;
};
#endif //OWNCLOUD_H
\ No newline at end of file
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic