diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | applications/kube-mail/main.cpp | 29 | ||||
-rw-r--r-- | applications/kube-mail/package/contents/ui/main.qml | 18 | ||||
-rw-r--r-- | icons/CMakeLists.txt | 8 | ||||
-rw-r--r-- | icons/sc-apps-kube_icon.svg | 12 | ||||
-rw-r--r-- | icons/sc-apps-kube_logo.svg | 16 | ||||
-rw-r--r-- | icons/sc-apps-kube_symbol.svg | 9 |
7 files changed, 92 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ebcaf5b..a70344bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -4,3 +4,4 @@ cmake_minimum_required(VERSION 2.8.10.1) | |||
4 | 4 | ||
5 | add_subdirectory(applications) | 5 | add_subdirectory(applications) |
6 | add_subdirectory(framework) | 6 | add_subdirectory(framework) |
7 | add_subdirectory(icons) | ||
diff --git a/applications/kube-mail/main.cpp b/applications/kube-mail/main.cpp index 0e9556c9..5efe14ff 100644 --- a/applications/kube-mail/main.cpp +++ b/applications/kube-mail/main.cpp | |||
@@ -3,14 +3,41 @@ | |||
3 | 3 | ||
4 | #include <QStandardPaths> | 4 | #include <QStandardPaths> |
5 | #include <KPackage/PackageLoader> | 5 | #include <KPackage/PackageLoader> |
6 | #include <QQuickImageProvider> | ||
7 | #include <QIcon> | ||
6 | 8 | ||
7 | #include <QDebug> | 9 | #include <QDebug> |
8 | 10 | ||
11 | class KubeImageProvider : public QQuickImageProvider | ||
12 | { | ||
13 | public: | ||
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 | |||
9 | int main(int argc, char *argv[]) | 34 | int main(int argc, char *argv[]) |
10 | { | 35 | { |
11 | QGuiApplication app(argc, argv); | 36 | QGuiApplication app(argc, argv); |
12 | auto package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", "org.kde.kube.mail"); | 37 | auto package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", "org.kde.kube.mail"); |
13 | Q_ASSERT(package.isValid()); | 38 | Q_ASSERT(package.isValid()); |
14 | QQmlApplicationEngine engine(QUrl::fromLocalFile(package.filePath("mainscript"))); | 39 | QQmlApplicationEngine engine; |
40 | engine.addImageProvider(QLatin1String("kube"), new KubeImageProvider); | ||
41 | engine.load(QUrl::fromLocalFile(package.filePath("mainscript"))); | ||
15 | return app.exec(); | 42 | return app.exec(); |
16 | } | 43 | } |
diff --git a/applications/kube-mail/package/contents/ui/main.qml b/applications/kube-mail/package/contents/ui/main.qml index 9d341e0a..5549bcde 100644 --- a/applications/kube-mail/package/contents/ui/main.qml +++ b/applications/kube-mail/package/contents/ui/main.qml | |||
@@ -67,6 +67,24 @@ ApplicationWindow { | |||
67 | Row { | 67 | Row { |
68 | anchors.fill: parent | 68 | anchors.fill: parent |
69 | 69 | ||
70 | Rectangle { | ||
71 | height: parent.height | ||
72 | color: "transparent" | ||
73 | Image { | ||
74 | id: img | ||
75 | height: parent.height | ||
76 | fillMode: Image.PreserveAspectCrop | ||
77 | anchors { | ||
78 | verticalCenter: parent.verticalCenter | ||
79 | left: parent.left | ||
80 | leftMargin: -20 | ||
81 | } | ||
82 | source: "image://kube/kube_logo" | ||
83 | sourceSize.height: parent.height * 2.5 | ||
84 | } | ||
85 | width: img.width * 0.7 | ||
86 | } | ||
87 | |||
70 | PlasmaComponents.ToolButton { | 88 | PlasmaComponents.ToolButton { |
71 | height: parent.height | 89 | height: parent.height |
72 | iconName: "mail-message-new" | 90 | iconName: "mail-message-new" |
diff --git a/icons/CMakeLists.txt b/icons/CMakeLists.txt new file mode 100644 index 00000000..d9f94bf9 --- /dev/null +++ b/icons/CMakeLists.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | find_package(ECM 0.0.8 REQUIRED NO_MODULE) | ||
2 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) | ||
3 | |||
4 | include(ECMInstallIcons) | ||
5 | |||
6 | ecm_install_icons(ICONS sc-apps-kube_icon.svg DESTINATION share/icons) | ||
7 | ecm_install_icons(ICONS sc-apps-kube_symbol.svg DESTINATION share/icons) | ||
8 | ecm_install_icons(ICONS sc-apps-kube_logo.svg DESTINATION share/icons) | ||
diff --git a/icons/sc-apps-kube_icon.svg b/icons/sc-apps-kube_icon.svg new file mode 100644 index 00000000..da2d1e60 --- /dev/null +++ b/icons/sc-apps-kube_icon.svg | |||
@@ -0,0 +1,12 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | ||
3 | <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||
4 | viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve"> | ||
5 | <g> | ||
6 | <path fill="#E74011" d="M527.4,414.3h-213c-5.6,0-10.2-4.6-10.2-10.2v-213c0-5.6,4.6-10.2,10.2-10.2h213c5.6,0,10.2,4.6,10.2,10.2 | ||
7 | v213C537.6,409.7,533,414.3,527.4,414.3z"/> | ||
8 | <polygon fill="#FFFFFF" points="452,276.5 423.8,331.6 457.4,385.6 488.3,385.7 454.6,331.8 482.8,276.7 "/> | ||
9 | <polygon fill="#FFFFFF" points="446.6,385.4 412.9,331.5 441.1,276.4 410.2,276.2 390.1,315.6 390.1,315.3 390.1,217.5 362,217.5 | ||
10 | 362,385.9 390.1,385.9 390.1,344.1 415.7,385.3 "/> | ||
11 | </g> | ||
12 | </svg> | ||
diff --git a/icons/sc-apps-kube_logo.svg b/icons/sc-apps-kube_logo.svg new file mode 100644 index 00000000..61a6c28f --- /dev/null +++ b/icons/sc-apps-kube_logo.svg | |||
@@ -0,0 +1,16 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | ||
3 | <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||
4 | viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve"> | ||
5 | <polygon fill="#E74011" points="250.1,265.5 217.3,329.7 256.5,392.6 292.5,392.8 253.2,329.9 286.1,265.7 "/> | ||
6 | <path fill="#E74011" d="M376.5,393v-7.6c-8,5.4-19.4,9-33,9c-25,0-44.7-12.2-44.7-43v-87.9h32.7v87.1c0,12,7.7,18,20.8,18 | ||
7 | c14.6,0,24.1-7.1,24.1-18.8v-86.3h32.7V393H376.5z"/> | ||
8 | <path fill="#E74011" d="M490.8,291.1c-15.5,0-27.7,9.5-27.7,22v35.1c0,14.2,6.3,24.8,27.7,24.8c23.2,0,33.6-16.1,33.6-40.6 | ||
9 | C524.5,307.7,512.5,291.1,490.8,291.1 M492.6,398.8c-43.2,0-62.2-20.7-62.2-48.4V201.2h32.7v75.1c7.4-5.4,16.7-9.8,33.6-9.8 | ||
10 | c35.7,0,61.9,23.9,61.9,65.9C558.7,371.9,533.7,398.8,492.6,398.8"/> | ||
11 | <path fill="#E74011" d="M634.4,291.1c-15.8,0-26.5,10.9-28.3,25.9h56.6C662.7,302.2,650.8,291.1,634.4,291.1 M605.2,339.2 | ||
12 | c0.9,20.4,13.4,33.7,33.6,33.7c20.5,0,37.5-4.9,49.1-10.6v28.3c-7.7,3.5-21.1,8.2-49.4,8.2c-35.7,0-67.6-17.1-67.6-65 | ||
13 | c0-45.7,29.8-67.2,63.4-67.2c38.4,0,62.5,24.2,62.5,60.1v12.5L605.2,339.2L605.2,339.2z"/> | ||
14 | <polygon fill="#E74011" points="243.8,392.5 204.6,329.6 237.4,265.4 201.5,265.2 178,311.2 178,310.8 178,196.7 145.2,196.7 | ||
15 | 145.2,393 178,393 178,344.3 207.9,392.3 "/> | ||
16 | </svg> | ||
diff --git a/icons/sc-apps-kube_symbol.svg b/icons/sc-apps-kube_symbol.svg new file mode 100644 index 00000000..6d70899e --- /dev/null +++ b/icons/sc-apps-kube_symbol.svg | |||
@@ -0,0 +1,9 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | ||
3 | <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||
4 | viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve"> | ||
5 | <g> | ||
6 | <polygon fill="#E74011" points="383.5,332 417,385.3 447,385.3 413.6,332 443,276.3 412.9,276.4 "/> | ||
7 | <polygon fill="#E74011" points="424,332 457.5,385.3 487.6,385.3 454.1,332 483.5,276.3 453.5,276.4 "/> | ||
8 | </g> | ||
9 | </svg> | ||