summaryrefslogtreecommitdiffstats
path: root/framework/src
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-10-24 10:46:26 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-10-24 10:46:26 +0200
commit2b8653a06a716fda634d71ada0230b2076c3f639 (patch)
treefa9ed948d25ec5f2c68e64b9e844980f668486ef /framework/src
parent005cf1cc08e10ec0f7da057964a56cd889629f2f (diff)
downloadkube-2b8653a06a716fda634d71ada0230b2076c3f639.tar.gz
kube-2b8653a06a716fda634d71ada0230b2076c3f639.zip
Only load the login view for accounts that require a keyring
Diffstat (limited to 'framework/src')
-rw-r--r--framework/src/accounts/accountfactory.cpp2
-rw-r--r--framework/src/accounts/accountfactory.h2
-rw-r--r--framework/src/keyring.h2
3 files changed, 5 insertions, 1 deletions
diff --git a/framework/src/accounts/accountfactory.cpp b/framework/src/accounts/accountfactory.cpp
index 9726a2e0..1af07ac6 100644
--- a/framework/src/accounts/accountfactory.cpp
+++ b/framework/src/accounts/accountfactory.cpp
@@ -67,6 +67,7 @@ void AccountFactory::loadPackage()
67 mLoginUi.clear(); 67 mLoginUi.clear();
68 mName.clear(); 68 mName.clear();
69 mIcon.clear(); 69 mIcon.clear();
70 mRequiresKeyring = true;
70 emit accountLoaded(); 71 emit accountLoaded();
71 return; 72 return;
72 } 73 }
@@ -75,5 +76,6 @@ void AccountFactory::loadPackage()
75 mLoginUi = package.filePath("ui", "Login.qml"); 76 mLoginUi = package.filePath("ui", "Login.qml");
76 mName = package.metadata().name(); 77 mName = package.metadata().name();
77 mIcon = package.metadata().iconName(); 78 mIcon = package.metadata().iconName();
79 mRequiresKeyring = package.metadata().value("X-KDE-Kube-RequiresKeyring", "True").toLower() == "true";
78 emit accountLoaded(); 80 emit accountLoaded();
79} 81}
diff --git a/framework/src/accounts/accountfactory.h b/framework/src/accounts/accountfactory.h
index 21747df5..f49d475c 100644
--- a/framework/src/accounts/accountfactory.h
+++ b/framework/src/accounts/accountfactory.h
@@ -34,6 +34,7 @@ class AccountFactory : public QObject
34 Q_PROPERTY(QString icon MEMBER mIcon NOTIFY accountLoaded); 34 Q_PROPERTY(QString icon MEMBER mIcon NOTIFY accountLoaded);
35 Q_PROPERTY(QString uiPath MEMBER mUiPath NOTIFY accountLoaded); 35 Q_PROPERTY(QString uiPath MEMBER mUiPath NOTIFY accountLoaded);
36 Q_PROPERTY(QString loginUi MEMBER mLoginUi NOTIFY accountLoaded); 36 Q_PROPERTY(QString loginUi MEMBER mLoginUi NOTIFY accountLoaded);
37 Q_PROPERTY(bool requiresKeyring MEMBER mRequiresKeyring NOTIFY accountLoaded);
37public: 38public:
38 explicit AccountFactory(QObject *parent = Q_NULLPTR); 39 explicit AccountFactory(QObject *parent = Q_NULLPTR);
39 40
@@ -52,4 +53,5 @@ private:
52 QString mUiPath; 53 QString mUiPath;
53 QString mLoginUi; 54 QString mLoginUi;
54 QByteArray mAccountType; 55 QByteArray mAccountType;
56 bool mRequiresKeyring = true;
55}; 57};
diff --git a/framework/src/keyring.h b/framework/src/keyring.h
index df25dbff..5d2c7544 100644
--- a/framework/src/keyring.h
+++ b/framework/src/keyring.h
@@ -28,7 +28,7 @@ public:
28 Keyring(); 28 Keyring();
29 static Keyring *instance(); 29 static Keyring *instance();
30 Q_INVOKABLE bool isUnlocked(const QByteArray &accountId); 30 Q_INVOKABLE bool isUnlocked(const QByteArray &accountId);
31 void unlock(const QByteArray &accountId); 31 Q_INVOKABLE void unlock(const QByteArray &accountId);
32 32
33private: 33private:
34 Q_DISABLE_COPY(Keyring); 34 Q_DISABLE_COPY(Keyring);