From 1f62cf29d038e1dfd9bd56505ecaae10ca14b60b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 18 Dec 2017 20:32:57 +0100 Subject: Accounts without kpackage --- framework/src/CMakeLists.txt | 2 -- framework/src/accounts/accountfactory.cpp | 44 +++++++++++++------------------ framework/src/accounts/accountfactory.h | 5 ---- 3 files changed, 19 insertions(+), 32 deletions(-) (limited to 'framework') diff --git a/framework/src/CMakeLists.txt b/framework/src/CMakeLists.txt index 2febf91b..09a4c22d 100644 --- a/framework/src/CMakeLists.txt +++ b/framework/src/CMakeLists.txt @@ -5,7 +5,6 @@ find_package(Sink CONFIG REQUIRED) find_package(KAsync CONFIG REQUIRED) find_package(QGpgme CONFIG REQUIRED) find_package(KF5Codecs CONFIG REQUIRED) -find_package(KF5Package CONFIG REQUIRED) find_package(KF5Contacts CONFIG REQUIRED) add_definitions("-Wall -std=c++0x -g") @@ -62,7 +61,6 @@ target_link_libraries(kubeframework Qt5::WebEngine KF5::Codecs KF5::Contacts - KF5::Package KAsync QGpgme ) diff --git a/framework/src/accounts/accountfactory.cpp b/framework/src/accounts/accountfactory.cpp index 1af07ac6..2babeb5d 100644 --- a/framework/src/accounts/accountfactory.cpp +++ b/framework/src/accounts/accountfactory.cpp @@ -19,12 +19,9 @@ #include "accountfactory.h" #include +#include +#include -#include -#include -#include - -#include "settings/settings.h" #include AccountFactory::AccountFactory(QObject *parent) @@ -32,14 +29,6 @@ AccountFactory::AccountFactory(QObject *parent) { } -QString AccountFactory::name() const -{ - if (mName.isEmpty()) { - return tr("Account"); - } - return mName; -} - void AccountFactory::setAccountId(const QString &accountId) { mAccountId = accountId; @@ -60,22 +49,27 @@ void AccountFactory::setAccountType(const QString &type) void AccountFactory::loadPackage() { - auto package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", "org.kube.accounts." + mAccountType); - if (!package.isValid()) { + auto engine = QtQml::qmlEngine(this); + Q_ASSERT(engine); + const QString pluginPath = [&] { + for (const auto &p : engine->importPathList()) { + const auto path = p + QString::fromLatin1("/org/kube/accounts/") + mAccountType; + if (QFileInfo::exists(path)) { + return path; + } + } + return QString{}; + }(); + if (pluginPath.isEmpty()) { qWarning() << "Failed to load account package: " << "org.kube.accounts." + mAccountType; mUiPath.clear(); mLoginUi.clear(); - mName.clear(); - mIcon.clear(); mRequiresKeyring = true; - emit accountLoaded(); - return; + } else { + mUiPath = pluginPath + "/AccountSettings.qml"; + mLoginUi = pluginPath + "/Login.qml"; + //FIXME + mRequiresKeyring = true; } - Q_ASSERT(package.isValid()); - mUiPath = package.filePath("mainscript"); - mLoginUi = package.filePath("ui", "Login.qml"); - mName = package.metadata().name(); - mIcon = package.metadata().iconName(); - mRequiresKeyring = package.metadata().value("X-KDE-Kube-RequiresKeyring", "True").toLower() == "true"; emit accountLoaded(); } diff --git a/framework/src/accounts/accountfactory.h b/framework/src/accounts/accountfactory.h index f49d475c..429559a1 100644 --- a/framework/src/accounts/accountfactory.h +++ b/framework/src/accounts/accountfactory.h @@ -30,8 +30,6 @@ class AccountFactory : public QObject Q_OBJECT Q_PROPERTY(QString accountId MEMBER mAccountId WRITE setAccountId); Q_PROPERTY(QString accountType MEMBER mAccountType WRITE setAccountType); - Q_PROPERTY(QString name MEMBER mName READ name NOTIFY accountLoaded); - Q_PROPERTY(QString icon MEMBER mIcon NOTIFY accountLoaded); Q_PROPERTY(QString uiPath MEMBER mUiPath NOTIFY accountLoaded); Q_PROPERTY(QString loginUi MEMBER mLoginUi NOTIFY accountLoaded); Q_PROPERTY(bool requiresKeyring MEMBER mRequiresKeyring NOTIFY accountLoaded); @@ -40,7 +38,6 @@ public: void setAccountId(const QString &); void setAccountType(const QString &); - QString name() const; signals: void accountLoaded(); @@ -48,8 +45,6 @@ signals: private: void loadPackage(); QString mAccountId; - QString mName; - QString mIcon; QString mUiPath; QString mLoginUi; QByteArray mAccountType; -- cgit v1.2.3