From 7f13bf1388fd81d64e8c96b69525cff10cf751ed Mon Sep 17 00:00:00 2001 From: Juraj Oravec Date: Tue, 29 Mar 2022 01:37:11 +0200 Subject: [PATCH] Add QML example for notifications Signed-off-by: Juraj Oravec --- qml/README.md | 1 + qml/articles/5.Using_notifications.md | 40 ++++++++++++++++++ qml/extensions/qml_tutorial_5/main.qml | 40 ++++++++++++++++++ .../qml_tutorial_5/metadata.desktop | 11 +++++ qml/images/tutorial5/notification.png | Bin 0 -> 8784 bytes 5 files changed, 92 insertions(+) create mode 100644 qml/articles/5.Using_notifications.md create mode 100644 qml/extensions/qml_tutorial_5/main.qml create mode 100644 qml/extensions/qml_tutorial_5/metadata.desktop create mode 100644 qml/images/tutorial5/notification.png diff --git a/qml/README.md b/qml/README.md index ece195a..b17ffd5 100644 --- a/qml/README.md +++ b/qml/README.md @@ -4,3 +4,4 @@ 2. [Basic Extension](articles/2.Basic_extension.md) - [Extension](extensions/qml_tutorial_2/) 3. [Adding a button to the toolbar](articles/3.Adding_a_button_to_the_toolbar.md) - [Extension](extensions/qml_tutorial_3/) 4. [Adding an entry to the web context menu](articles/4.Adding_entry_to_the_web_context_menu.md) - [Extension](extensions/qml_tutorial_4/) +5. [Using notifications](articles/4.Using_notificcations.md) - [Extension](extensions/qml_tutorial_5/) diff --git a/qml/articles/5.Using_notifications.md b/qml/articles/5.Using_notifications.md new file mode 100644 index 0000000..ee03eda --- /dev/null +++ b/qml/articles/5.Using_notifications.md @@ -0,0 +1,40 @@ +# Falkon QML Tutorial - 5. Using notifications + +Hello, in this chapter I will show you how to use Falkon notifications. + + +## Create notification + +```qml +Falkon.Notifications.create({ + heading: i18n('Hello QML'), + message: i18n('First qml plugin action works :-)'), + icon: 'extensions.svg' +}) +``` + +## Arguments + +### heading +Notification header + +### message +The body of the notification + +### icon +Either system icon or file provided by extension. + + +## Example +The example code will add a button to main toolbar and statusbar. When +user clicks on the button a notification will show up. + +![Notification](../images/tutorial5/notification.png) + +Keep in mind that the form and shape of my notifications can be +different from yours. + +### Code +The code for this example can be found at +[extensions/qml_tutorial_5](../extensions/qml_tutorial_5) + diff --git a/qml/extensions/qml_tutorial_5/main.qml b/qml/extensions/qml_tutorial_5/main.qml new file mode 100644 index 0000000..eae4230 --- /dev/null +++ b/qml/extensions/qml_tutorial_5/main.qml @@ -0,0 +1,40 @@ +import org.kde.falkon 1.0 as Falkon +import QtQuick 2.3 + +Falkon.PluginInterface { + + init: function(state, settingsPath){ + console.log(i18n('"Tutorial5" plugin loaded')) + } + + testPlugin: function() { + return true + } + + unload: function() { + console.log(i18n('"Tutorial5" plugin unloaded')) + } + + function buttonClicked() { + Falkon.Notifications.create({ + heading: i18n('QML Tutorial 5'), + message: i18n('Some message text body.'), + icon: 'falkon' + }) + } + + Falkon.BrowserAction { + name: 'QML Tutorial 3' + identity: 'qml-tutorial-3-id' + title: i18n('Qml Tutorial 3') + toolTip: i18n('My little button') + icon: 'falkon' + location: Falkon.BrowserAction.NavigationToolBar | Falkon.BrowserAction.StatusBar + onClicked: buttonClicked() + popup: Rectangle { + width: 100; + height: 100; + } + } + +} diff --git a/qml/extensions/qml_tutorial_5/metadata.desktop b/qml/extensions/qml_tutorial_5/metadata.desktop new file mode 100644 index 0000000..ea7c90f --- /dev/null +++ b/qml/extensions/qml_tutorial_5/metadata.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Tutorial5 QML +Comment=Example QML extension with button and notifications +Icon= +Type=Service +X-Falkon-Type=Extension/Qml + +X-Falkon-Author=Juraj Oravec +X-Falkon-Email=jurajoravec@mailo.com +X-Falkon-Version=1.0.0 +X-Falkon-Settings=false diff --git a/qml/images/tutorial5/notification.png b/qml/images/tutorial5/notification.png new file mode 100644 index 0000000000000000000000000000000000000000..919247fab29e49dc40c9adde49c797662ac1f37e GIT binary patch literal 8784 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 xG)eh<-9H5iHNsUB7