mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2024-10-01 01:06:10 -04:00
61 lines
1.2 KiB
QML
61 lines
1.2 KiB
QML
|
/*
|
||
|
* 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}
|
||
|
}
|