summaryrefslogtreecommitdiffstats
path: root/applications/mail
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-04-05 13:14:56 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-04-05 13:14:56 +0200
commita5b1c1c4bd44741a54895c4e84846c045facce70 (patch)
treecca1263b04351ccc8a964705b0ba06c3a7d47eea /applications/mail
parentd7e3a79c0f3692031c4f039077faa7667bc5d696 (diff)
downloadkube-a5b1c1c4bd44741a54895c4e84846c045facce70.tar.gz
kube-a5b1c1c4bd44741a54895c4e84846c045facce70.zip
kube-mail is now kube
Diffstat (limited to 'applications/mail')
-rw-r--r--applications/mail/CMakeLists.txt50
-rw-r--r--applications/mail/main.cpp72
-rw-r--r--applications/mail/org.kde.kube.appdata.xml23
-rwxr-xr-xapplications/mail/org.kde.kube.desktop10
4 files changed, 0 insertions, 155 deletions
diff --git a/applications/mail/CMakeLists.txt b/applications/mail/CMakeLists.txt
deleted file mode 100644
index 56bbf98a..00000000
--- a/applications/mail/CMakeLists.txt
+++ /dev/null
@@ -1,50 +0,0 @@
1project(kube-mail)
2
3cmake_minimum_required(VERSION 2.8.12)
4cmake_policy(SET CMP0063 NEW)
5
6include(CPack)
7include(FeatureSummary)
8
9find_package(PkgConfig)
10
11################# set KDE specific information #################
12
13if(APPLE OR WIN32)
14 # for an ecm_add_app_icon() implementation acception svg icons
15 set(ECM_MIN_VERSION 5.29.0)
16else()
17 set(ECM_MIN_VERSION 0.0.8)
18endif()
19find_package(ECM ${ECM_MIN_VERSION} REQUIRED NO_MODULE)
20
21# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
22set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
23
24include(KDEInstallDirs)
25include(KDECMakeSettings)
26include(KDECompilerSettings)
27include(ECMAddAppIcon)
28
29find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets WebEngine)
30
31set (QT_MIN_VERSION "5.6.0")
32find_package(KF5 REQUIRED COMPONENTS Package)
33
34# install executable
35set(kube_mail_SRCS main.cpp)
36
37if(APPLE OR WIN32)
38 # Sets the icon on Windows and OSX
39 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../../icons/*-apps-kube_icon.*")
40 ecm_add_app_icon(kube_mail_SRCS ICONS ${ICONS_SRCS})
41endif()
42
43add_executable(${PROJECT_NAME} ${kube_mail_SRCS})
44qt5_use_modules(${PROJECT_NAME} Gui Quick Widgets WebEngine)
45target_link_libraries(${PROJECT_NAME} KF5::Package)
46
47install(TARGETS ${PROJECT_NAME} DESTINATION ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
48
49install(PROGRAMS org.kde.kube.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
50install(FILES org.kde.kube.appdata.xml DESTINATION ${KDE_INSTALL_DATAROOTDIR}/appdata/)
diff --git a/applications/mail/main.cpp b/applications/mail/main.cpp
deleted file mode 100644
index b02c62d2..00000000
--- a/applications/mail/main.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
1#include <QApplication>
2#include <QQmlApplicationEngine>
3
4#include <QStandardPaths>
5#include <KPackage/PackageLoader>
6#include <QQuickImageProvider>
7#include <QIcon>
8#include <QtWebEngine>
9#include <QDesktopServices>
10
11#include <QDebug>
12
13class KubeImageProvider : public QQuickImageProvider
14{
15public:
16 KubeImageProvider()
17 : QQuickImageProvider(QQuickImageProvider::Pixmap)
18 {
19 }
20
21 QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) Q_DECL_OVERRIDE
22 {
23 const auto icon = QIcon::fromTheme(id);
24 auto expectedSize = requestedSize;
25 if (!icon.availableSizes().contains(requestedSize) && !icon.availableSizes().isEmpty()) {
26 expectedSize = icon.availableSizes().first();
27 }
28 const auto pixmap = icon.pixmap(expectedSize);
29 if (size) {
30 *size = pixmap.size();
31 }
32 return pixmap;
33 }
34};
35
36class WebUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor
37{
38 Q_OBJECT
39public:
40 WebUrlRequestInterceptor(QObject *p = Q_NULLPTR) : QWebEngineUrlRequestInterceptor{p}
41 {}
42
43 void interceptRequest(QWebEngineUrlRequestInfo &info)
44 {
45 qDebug() << info.requestMethod() << info.requestUrl() << info.resourceType() << info.navigationType();
46 const bool isNavigationRequest = info.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeMainFrame;
47 if (isNavigationRequest) {
48 QDesktopServices::openUrl(info.requestUrl());
49 info.block(true);
50 }
51 //TODO handle mailto to open a composer
52 }
53};
54
55int main(int argc, char *argv[])
56{
57 QApplication app(argc, argv);
58
59 QtWebEngine::initialize();
60 WebUrlRequestInterceptor *wuri = new WebUrlRequestInterceptor();
61 QQuickWebEngineProfile::defaultProfile()->setRequestInterceptor(wuri);
62 QIcon::setThemeName("kube");
63
64 auto package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", "org.kube.components.mail");
65 Q_ASSERT(package.isValid());
66 QQmlApplicationEngine engine;
67 engine.addImageProvider(QLatin1String("kube"), new KubeImageProvider);
68 engine.load(QUrl::fromLocalFile(package.filePath("mainscript")));
69 return app.exec();
70}
71
72#include "main.moc"
diff --git a/applications/mail/org.kde.kube.appdata.xml b/applications/mail/org.kde.kube.appdata.xml
deleted file mode 100644
index 90bef45b..00000000
--- a/applications/mail/org.kde.kube.appdata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<component type="desktop">
3 <id>org.kde.kube.desktop</id>
4 <metadata_license>CC0-1.0</metadata_license>
5 <project_license>GPL-3.0+</project_license>
6 <name>Kube</name>
7 <summary>E-mail client</summary>
8 <description>
9 <p>A modern groupware client based on QtQuick and Sink.
10
11 The code can be found at: git://anongit.kde.org/kube
12
13 The documentation can be found at: http://api.kde.org/doc/kube/.</p>
14 </description>
15 <url type="homepage">https://phabricator.kde.org/project/view/43/</url>
16 <url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&amp;product=kube</url>
17 <screenshots>
18 </screenshots>
19 <project_group>KDE</project_group>
20 <provides>
21 <binary>kube-mail</binary>
22 </provides>
23</component>
diff --git a/applications/mail/org.kde.kube.desktop b/applications/mail/org.kde.kube.desktop
deleted file mode 100755
index 83d57dd8..00000000
--- a/applications/mail/org.kde.kube.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
1[Desktop Entry]
2Name=Kube
3Type=Application
4Exec=kube-mail
5Icon=kube_icon
6GenericName=Mail Client
7Comment=Send, receive and manage your mail with Kube
8Terminal=false
9StartupNotify=true
10Categories=Qt;KDE;Office;Network;Email;