mirror of
https://github.com/pbek/QOwnNotes.git
synced 2025-06-28 21:09:52 +00:00
Found via `codespell -q 3 -S *.ts,./src/libraries,./webpage/src/??/*,./webpage/yarn.lock,./appveyor/OpenSSL/LICENSE -L ro,ser`
37 lines
1.4 KiB
QML
37 lines
1.4 KiB
QML
import QtQml 2.0
|
|
import QOwnNotesTypes 1.0
|
|
|
|
/**
|
|
* This script is a short example of how to use detached processes and callbacks
|
|
* to relieve the UI thread.
|
|
* Visit http://docs.qownnotes.org/ for more information about scripting
|
|
*/
|
|
Script {
|
|
|
|
function log(txt) {
|
|
script.log("[callback-example] " + txt);
|
|
}
|
|
|
|
function init() {
|
|
log("init")
|
|
for (var i = 0; i < 100; i++) {
|
|
var dur = Math.floor(Math.random() * 10) + 1;
|
|
script.startDetachedProcess("sleep", [`${dur}s`], "callback-example", i);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is called when a script thread is done executing.
|
|
* Hint: thread[1]==0 helps to determine if a bulk of started processes for a certain identifier is done.
|
|
*
|
|
* @param {QString} callBackIdentifier - the provided id when calling startDetachedProcess()
|
|
* @param {QString} resultSet - the result of the process
|
|
* @param {QVariantList} cmd - the entire command array [0-executablePath, 1-parameters, 2-exitCode]
|
|
* @param {QVariantList} thread - the thread information array [0-passed callbackParameter, 1-remaining threads for this identifier]
|
|
*/
|
|
function onDetachedProcessCallback(callBackIdentifier, resultSet, cmd, thread) {
|
|
if (callBackIdentifier == "callback-example") {
|
|
log(`#${thread[1]} i[${thread[0]}] t${cmd[1]}`);
|
|
}
|
|
}
|
|
}
|