summaryrefslogtreecommitdiffstats
path: root/applications/mail/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'applications/mail/main.cpp')
-rw-r--r--applications/mail/main.cpp43
1 files changed, 43 insertions, 0 deletions
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}