summaryrefslogtreecommitdiffstats
path: root/applications/mail
diff options
context:
space:
mode:
Diffstat (limited to 'applications/mail')
-rw-r--r--applications/mail/CMakeLists.txt30
-rw-r--r--applications/mail/main.cpp43
2 files changed, 73 insertions, 0 deletions
diff --git a/applications/mail/CMakeLists.txt b/applications/mail/CMakeLists.txt
new file mode 100644
index 00000000..706be8aa
--- /dev/null
+++ b/applications/mail/CMakeLists.txt
@@ -0,0 +1,30 @@
1project(kube-mail)
2
3cmake_minimum_required(VERSION 2.8.10.1)
4
5include(CPack)
6include(FeatureSummary)
7find_package(PkgConfig)
8
9################# set KDE specific information #################
10
11find_package(ECM 0.0.8 REQUIRED NO_MODULE)
12
13# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
14set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
15
16include(KDEInstallDirs)
17include(KDECMakeSettings)
18include(KDECompilerSettings)
19
20find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets)
21
22set (QT_MIN_VERSION "5.4.0")
23find_package(KF5 REQUIRED COMPONENTS Package)
24
25# install executable
26add_executable(${PROJECT_NAME} main.cpp)
27qt5_use_modules(${PROJECT_NAME} Gui Quick Widgets)
28target_link_libraries(${PROJECT_NAME} KF5::Package)
29
30install(TARGETS ${PROJECT_NAME} DESTINATION bin)
diff --git a/applications/mail/main.cpp b/applications/mail/main.cpp
new file mode 100644
index 00000000..1ff4effb
--- /dev/null
+++ b/applications/mail/main.cpp
@@ -0,0 +1,43 @@
1#include <QApplication>
2#include <QQmlApplicationEngine>
3
4#include <QStandardPaths>
5#include <KPackage/PackageLoader>
6#include <QQuickImageProvider>
7#include <QIcon>
8
9#include <QDebug>
10
11class KubeImageProvider : public QQuickImageProvider
12{
13public:
14 KubeImageProvider()
15 : QQuickImageProvider(QQuickImageProvider::Pixmap)
16 {
17 }
18
19 QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) Q_DECL_OVERRIDE
20 {
21 const auto icon = QIcon::fromTheme(id);
22 auto expectedSize = requestedSize;
23 if (!icon.availableSizes().contains(requestedSize) && !icon.availableSizes().isEmpty()) {
24 expectedSize = icon.availableSizes().first();
25 }
26 const auto pixmap = icon.pixmap(expectedSize);
27 if (size) {
28 *size = pixmap.size();
29 }
30 return pixmap;
31 }
32};
33
34int main(int argc, char *argv[])
35{
36 QApplication app(argc, argv);
37 auto package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", "org.kde.kube.mail");
38 Q_ASSERT(package.isValid());
39 QQmlApplicationEngine engine;
40 engine.addImageProvider(QLatin1String("kube"), new KubeImageProvider);
41 engine.load(QUrl::fromLocalFile(package.filePath("mainscript")));
42 return app.exec();
43}