diff --git a/android-sources/AndroidManifest.xml b/android-sources/AndroidManifest.xml index 4280a68..1618db8 100644 --- a/android-sources/AndroidManifest.xml +++ b/android-sources/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/android-sources/res/drawable-hdpi/icon.png b/android-sources/res/drawable-hdpi/icon.png index fa868e0..2d1f342 100644 Binary files a/android-sources/res/drawable-hdpi/icon.png and b/android-sources/res/drawable-hdpi/icon.png differ diff --git a/android-sources/res/drawable-ldpi/icon.png b/android-sources/res/drawable-ldpi/icon.png index fa868e0..2d1f342 100644 Binary files a/android-sources/res/drawable-ldpi/icon.png and b/android-sources/res/drawable-ldpi/icon.png differ diff --git a/android-sources/res/drawable-mdpi/icon.png b/android-sources/res/drawable-mdpi/icon.png index fa868e0..2d1f342 100644 Binary files a/android-sources/res/drawable-mdpi/icon.png and b/android-sources/res/drawable-mdpi/icon.png differ diff --git a/resources/qml/Pages/WidgetPage.qml b/resources/qml/Pages/WidgetPage.qml index c791d01..7088111 100644 --- a/resources/qml/Pages/WidgetPage.qml +++ b/resources/qml/Pages/WidgetPage.qml @@ -67,15 +67,24 @@ Page { var ret = serverConn.getWidgetData(params) + root.status = ret["status"] + if(ret["status"] === 200){ root.widgetData = ret["data"] root.widgetType = checkWidgetType(params, root.widgetData) - console.log(widgetType) - widgetLd.load() - root.ready = true + if(widgetLd.load()){ + root.ready = true + } + else { + root.status = 900 + root.ready = false + } + } + else { + root.ready = false } - root.status = ret["status"] + app.errorCode = root.status } @@ -83,7 +92,7 @@ Page { if(openLoadingDl) loadingDl.open() - + // update all the given values for(var prop in params){ if(params.hasOwnProperty(prop)){ root.params[prop] = params[prop] @@ -98,7 +107,6 @@ Page { } function checkWidgetType(params, widgetData){ - var widgetType function hasParam(object, key, value){ @@ -154,14 +162,34 @@ Page { property alias selector: selectorPu property var updateData: root.updateData property alias params: root.params + property alias currentWidgetData: root.widgetData + + property var oldWidgetType: NaN anchors.fill: parent source: "" function load() { - widgetLd.source = getFile(root.widgetType) - widgetLd.item.widgetData = root.widgetData + if(root.widgetType !== oldWidgetType){ + oldWidgetType = root.widgetType + var calComp = Qt.createComponent(getFile(root.widgetType))//.createObject(null, {widgetData: root.widgetData, parent: widgetLd}) + + widgetLd.sourceComponent = calComp + //widgetLd.item.widgetData = root.widgetData + } + root.status = widgetLd.item.status + + if(widgetLd.item.ready){ + return true + } + else { + delete(widgetLd.sourceComponent = null) + return false + } + + + // } function getFile(widgetType) { @@ -222,9 +250,11 @@ Page { title: "" function appear(dataObj, title) { - selectorPu.dataObj = dataObj - selectorPu.title = title - selectorPu.open() + if(dataObj.length > 0){ + selectorPu.dataObj = dataObj + selectorPu.title = title + selectorPu.open() + } } ListView { diff --git a/resources/qml/Widgets/CalendarWidget.qml b/resources/qml/Widgets/CalendarWidget.qml index 03e8a47..2f9b022 100644 --- a/resources/qml/Widgets/CalendarWidget.qml +++ b/resources/qml/Widgets/CalendarWidget.qml @@ -24,117 +24,105 @@ import "../Components" DataListView { id: control - property string title: (params.nation === "" ? "IFSC":params.nation === "GER" ? "DAV":"SAC") + " " + qsTr("competition calendar") - property Component headerComponent: Item { - anchors.fill: parent + property bool ready - Row { - anchors.fill: parent - anchors.rightMargin: 5 - - spacing: width * 0.05 - - Label { - id: yearLa - anchors.verticalCenter: parent.verticalCenter - - width: parent.width * 0.4 - height: parent.height * 0.6 - - fontSizeMode: Text.Fit - font.pixelSize: height - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - minimumPixelSize: 1 - - text: control.year - - Behavior on text { - FadeAnimation { - target: yearLa - } - } - - } - - Button { - id:yearToolBt - - anchors { - verticalCenter: parent.verticalCenter - } - - height: parent.height * 0.5 - width: parent.width * 0.25 - - onClicked: { - control.changeYear() - } - - onPressed: yearToolBt.scale = 0.9 - onReleased: yearToolBt.scale = 1.0 - - background: Image { - - anchors.centerIn: parent - - source: "qrc:/icons/calendar.png" - - height: parent.height > parent.width ? parent.width : parent.height - width: height - - mipmap: true - - fillMode: Image.PreserveAspectFit - Behavior on scale { - PropertyAnimation { - duration: 100 - } - } - } - } - - Button { - id: cupToolBt - - anchors { - verticalCenter: parent.verticalCenter - } - - height: parent.height * 0.5 - width: parent.width * 0.25 - - onClicked: { - control.openCup() - } - - onPressed: cupToolBt.scale = 0.9 - onReleased: cupToolBt.scale = 1.0 - - background: Image { - - anchors.centerIn: parent - - source: "qrc:/icons/cup.png" - - height: parent.height > parent.width ? parent.width : parent.height - width: height - - mipmap: true - - fillMode: Image.PreserveAspectFit - Behavior on scale { - PropertyAnimation { - duration: 100 - } - } - } - } + property string title: (params.nation === "" ? "IFSC":params.nation === "GER" ? "DAV":"SAC") + " " + qsTr("competition calendar") + " " + control.year + property Component headerComponent: Row { + anchors { + top: parent.top + bottom: parent.bottom + right: parent.right + rightMargin: 5 } + + width: childrenRect.width + + spacing: width * 0.1 + + Button { + id:yearToolBt + + anchors { + verticalCenter: parent.verticalCenter + } + + height: parent.height * 0.5 + width: height + + onClicked: { + control.changeYear() + } + + onPressed: yearToolBt.scale = 0.9 + onReleased: yearToolBt.scale = 1.0 + + background: Image { + + anchors.centerIn: parent + + source: "qrc:/icons/calendar.png" + + height: parent.height > parent.width ? parent.width : parent.height + width: height + + mipmap: true + + fillMode: Image.PreserveAspectFit + Behavior on scale { + PropertyAnimation { + duration: 100 + } + } + } + } + + Button { + id: cupToolBt + + anchors { + verticalCenter: parent.verticalCenter + } + + height: parent.height * 0.5 + width: height + + onClicked: { + control.openCup() + } + + onPressed: cupToolBt.scale = 0.9 + onReleased: cupToolBt.scale = 1.0 + + background: Image { + + anchors.centerIn: parent + + source: "qrc:/icons/cup.png" + + height: parent.height > parent.width ? parent.width : parent.height + width: height + + mipmap: true + + fillMode: Image.PreserveAspectFit + Behavior on scale { + PropertyAnimation { + duration: 100 + } + } + } + } + + Item { + id: spacer + height: parent.height + width: 1 + } + } - property var widgetData + property var widgetData: currentWidgetData property int year: new Date().getFullYear() @@ -144,17 +132,22 @@ DataListView { model: widgetData["competitions"].length - status: root.status - onRefresh: { updateData({}, false) } - onModelChanged: { - autoScroll() - } + Component.onCompleted: { + if(model > 0){ + control.ready = true + control.status = 200 + } + else { + control.ready = false + control.status = 901 + } + + autoScroll() - onWidgetDataChanged: { // if the IFSC Calendar is open -> add the worldranking if(params.nation === ""){ control.widgetData['cups'].unshift({"SerId":"","rkey":"","name":"Worldranking","modified":"2018-10-24 16:11:12","modifier":"","year":"","num_comps":"","cats":["ICC-COA","ICC-HD","ICC-MED","ICC_F","ICC_FB","ICC_FS","ICC_M","ICC_MB","ICC_MS"]}) @@ -162,9 +155,11 @@ DataListView { } function autoScroll() { - + // function to scroll to the next competition that is not already over var compList = control.widgetData["competitions"] + console.log("scrolling") + if(parseInt(control.year) === new Date().getFullYear()){ for(var i = 0; i < compList.length; i ++){ // get the start date pf the competition @@ -186,6 +181,9 @@ DataListView { } } } + else { + //console.log("not current year") + } } function getCompCatData(compCatId) { @@ -293,7 +291,7 @@ DataListView { } Connections { - target: selector + target: parent.selector onSelectionFinished: { if(data.comp !== undefined){ console.log(data.status) @@ -375,14 +373,14 @@ DataListView { text: name } -/* + Label { id: infola width: parent.width text: thisData.info - }*/ + } Label { id: dateLa diff --git a/resources/qml/Widgets/ProfileWidget.qml b/resources/qml/Widgets/ProfileWidget.qml index db77f0b..b30d42f 100644 --- a/resources/qml/Widgets/ProfileWidget.qml +++ b/resources/qml/Widgets/ProfileWidget.qml @@ -14,7 +14,12 @@ Page { property int perId: -1 - property var widgetData: ({}) + property var widgetData: currentWidgetData + + Component.onCompleted: { + control.ready = true + control.status = 200 + } ScrollView { id: mainSv @@ -334,7 +339,7 @@ Page { text: "" + bestResultsRep.bestResults[index]["name"] + "" onLinkActivated: { - app.openResults( bestResultsRep.bestResults[index]["WetId"], bestResultsRep.bestResults[index]["GrpId"], 1 ) + app.openWidget( { comp: bestResultsRep.bestResults[index]["WetId"], cat: bestResultsRep.bestResults[index]["GrpId"] } ) } } diff --git a/resources/qml/Widgets/RankingWidget.qml b/resources/qml/Widgets/RankingWidget.qml index 5a3cc1e..6892306 100644 --- a/resources/qml/Widgets/RankingWidget.qml +++ b/resources/qml/Widgets/RankingWidget.qml @@ -24,11 +24,13 @@ import "../Components" DataListView { id: control + property bool ready + property string title: control.widgetData['comp_name'] property string subTitle: qsTr("(Ranking)") + " after " + control.widgetData['route_name'] property bool titleIsPageTitle: true - property var widgetData: ({}) + property var widgetData: currentWidgetData signal closeAll() Connections { @@ -40,11 +42,23 @@ DataListView { } } - - onWidgetDataChanged: { - model = widgetData[ "participants" ] === undefined ? 0:widgetData[ "participants" ].length + Component.onCompleted: { + if(model > 0){ + control.ready = true + control.status = 200 + } + else { + control.ready = false + control.status = 901 + } } + onRefresh: { + updateData({}, false) + } + + status: model === 0 ? 901:200 + model: widgetData[ "participants" ] === undefined ? 0:widgetData[ "participants" ].length delegate: ItemDelegate { diff --git a/resources/qml/Widgets/RegistrationWidget.qml b/resources/qml/Widgets/RegistrationWidget.qml index 2395e9b..985d6c8 100644 --- a/resources/qml/Widgets/RegistrationWidget.qml +++ b/resources/qml/Widgets/RegistrationWidget.qml @@ -24,21 +24,24 @@ import "../Components" DataListView { id: control - property string title: control.widgetData['name'] + property bool ready + + property string title: control.widgetData['name'] === undefined ? "":control.widgetData['name'] property string subTitle: getSubtitle() property bool titleIsPageTitle: true property Component headerComponent: Item { - anchors.fill: parent + height: parent.height + width: moreToolBt.width * 1.5 Button { - id: cupToolBt + id: moreToolBt anchors { verticalCenter: parent.verticalCenter right: parent.right - rightMargin: parent.width * 0.1 + rightMargin: parent.width * 0.5 } height: parent.height * 0.5 @@ -48,8 +51,8 @@ DataListView { control.changeCat() } - onPressed: cupToolBt.scale = 0.9 - onReleased: cupToolBt.scale = 1.0 + onPressed: moreToolBt.scale = 0.9 + onReleased: moreToolBt.scale = 1.0 background: Image { @@ -70,15 +73,16 @@ DataListView { } } } - - } - property var widgetData: ({}) + property var widgetData: currentWidgetData function getSubtitle() { var titleString + if(control.widgetData["categorys"] === undefined) + return "" + for(var i = 0; i < control.widgetData["categorys"].length; i ++ ){ //console.log("checking " + i + ": cat: " + parseInt(control.widgetData["categorys"][i]["GrpId"]) + " searched cat: " + params.cat) if(parseInt(control.widgetData["categorys"][i]["GrpId"]) === parseInt(params.cat)){ @@ -86,9 +90,14 @@ DataListView { } } - var addition = "(Registration) " - return addition + titleString + + if(titleString !== undefined){ + return addition + titleString + } + else { + return "" + } } @@ -143,8 +152,21 @@ DataListView { } } + status: model === 0 ? 901:200 + model: widgetData[ 'athletes' ] === undefined ? 0:widgetData[ 'athletes' ].length + Component.onCompleted: { + if(model > 0){ + control.ready = true + control.status = 200 + } + else { + control.ready = false + control.status = 901 + } + } + onRefresh: { updateData({}, false) } diff --git a/resources/qml/Widgets/ResultWidget.qml b/resources/qml/Widgets/ResultWidget.qml index 65bd747..98992bd 100644 --- a/resources/qml/Widgets/ResultWidget.qml +++ b/resources/qml/Widgets/ResultWidget.qml @@ -25,21 +25,24 @@ import "../Components" DataListView { id: control + property bool ready + property string title: control.widgetData['comp_name'] property string subTitle: getSubtitle() property bool titleIsPageTitle: true property Component headerComponent: Item { - anchors.fill: parent + height: parent.height + width: moreToolBt.width * 1.5 Button { - id: cupToolBt + id: moreToolBt anchors { verticalCenter: parent.verticalCenter right: parent.right - rightMargin: parent.width * 0.1 + rightMargin: parent.width * 0.5 } height: parent.height * 0.5 @@ -49,8 +52,8 @@ DataListView { control.changeCat() } - onPressed: cupToolBt.scale = 0.9 - onReleased: cupToolBt.scale = 1.0 + onPressed: moreToolBt.scale = 0.9 + onReleased: moreToolBt.scale = 1.0 background: Image { @@ -71,14 +74,25 @@ DataListView { } } } - - } - property var widgetData: ({}) + property var widgetData: currentWidgetData - onWidgetDataChanged: { - model = widgetData[ "participants" ] === undefined ? 0:widgetData[ "participants" ].length + Component.onCompleted: { + if(model > 0){ + control.ready = true + control.status = 200 + } + else { + control.ready = false + control.status = 901 + } + + if(!control.ready) + return + + //model = widgetData[ "participants" ] === undefined ? 0:widgetData[ "participants" ].length + //routeSelectTb.setCurrentIndex(routeSelectTb.getIndex(parseInt(control.widgetData['route_order']))) } model: widgetData[ "participants" ] === undefined ? 0:widgetData[ "participants" ].length @@ -98,7 +112,14 @@ DataListView { } var addition = qsTr("(Results)") - return addition + " " + titleString + + if(titleString !== undefined){ + return addition + titleString + } + else { + return "" + } + } @@ -129,7 +150,7 @@ DataListView { target: selector onSelectionFinished: { if(data.cat !== undefined){ - updateData({cat: data.cat}, true) + updateData({cat: data.cat, route:""}, true) } } } @@ -162,7 +183,6 @@ DataListView { NumberAnimation { target: partDel; property: "scale"; from: 0.8; to: 1.0; duration: 400 } } - Rectangle { anchors.fill: parent @@ -195,7 +215,7 @@ DataListView { verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter - text: widgetData[ "participants" ][index]["result_rank"] === undefined ? "":widgetData[ "participants" ][index]["result_rank"] + text: partDel.thisData["result_rank"] === undefined ? "":partDel.thisData["result_rank"] } Label { @@ -208,7 +228,7 @@ DataListView { verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignLeft - text: widgetData[ "participants" ][index]["firstname"] + " " + widgetData[ "participants" ][index]["lastname"] + text: partDel.thisData["firstname"] + " " + partDel.thisData["lastname"] } Label { @@ -225,7 +245,7 @@ DataListView { verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter - text: "(" + (widgetData[ "display_athlete" ] === "nation" ? widgetData[ "participants" ][index]["nation"] : widgetData[ "participants" ][index]["federation"]) + ")" + text: "(" + (widgetData[ "display_athlete" ] === "nation" ? partDel.thisData["nation"] : partDel.thisData["federation"]) + ")" onLinkActivated: { Qt.openUrlExternally(link) @@ -237,7 +257,7 @@ DataListView { id: partDelSecondRow width: parent.width - height: multiResRow.enabled || multiGenResRow.enabled || resultLa.enabled ? parent.height / 2:0 + height: multiResRow.enabled || multiGenResRow.enabled || resultLa.enabled ? parent.height / 2 : 0 Row { id: multiResRow @@ -491,7 +511,7 @@ DataListView { width: parent.width / ( generalResRep.model ) height: parent.height - visible: boulderGenResLa.text != "" + visible: enabled Rectangle { @@ -560,6 +580,10 @@ DataListView { } } + footer: ItemDelegate { + height: routeSelectTb.height + } + RectangularGlow { id: toolBarEffect glowRadius: 3 @@ -581,13 +605,17 @@ DataListView { bottom: parent.bottom } - height: tabs.length > 0 ? 50:0 + height: tabs.length > 1 ? 50:0 + width: parent.width position: TabBar.Footer + currentIndex: getIndex(parseInt(control.widgetData['route_order'])) + Component.onCompleted: { //currentIndex = getIndex(params.route) - setCurrentIndex(getIndex(props.route)) + //setCurrentIndex(getIndex(params.route)) + //routeSelectTb.setCurrentIndex(routeSelectTb.getIndex(parseInt(control.widgetData['route_order']))) } function getTabs() { @@ -599,7 +627,7 @@ DataListView { // go through the whole array and search for data keys if (obj.hasOwnProperty(prop)) { buttonData.push([prop, obj[prop]]) - console.log("found " + obj[prop] + " at index " + prop) + //console.log("found " + obj[prop] + " at index " + prop) } } @@ -611,12 +639,16 @@ DataListView { } function getIndex(routeNumber) { - console.log("getting index for route number: " + routeNumber) + //console.log("getting index for route number: " + routeNumber) + + if(tabs === undefined){ + //return + } for(var i = 0; i < tabs.length; i++){ //console.log(tabs[i]) if(parseInt(tabs[i][0]) === routeNumber){ - console.log("found index: " + i) + //console.log("found index: " + i) return i } } @@ -641,12 +673,13 @@ DataListView { onClicked: { //console.log("changing to index: " + index + " (" + routeSelectTb.tabs[index][0] + ", " + routeSelectTb.tabs[index][1] + ")") - - control.changeRoute(routeSelectTb.tabs[index][0]) + if(routeSelectTb.getIndex(parseInt(control.widgetData['route_order'])) !== index){ + control.changeRoute(routeSelectTb.tabs[index][0]) + } } } } + } - } diff --git a/resources/qml/Widgets/StartlistWidget.qml b/resources/qml/Widgets/StartlistWidget.qml index 602cb36..4fb9829 100644 --- a/resources/qml/Widgets/StartlistWidget.qml +++ b/resources/qml/Widgets/StartlistWidget.qml @@ -18,27 +18,31 @@ import QtQuick 2.9 import QtQuick.Controls 2.4 +import QtGraphicalEffects 1.0 import "../Components" DataListView { id: control + property bool ready + property string title: control.widgetData['comp_name'] - property string subTitle: getSubtitle() + property string subTitle: qsTr("(Startlist)") + " " + control.widgetData['route_name'] //getSubtitle() property bool titleIsPageTitle: true property Component headerComponent: Item { - anchors.fill: parent + height: parent.height + width: moreToolBt.width * 1.5 Button { - id: cupToolBt + id: moreToolBt anchors { verticalCenter: parent.verticalCenter right: parent.right - rightMargin: parent.width * 0.1 + rightMargin: parent.width * 0.5 } height: parent.height * 0.5 @@ -48,8 +52,8 @@ DataListView { control.changeCat() } - onPressed: cupToolBt.scale = 0.9 - onReleased: cupToolBt.scale = 1.0 + onPressed: moreToolBt.scale = 0.9 + onReleased: moreToolBt.scale = 1.0 background: Image { @@ -70,8 +74,6 @@ DataListView { } } } - - } function getSubtitle() { @@ -89,6 +91,9 @@ DataListView { } + function changeRoute(route) { + updateData({route:route}, true) + } function changeCat(){ var cats = control.widgetData["categorys"] @@ -118,11 +123,23 @@ DataListView { } } - - property var widgetData: ({}) + property var widgetData: currentWidgetData model: widgetData[ "participants" ] === undefined ? 0:widgetData[ "participants" ].length + Component.onCompleted: { + if(model > 0){ + control.ready = true + control.status = 200 + } + else { + control.ready = false + control.status = 901 + } + + routeSelectTb.setCurrentIndex(routeSelectTb.getIndex(parseInt(control.widgetData['route_order']))) + } + onRefresh: { updateData({}, false) } @@ -209,4 +226,94 @@ DataListView { } } + + footer: ItemDelegate { + height: routeSelectTb.height + } + + RectangularGlow { + id: toolBarEffect + glowRadius: 3 + spread: 0.2 + color: "black" + opacity: 0.3 + anchors.fill: routeSelectTb + } + + TabBar { + id: routeSelectTb + + property var tabs: getTabs() + property var tabIndexes: [] + + anchors { + left: parent.left + right: parent.right + bottom: parent.bottom + } + + height: tabs.length > 1 ? 50:0 + + position: TabBar.Footer + + function getTabs() { + + var obj = control.widgetData["route_names"] + var buttonData = [] + + for(var prop in obj) { + // go through the whole array and search for data keys + if (obj.hasOwnProperty(prop)) { + buttonData.push([prop, obj[prop]]) + console.log("found " + obj[prop] + " at index " + prop) + } + } + + buttonData.sort(function(a, b) { + return a[0] - b[0]; + }); + + return buttonData + } + + function getIndex(routeNumber) { + console.log("getting index for route number: " + routeNumber) + + for(var i = 0; i < tabs.length; i++){ + //console.log(tabs[i]) + if(parseInt(tabs[i][0]) === routeNumber){ + console.log("found index: " + i) + return i + } + } + + + return 0 + } + + Repeater { + id: routeSelectButtonRep + + model: routeSelectTb.tabs.length + + onModelChanged: { + routeSelectTb.setCurrentIndex(routeSelectTb.getIndex(parseInt(control.widgetData['route_order']))) + } + + + delegate: TabButton { + text: routeSelectTb.tabs[index][1] + + width: Math.max(150, routeSelectTb.width / routeSelectButtonRep.model) //text.length * font.pixelSize + + onClicked: { + //console.log("changing to index: " + index + " (" + routeSelectTb.tabs[index][0] + ", " + routeSelectTb.tabs[index][1] + ")") + + control.changeRoute(routeSelectTb.tabs[index][0]) + } + } + } + } + + } diff --git a/resources/qml/main.qml b/resources/qml/main.qml index 227c10b..afe817c 100644 --- a/resources/qml/main.qml +++ b/resources/qml/main.qml @@ -163,7 +163,6 @@ Window { //openWidget({nation:'GER'}) } - Shortcut { sequences: ["Esc", "Back"] enabled: mainStack.depth > 1 @@ -379,19 +378,31 @@ Window { Loader { id: extraComponentLoader - height: parent.height - width: status === Loader.Ready ? parent.width * 0.4 - toolButton.width - 3 * parent.spacing:0 + property int maximumWidth: parent.width * 0.4 - toolButton.width - 3 + height: parent.height anchors { top: parent.top bottom: parent.bottom } + onItemChanged: { + width = status === Loader.Ready ? item.width:0 + } + //sourceComponent: mainStack.currentItem.headerComponent Connections { target: mainStack onCurrentItemChanged: { + secondCon.target = mainStack.currentItem + disappearNa.start() + } + } + + Connections { + id: secondCon + onHeaderComponentChanged: { disappearNa.start() } } @@ -422,7 +433,6 @@ Window { } } - ParallelAnimation { id: disappearNa @@ -522,6 +532,7 @@ Window { var calComp = Qt.createComponent("qrc:/Pages/WidgetPage.qml").createObject(null, {"params": params}) app.errorCode = calComp.status + if(calComp.ready){ mainStack.push(calComp) } @@ -565,8 +576,8 @@ Window { break case 900: infoLevel = 2 - errorString = "Internal processing error" - errorDescription = "The server has sent some data that could ot be processed. Please try again later" + errorString = "Internal error" + errorDescription = "Something went wron internally, this is probaply an inssue in the program code" break case 901: infoLevel = 1 diff --git a/resources/shared/favicon.jpg b/resources/shared/favicon.jpg new file mode 100644 index 0000000..1eb76c3 Binary files /dev/null and b/resources/shared/favicon.jpg differ diff --git a/resources/shared/favicon.png b/resources/shared/favicon.png new file mode 100644 index 0000000..2d1f342 Binary files /dev/null and b/resources/shared/favicon.png differ diff --git a/resources/shared/favicon.xcf b/resources/shared/favicon.xcf index da7fbc9..c7a46f0 100644 Binary files a/resources/shared/favicon.xcf and b/resources/shared/favicon.xcf differ diff --git a/resources/shared/faviconNoBackground.png b/resources/shared/faviconNoBackground.png index 80cc102..2d77a16 100644 Binary files a/resources/shared/faviconNoBackground.png and b/resources/shared/faviconNoBackground.png differ diff --git a/resources/shared/photo_2019-05-29_14-01-43.jpg b/resources/shared/photo_2019-05-29_14-01-43.jpg new file mode 100644 index 0000000..ded291e Binary files /dev/null and b/resources/shared/photo_2019-05-29_14-01-43.jpg differ