diff options
Diffstat (limited to 'framework/src/accounts')
-rw-r--r-- | framework/src/accounts/accountfactory.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/framework/src/accounts/accountfactory.cpp b/framework/src/accounts/accountfactory.cpp index 2babeb5d..5d3c35fc 100644 --- a/framework/src/accounts/accountfactory.cpp +++ b/framework/src/accounts/accountfactory.cpp | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <QDebug> | 21 | #include <QDebug> |
22 | #include <QtQml> | 22 | #include <QtQml> |
23 | #include <QFileInfo> | 23 | #include <QFileInfo> |
24 | #include <QJsonDocument> | ||
25 | #include <QFile> | ||
24 | 26 | ||
25 | #include <sink/store.h> | 27 | #include <sink/store.h> |
26 | 28 | ||
@@ -60,16 +62,22 @@ void AccountFactory::loadPackage() | |||
60 | } | 62 | } |
61 | return QString{}; | 63 | return QString{}; |
62 | }(); | 64 | }(); |
65 | mUiPath.clear(); | ||
66 | mLoginUi.clear(); | ||
67 | mRequiresKeyring = false; | ||
63 | if (pluginPath.isEmpty()) { | 68 | if (pluginPath.isEmpty()) { |
64 | qWarning() << "Failed to load account package: " << "org.kube.accounts." + mAccountType; | 69 | qWarning() << "Failed to load account package: " << "org.kube.accounts." + mAccountType; |
65 | mUiPath.clear(); | ||
66 | mLoginUi.clear(); | ||
67 | mRequiresKeyring = true; | ||
68 | } else { | 70 | } else { |
69 | mUiPath = pluginPath + "/AccountSettings.qml"; | 71 | mUiPath = pluginPath + "/AccountSettings.qml"; |
70 | mLoginUi = pluginPath + "/Login.qml"; | 72 | mLoginUi = pluginPath + "/Login.qml"; |
71 | //FIXME | 73 | if (QFileInfo::exists(pluginPath + "/metadata.json")) { |
72 | mRequiresKeyring = true; | 74 | QFile file{pluginPath + "/metadata.json"}; |
75 | file.open(QIODevice::ReadOnly); | ||
76 | auto json = QJsonDocument::fromJson(file.readAll()); | ||
77 | mRequiresKeyring = json.object().value("RequiresKeyring").toBool(true); | ||
78 | } else { | ||
79 | mRequiresKeyring = true; | ||
80 | } | ||
73 | } | 81 | } |
74 | emit accountLoaded(); | 82 | emit accountLoaded(); |
75 | } | 83 | } |