This repository has been archived on 2022-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
fanny-app/qml/main.qml

95 lines
2.7 KiB
QML
Raw Normal View History

2018-06-21 08:47:09 +02:00
import QtQuick 2.9
import QtQuick.Controls 2.2
ApplicationWindow {
id: window
visible: true
2018-06-21 16:41:02 +02:00
width: 540
height: 960
property bool is_error
property string error
Timer {
//runs only one time at applictaion lauch
id: initTimer
interval: 1;
running: true
repeat: false
onTriggered: {
var perm = _cppAppSettings.loadSetting("permanent")
console.log("checkoldlogin", perm);
if(perm === "1"){
console.log("Perm")
var ret = _cppServerConn.login(_cppAppSettings.loadSetting("username"), _cppAppSettings.loadSetting("password"), true);
if(ret === "OK"){
_cppAppSettings.writeSetting("init", 1);
window.is_error = false;
}
else {
ret = _cppServerConn.checkConn()
handleError(ret)
}
}
else {
stackView.push("qrc:/LoginPage.qml")
}
}
}
Timer {
id: refreshTimer
interval: 1000;
running: true
repeat: true
onTriggered: {
var ret = _cppServerConn.checkConn()
handleError(ret)
}
}
2018-06-21 08:47:09 +02:00
StackView {
id: stackView
2018-06-21 16:41:02 +02:00
initialItem: "MainPage.qml"
2018-06-21 08:47:09 +02:00
anchors.fill: parent
}
2018-06-21 16:41:02 +02:00
function handleError(error_code){
if(error_code === 200){
window.is_error = false;
window.error = "";
}
else if(error_code === 401){
_cppAppSettings.writeSetting("permanent", 0)
_cppAppSettings.writeSetting("username", "")
_cppAppSettings.writeSetting("password", "")
if(["LoginPage"].indexOf(stackView.currentItem.objectName) < 0){
console.log("switching to login page")
stackView.push("qrc:/LoginPage.qml");
}
window.is_error = true;
window.error = "Nicht angemeldet!!";
}
else if(error_code === 500){
window.is_error = true;
window.error = "Interner Server Fehler!";
}
else if(error_code === 0){
window.is_error = true;
window.error = "Keine Verbindung zum Server!";
}
else if(error_code === 404){
//the testcon function calls a non existent file to be fast, so no error here
window.is_error = false;
}
else if(error_code === 111){
window.is_error = true;
window.error = "Unbekannter interner Fehler!";
}
else {
window.is_error = true;
window.error = "Unbekannter Fehler! ("+error_code+")";
}
}
2018-06-21 08:47:09 +02:00
}