diff --git a/kaccounts/CMakeLists.txt b/kaccounts/CMakeLists.txt --- a/kaccounts/CMakeLists.txt +++ b/kaccounts/CMakeLists.txt @@ -1,14 +1,7 @@ -project(kaccounts-integration-plugin) - -include_directories (${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} -) - -set(kaccounts_ktp_plugin_SRCS - kaccounts-ktp-plugin.cpp -) - -add_library(kaccounts_ktp_plugin MODULE ${kaccounts_ktp_plugin_SRCS}) +kcoreaddons_add_plugin(kaccounts_ktp_plugin + JSON kaccountsplugin.json + SOURCES kaccounts-ktp-plugin.cpp + INSTALL_NAMESPACE kaccounts/daemonplugins) target_link_libraries(kaccounts_ktp_plugin Qt5::Core @@ -20,10 +13,3 @@ ${ACCOUNTSQT_LIBRARIES} ${SIGNONQT_LIBRARIES} ) - -# Install: -install (TARGETS kaccounts_ktp_plugin - DESTINATION ${PLUGIN_INSTALL_DIR}/kaccounts/daemonplugins -) - - diff --git a/kaccounts/kaccounts-ktp-plugin.h b/kaccounts/kaccounts-ktp-plugin.h --- a/kaccounts/kaccounts-ktp-plugin.h +++ b/kaccounts/kaccounts-ktp-plugin.h @@ -32,11 +32,8 @@ class KAccountsKTpPlugin : public KAccountsDPlugin { Q_OBJECT - Q_PLUGIN_METADATA(IID "org.kde.kaccounts.DPlugin") - Q_INTERFACES(KAccountsDPlugin) - public: - KAccountsKTpPlugin(QObject *parent = nullptr); + KAccountsKTpPlugin(QObject *parent, const QVariantList &args); ~KAccountsKTpPlugin() override; public Q_SLOTS: diff --git a/kaccounts/kaccounts-ktp-plugin.cpp b/kaccounts/kaccounts-ktp-plugin.cpp --- a/kaccounts/kaccounts-ktp-plugin.cpp +++ b/kaccounts/kaccounts-ktp-plugin.cpp @@ -32,6 +32,7 @@ #include #include +#include #include #include @@ -60,6 +61,8 @@ QStringLiteral("haze-yahoo"), QStringLiteral("haze-gadugadu")}; +K_PLUGIN_CLASS_WITH_JSON(KAccountsKTpPlugin, "kaccountsplugin.json") + class KAccountsKTpPlugin::Private { public: Private(KAccountsKTpPlugin *qq) { q = qq; migrationRef = 0; }; @@ -324,8 +327,8 @@ //--------------------------------------------------------------------------------------- -KAccountsKTpPlugin::KAccountsKTpPlugin(QObject *parent) - : KAccountsDPlugin(parent), +KAccountsKTpPlugin::KAccountsKTpPlugin(QObject *parent, const QVariantList &args) + : KAccountsDPlugin(parent, args), d(new Private(this)) { d->kaccountsConfig = KSharedConfig::openConfig(QStringLiteral("kaccounts-ktprc")); @@ -380,3 +383,5 @@ Q_UNUSED(accountId); Q_UNUSED(service); } + +#include "kaccounts-ktp-plugin.moc" diff --git a/kaccounts/kaccountsplugin.json b/kaccounts/kaccountsplugin.json new file mode 100644 --- /dev/null +++ b/kaccounts/kaccountsplugin.json @@ -0,0 +1,11 @@ +{ + "KPlugin": { + "Description": "KTP KAccounts integration", + "EnabledByDefault": true, + "Icon": "telepathy-kde", + "Id": "kaccounts_ktp", + "License": "GPL", + "Name": "KTP", + "Version": "0.1" + } +}