From 8c5339a4021350303da5d14cebecf2d0bd17c7e3 Mon Sep 17 00:00:00 2001 From: Sergey Chupligin Date: Fri, 29 Dec 2017 12:46:32 +0300 Subject: [PATCH] [examples] add Notifications example --- examples/touch/content/NotificationsPage.qml | 76 ++++++++++++++++++++ examples/touch/glacier-components.qml | 4 ++ examples/touch/touch.pro | 3 +- rpm/qtquickcontrols-nemo.spec | 5 +- 4 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 examples/touch/content/NotificationsPage.qml diff --git a/examples/touch/content/NotificationsPage.qml b/examples/touch/content/NotificationsPage.qml new file mode 100644 index 0000000..841bc89 --- /dev/null +++ b/examples/touch/content/NotificationsPage.qml @@ -0,0 +1,76 @@ +/**************************************************************************************** +** +** Copyright (C) 2017 Chupligin Sergey +** All rights reserved. +** +** You may use this file under the terms of BSD license as follows: +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in the +** documentation and/or other materials provided with the distribution. +** * Neither the name of the author nor the +** names of its contributors may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR +** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +****************************************************************************************/ + +import QtQuick 2.6 +import QtQuick.Controls 1.0 //needed for the Stack attached property +import QtQuick.Controls.Nemo 1.0 +import QtQuick.Controls.Styles.Nemo 1.0 + +import Nemo.Notifications 1.0 + +Page { + id: root + + headerTools: HeaderToolsLayout { + showBackButton: true; + title: "Notifications" + } + allowedOrientations: Qt.PortraitOrientation | Qt.LandscapeOrientation | Qt.InvertedLandscapeOrientation | Qt.InvertedPortraitOrientation + + + Notification{ + id: simpleNotify + category: "x-nemo.example" + summary: "" + body: "" + itemCount: 1 + remoteActions: [ { + "name": "default", + "service": "org.nemomobile.notify", + "path": "/org/nemomobile/notify", + "iface": "org.nemomobile.notify", + "method": "activateApp", + "arguments": [ "Hello Nemo! You have a notification" ] + }] + } + + Column { + spacing: 40 + anchors.centerIn: parent + Button { + text: "Test label" + onClicked:{ + simpleNotify.summary = "Hello Nemo! You have a notification" + simpleNotify.publish() + } + } + } +} diff --git a/examples/touch/glacier-components.qml b/examples/touch/glacier-components.qml index ddaf04f..2cfdd04 100644 --- a/examples/touch/glacier-components.qml +++ b/examples/touch/glacier-components.qml @@ -124,6 +124,10 @@ ApplicationWindow { title: "Icons" page: "content/IconPage.qml" } + ListElement { + title: "Notifications" + page: "content/NotificationsPage.qml" + } } diff --git a/examples/touch/touch.pro b/examples/touch/touch.pro index 8ff8b06..2b03345 100644 --- a/examples/touch/touch.pro +++ b/examples/touch/touch.pro @@ -26,7 +26,8 @@ qml.files += \ content/ListViewPage.qml \ content/SelectRollerPage.qml \ content/IconPage.qml \ - content/DatePickerPage.qml + content/DatePickerPage.qml \ + content/NotificationsPage.qml qml.path = /usr/share/glacier-components/qml/content diff --git a/rpm/qtquickcontrols-nemo.spec b/rpm/qtquickcontrols-nemo.spec index 8937bbb..c36d1d4 100644 --- a/rpm/qtquickcontrols-nemo.spec +++ b/rpm/qtquickcontrols-nemo.spec @@ -10,12 +10,10 @@ BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Qml) BuildRequires: pkgconfig(Qt5Quick) BuildRequires: fdupes -BuildRequires: pkgconfig(glacierapp) Requires: qt5-qtquickcontrols Requires: qt5-qtgraphicaleffects Requires: nemo-theme-glacier -Requires: libglacierapp %description Qt is a cross-platform application and UI framework. Using Qt, you can @@ -27,7 +25,10 @@ This package contains the Qt Quick Controls library %package examples Summary: Examples to showcase Nemo UI components Requires: %{name} +Requires: nemo-qml-plugin-notifications-qt5 +Requires: libglacierapp BuildRequires: desktop-file-utils +BuildRequires: pkgconfig(glacierapp) %description examples %{summary}.