/* * SPDX-License-Identifier: MIT * Source: https://gist.github.com/jonmcclung/bae669101d17b103e94790341301c129 * Adapted from StackOverflow: http://stackoverflow.com/questions/26879266/make-toast-in-android-by-qml */ import QtQuick 2.0 /** * @brief Manager that creates Toasts dynamically */ ListView { /** * Public */ /** * @brief Shows a Toast * * @param {string} text Text to show * @param {real} duration Duration to show in milliseconds, defaults to 3000 */ function show(text, duration=3000) { model.insert(0, {text: text, duration: duration}); } /** * Private */ id: root z: Infinity spacing: 5 anchors.fill: parent anchors.bottomMargin: 10 verticalLayoutDirection: ListView.BottomToTop interactive: false displaced: Transition { NumberAnimation { properties: "y" easing.type: Easing.InOutQuad } } delegate: Toast { Component.onCompleted: { if (typeof duration === "undefined") { show(text); } else { show(text, duration); } } } model: ListModel {id: model} }