diff options
Diffstat (limited to 'framework')
-rw-r--r-- | framework/src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | framework/src/file.cpp | 46 | ||||
-rw-r--r-- | framework/src/file.h | 38 | ||||
-rw-r--r-- | framework/src/frameworkplugin.cpp | 2 |
4 files changed, 87 insertions, 0 deletions
diff --git a/framework/src/CMakeLists.txt b/framework/src/CMakeLists.txt index fab7bf20..5ad5e910 100644 --- a/framework/src/CMakeLists.txt +++ b/framework/src/CMakeLists.txt | |||
@@ -53,6 +53,7 @@ add_library(kubeframework SHARED | |||
53 | domainobjectcontroller.cpp | 53 | domainobjectcontroller.cpp |
54 | extensionmodel.cpp | 54 | extensionmodel.cpp |
55 | viewhighlighter.cpp | 55 | viewhighlighter.cpp |
56 | file.cpp | ||
56 | ) | 57 | ) |
57 | generate_export_header(kubeframework BASE_NAME Kube EXPORT_FILE_NAME kube_export.h) | 58 | generate_export_header(kubeframework BASE_NAME Kube EXPORT_FILE_NAME kube_export.h) |
58 | set_target_properties(kubeframework PROPERTIES | 59 | set_target_properties(kubeframework PROPERTIES |
diff --git a/framework/src/file.cpp b/framework/src/file.cpp new file mode 100644 index 00000000..b2a19c23 --- /dev/null +++ b/framework/src/file.cpp | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | Copyright (c) 2017 Christian Mollekopf <mollekopf@kolabsys.com> | ||
3 | |||
4 | This library is free software; you can redistribute it and/or modify it | ||
5 | under the terms of the GNU Library General Public License as published by | ||
6 | the Free Software Foundation; either version 2 of the License, or (at your | ||
7 | option) any later version. | ||
8 | |||
9 | This library is distributed in the hope that it will be useful, but WITHOUT | ||
10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public | ||
12 | License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU Library General Public License | ||
15 | along with this library; see the file COPYING.LIB. If not, write to the | ||
16 | Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
17 | 02110-1301, USA. | ||
18 | */ | ||
19 | |||
20 | #include "file.h" | ||
21 | #include <QFile> | ||
22 | #include <QDir> | ||
23 | #include <QUrl> | ||
24 | #include <QDebug> | ||
25 | |||
26 | using namespace Kube; | ||
27 | |||
28 | QString File::data() | ||
29 | { | ||
30 | auto s = read(mPath); | ||
31 | if (s.isEmpty()) { | ||
32 | return mDefaultContent; | ||
33 | } | ||
34 | return s; | ||
35 | } | ||
36 | |||
37 | QString File::read(const QString &path) | ||
38 | { | ||
39 | QFile file(QDir::homePath() + "/" + path); | ||
40 | if (file.open(QIODevice::ReadOnly)) { | ||
41 | return file.readAll(); | ||
42 | } | ||
43 | qWarning() << "Failed to open the file " << file.fileName() << file.errorString(); | ||
44 | return {}; | ||
45 | } | ||
46 | |||
diff --git a/framework/src/file.h b/framework/src/file.h new file mode 100644 index 00000000..6d894250 --- /dev/null +++ b/framework/src/file.h | |||
@@ -0,0 +1,38 @@ | |||
1 | /* | ||
2 | Copyright (c) 2017 Christian Mollekopf <mollekopf@kolabsys.com> | ||
3 | |||
4 | This library is free software; you can redistribute it and/or modify it | ||
5 | under the terms of the GNU Library General Public License as published by | ||
6 | the Free Software Foundation; either version 2 of the License, or (at your | ||
7 | option) any later version. | ||
8 | |||
9 | This library is distributed in the hope that it will be useful, but WITHOUT | ||
10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public | ||
12 | License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU Library General Public License | ||
15 | along with this library; see the file COPYING.LIB. If not, write to the | ||
16 | Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
17 | 02110-1301, USA. | ||
18 | */ | ||
19 | |||
20 | #include <QObject> | ||
21 | #include <QString> | ||
22 | |||
23 | namespace Kube { | ||
24 | |||
25 | class File : public QObject { | ||
26 | Q_OBJECT | ||
27 | Q_PROPERTY(QString path MEMBER mPath) | ||
28 | Q_PROPERTY(QString defaultContent MEMBER mDefaultContent) | ||
29 | Q_PROPERTY(QString data READ data CONSTANT) | ||
30 | public: | ||
31 | QString data(); | ||
32 | Q_INVOKABLE QString read(const QString &path); | ||
33 | private: | ||
34 | QString mPath; | ||
35 | QString mDefaultContent; | ||
36 | }; | ||
37 | |||
38 | } | ||
diff --git a/framework/src/frameworkplugin.cpp b/framework/src/frameworkplugin.cpp index bfedc752..b5635733 100644 --- a/framework/src/frameworkplugin.cpp +++ b/framework/src/frameworkplugin.cpp | |||
@@ -45,6 +45,7 @@ | |||
45 | #include "domainobjectcontroller.h" | 45 | #include "domainobjectcontroller.h" |
46 | #include "extensionmodel.h" | 46 | #include "extensionmodel.h" |
47 | #include "viewhighlighter.h" | 47 | #include "viewhighlighter.h" |
48 | #include "file.h" | ||
48 | 49 | ||
49 | #include <QtQml> | 50 | #include <QtQml> |
50 | #include <QQuickImageProvider> | 51 | #include <QQuickImageProvider> |
@@ -181,6 +182,7 @@ void FrameworkPlugin::registerTypes (const char *uri) | |||
181 | qmlRegisterType<AccountFactory>(uri, 1, 0, "AccountFactory"); | 182 | qmlRegisterType<AccountFactory>(uri, 1, 0, "AccountFactory"); |
182 | qmlRegisterType<AccountsModel>(uri, 1, 0, "AccountsModel"); | 183 | qmlRegisterType<AccountsModel>(uri, 1, 0, "AccountsModel"); |
183 | qmlRegisterType<Kube::ExtensionModel>(uri, 1, 0, "ExtensionModel"); | 184 | qmlRegisterType<Kube::ExtensionModel>(uri, 1, 0, "ExtensionModel"); |
185 | qmlRegisterType<Kube::File>(uri, 1, 0, "File"); | ||
184 | 186 | ||
185 | qmlRegisterType<Kube::Settings>(uri, 1, 0, "Settings"); | 187 | qmlRegisterType<Kube::Settings>(uri, 1, 0, "Settings"); |
186 | 188 | ||