[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