summaryrefslogtreecommitdiffstats
path: root/framework/qml/ExtensionPoint.qml
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-03-21 17:34:05 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-03-23 16:32:01 +0100
commit0c881f0c1b77cf8876094e3647d1732210b954d1 (patch)
tree418396b4f2aae86c1cbec2cee9bcd6d36b87dda0 /framework/qml/ExtensionPoint.qml
parentd0029fbe0a503edcf36e6ad072b87c53ad0715eb (diff)
downloadkube-0c881f0c1b77cf8876094e3647d1732210b954d1.tar.gz
kube-0c881f0c1b77cf8876094e3647d1732210b954d1.zip
An extension mechanism load qml files at generic extension points.
and forward the email via an extension api.
Diffstat (limited to 'framework/qml/ExtensionPoint.qml')
-rw-r--r--framework/qml/ExtensionPoint.qml37
1 files changed, 37 insertions, 0 deletions
diff --git a/framework/qml/ExtensionPoint.qml b/framework/qml/ExtensionPoint.qml
new file mode 100644
index 00000000..4f66b20e
--- /dev/null
+++ b/framework/qml/ExtensionPoint.qml
@@ -0,0 +1,37 @@
1/*
2 * Copyright (C) 2017 Christian Mollekopf, <mollekopf@kolabsys.com>
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
19import QtQuick 2.7
20
21import org.kube.framework 1.0 as Kube
22
23Repeater {
24 id: root
25 property alias extensionPoint: extensionModel.extensionPoint
26 property variant context: {}
27
28 model: Kube.ExtensionModel {
29 id: extensionModel
30 }
31 Loader {
32 source: root.model.findSource(model.name, "main.qml")
33 onLoaded: {
34 item.context = root.context
35 }
36 }
37}