FreeKill/qml/main.qml

68 lines
1.2 KiB
QML
Raw Normal View History

import QtQuick 2.15
import QtQuick.Controls 2.0
import QtQuick.Window 2.0
import "Logic.js" as Logic
2022-03-01 05:18:00 +00:00
import "Pages"
Window {
id: mainWindow
visible: true
width: 720
height: 480
property var callbacks: Logic.callbacks
2022-03-01 05:18:00 +00:00
StackView {
id: mainStack
visible: !mainWindow.busy
initialItem: init
anchors.fill: parent
}
2022-03-01 05:18:00 +00:00
Component {
id: init
Init {}
}
2022-03-01 05:18:00 +00:00
Component {
id: lobby
Lobby {}
}
2022-03-01 05:18:00 +00:00
Component {
id: room
Room {}
}
Component {
id: createRoom
CreateRoom {}
}
2022-03-01 05:18:00 +00:00
property bool busy: false
BusyIndicator {
running: true
anchors.centerIn: parent
2022-03-01 05:18:00 +00:00
visible: mainWindow.busy === true
}
Config {
id: config
}
ToastManager {
id: toast
}
Connections {
target: Backend
2022-03-02 12:56:37 +00:00
function onNotifyUI(command, jsonData) {
let cb = callbacks[command]
if (typeof(cb) === "function") {
2022-03-02 12:56:37 +00:00
cb(jsonData);
} else {
2022-03-02 12:56:37 +00:00
callbacks["ErrorMsg"]("Unknown command " + command + "!");
}
}
}
}