summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Bohlender <michael.bohlender@kdemail.net>2017-01-05 15:22:48 +0100
committerMichael Bohlender <michael.bohlender@kdemail.net>2017-01-05 15:22:48 +0100
commit5b521141a0576a6f12a8a1f990198a97a4d60aa6 (patch)
treeabe3b3d34b9b5c7799d3b848e61dd98827fdace0
parenta2fda0ad4fc013e4f9dd7d68ce2ec5385c1717ce (diff)
downloadkube-5b521141a0576a6f12a8a1f990198a97a4d60aa6.tar.gz
kube-5b521141a0576a6f12a8a1f990198a97a4d60aa6.zip
create account framework plugin
-rw-r--r--framework/CMakeLists.txt2
-rw-r--r--framework/accounts/CMakeLists.txt13
-rw-r--r--framework/accounts/accountsplugin.cpp31
-rw-r--r--framework/accounts/accountsplugin.h31
-rw-r--r--framework/accounts/qmldir4
5 files changed, 81 insertions, 0 deletions
diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt
index ac8ff8dd..86a61bcf 100644
--- a/framework/CMakeLists.txt
+++ b/framework/CMakeLists.txt
@@ -39,5 +39,7 @@ add_subdirectory(actions)
39add_subdirectory(settings) 39add_subdirectory(settings)
40# Domain specific domain logic 40# Domain specific domain logic
41add_subdirectory(domain) 41add_subdirectory(domain)
42# The accounts framework
43add_subdirectory(accounts)
42 44
43feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 45feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/framework/accounts/CMakeLists.txt b/framework/accounts/CMakeLists.txt
new file mode 100644
index 00000000..bccafd77
--- /dev/null
+++ b/framework/accounts/CMakeLists.txt
@@ -0,0 +1,13 @@
1set(accountsplugin_SRCS
2 accountsplugin.cpp
3 accountfactory.cpp
4 accountsmodel.cpp
5)
6
7add_library(accountsplugin SHARED ${accountsplugin_SRCS})
8
9qt5_use_modules(accountsplugin Core Quick Qml)
10target_link_libraries(accountsplugin sink mailplugin)
11
12install(TARGETS accountsplugin DESTINATION ${QML_INSTALL_DIR}/org/kube/framework/accounts)
13install(FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kube/framework/accounts)
diff --git a/framework/accounts/accountsplugin.cpp b/framework/accounts/accountsplugin.cpp
new file mode 100644
index 00000000..e980d5f3
--- /dev/null
+++ b/framework/accounts/accountsplugin.cpp
@@ -0,0 +1,31 @@
1/*
2 Copyright (C) 2017 Michael Bohlender, <michael.bohlender@kdemail.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17*/
18
19#include "accountsplugin.h"
20
21#include "accountsmodel.h"
22#include "accountfactory.h"
23
24#include <QtQml>
25
26void AccountsPlugin::registerTypes (const char *uri)
27{
28 Q_ASSERT(uri == QLatin1String("org.kube.framework.accounts"));
29 qmlRegisterType<AccountFactory>(uri, 1, 0, "AccountFactory");
30 qmlRegisterType<AccountsModel>(uri, 1, 0, "AccountsModel");
31}
diff --git a/framework/accounts/accountsplugin.h b/framework/accounts/accountsplugin.h
new file mode 100644
index 00000000..4f784f26
--- /dev/null
+++ b/framework/accounts/accountsplugin.h
@@ -0,0 +1,31 @@
1/*
2 Copyright (C) 2017 Michael Bohlender, <michael.bohlender@kdemail.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17*/
18
19#pragma once
20
21#include <QQmlEngine>
22#include <QQmlExtensionPlugin>
23
24class AccountsPlugin : public QQmlExtensionPlugin
25{
26 Q_OBJECT
27 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
28
29public:
30 virtual void registerTypes(const char *uri);
31};
diff --git a/framework/accounts/qmldir b/framework/accounts/qmldir
new file mode 100644
index 00000000..662725de
--- /dev/null
+++ b/framework/accounts/qmldir
@@ -0,0 +1,4 @@
1module org.kube.framework.accounts
2
3plugin accountsplugin
4