diff --git a/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationConnectionsPage.qml b/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationConnectionsPage.qml deleted file mode 100644 index e1448a1..0000000 --- a/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationConnectionsPage.qml +++ /dev/null @@ -1,30 +0,0 @@ -import QtQuick 2.9 -import QtMultimedia 5.8 -import QtQuick.Window 2.2 -import QtQuick.Controls 2.2 -import QtQuick.Layouts 1.3 -import QtGraphicalEffects 1.0 -import QtQuick.Controls.Styles 1.4 -import "../components" - -ListView { - id: control - - property string title: qsTr("connections") - property var parentObj - - spacing: parentObj.rowSpacing - boundsBehavior: Flickable.StopAtBounds - - model: speedBackend.scStwClient.extensions.length - delegate: ConnectionDelegate { - - opacity: 1 - - width: parent.width - height: parentObj.delegateHeight - - text: speedBackend.scStwClient.extensions[index]["name"] - status: {'status': speedBackend.scStwClient.extensions[index]["state"], 'progress': speedBackend.scStwClient.extensions[index]["progress"]} - } -} diff --git a/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationPage.qml b/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationPage.qml index 18aec25..af4c225 100644 --- a/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationPage.qml +++ b/ScStwSrc/resources/qml/SettingsDialog/SettingsBaseStationPage.qml @@ -21,24 +21,6 @@ Column { opacity: 0 - function doFirmwareUpdate() { - doFirmwareUpdateTimer.start() - } - - Timer { - id: doFirmwareUpdateTimer - - interval: 10 - repeat: false - running: false - - onTriggered: { - busyDl.open() - var ret = speedBackend.scStwClient.updateFirmware() - busyDl.displayMessageAndClose(ret ? "OK":"error", ret ? "#6bd43b":"#e03b2f" ) - } - } - ConnectionDelegate { id: connectToBaseDel @@ -188,258 +170,69 @@ Column { Component { id: baseStationConnectedOptionsComp - ScrollView{ - id: flickable - contentHeight: baseStationConnectedOptions.childrenRect.height - contentWidth: -1 + Column { + id: baseStationConnectedOptions + width: parentComp.width - height: control.height - baseStationOptionsLd.y - - clip: true - - opacity: 0 // opacity and scale are adjusted by baseStationOptionsLd - scale: 0.95 - - ScrollBar.horizontal.policy: ScrollBar.AlwaysOff - ScrollBar.vertical: ScrollBar { - parent: flickable.parent - anchors.top: flickable.top - anchors.left: flickable.right - anchors.bottom: flickable.bottom - policy: ScrollBar.AlwaysOn - interactive: false - } - - Column { - id: baseStationConnectedOptions - - width: parentComp.width - - SmoothSliderDelegate { - id: baseStationVolumeDel - text: qsTr("volume") - - width: parent.width - height: parentObj.delegateHeight - - sliderValue: 0 - - onSliderFinished: { - enabled = false - speedBackend.writeSetting("SoundVolume", sliderValue) - enabled = true - } - - Component.onCompleted: { - var val = speedBackend.readSetting("SoundVolume") - if(val !== "false"){ - sliderValue = parseFloat(val) - } - } - } - - NextPageDelegate { - id: baseStationConnectionsDel - text: qsTr("connected extensions") - - width: parent.width - height: parentObj.delegateHeight - - visible: height > 5 - - onClicked: { - parentObj.push(baseStationConnections) - } - } - - SmoothItemDelegate { - id: connectUsbExtensionsDel - - width: parent.width - height: parentObj.delegateHeight - - text: "pair extensions" - - onClicked: { - busyDl.open() - var ret = speedBackend.scStwClient.pairConnectedUsbExtensions() - busyDl.displayMessageAndClose(ret === 200 ? "OK":"error", ret === 200 ? "#6bd43b":"#e03b2f" ) - } - } - - SmoothItemDelegate { - id: baseStationUpdateDel - - // 0: hidden 1: update firmware 2: sync time - property int mode: speedBackend.scStwClient.isFirmwareUpToDate() ? - (Math.abs(parseInt(speedBackend.scStwClient.getTimeOffset())) > 10000 ? 2:0) - :1 - - width: parent.width - height: mode > 0 ? parentObj.delegateHeight:0 - - visible: height > 5 - - text: mode === 2 ? qsTr("sync time"):qsTr("update firmware") - - onClicked: { - if(mode === 1) { - control.doFirmwareUpdate() - } - else if(mode === 2){ - busyDl.open() - var ret = speedBackend.scStwClient.updateTime() - busyDl.displayMessageAndClose(ret ? "OK":"error", ret ? "#6bd43b":"#e03b2f" ) - } - - } - } - - Rectangle { - anchors.left: parent.left - width: parent.width - height: 1 - color: appTheme.style.lineColor - } - - Item { - anchors.left: parent.left - width: parent.width - height: parentObj.delegateHeight * 0.5 - - - Label { - - anchors { - top: parent.top - left: parent.left - } - - width: parent.width * 0.5 - height: parent.height * 0.5 - - - verticalAlignment: Text.AlignTop - horizontalAlignment: Text.AlignLeft - - fontSizeMode: Text.Fit - font.pixelSize: height - - minimumPixelSize: 1 - - color: appTheme.style.lineColor - text: "version: " + speedBackend.scStwClient.getFirmwareVersion() - } - - Label { - - property var date: new Date(new Date().getTime() + parseInt(speedBackend.scStwClient.getTimeOffset())) - - anchors { - top: parent.top - right: parent.right - } - - width: parent.width * 0.5 - height: parent.height - - verticalAlignment: Text.AlignTop - horizontalAlignment: Text.AlignRight - - fontSizeMode: Text.Fit - - minimumPixelSize: 1 - font.pixelSize: height - - color: appTheme.style.lineColor - text: date.toLocaleDateString() + "\n" + date.toLocaleTimeString() - } - } - - } - - } - - - } - - Popup { - id: busyDl - - property string message: "" - property color messageColor: "transparent" - - x: Math.round((parent.width - width) / 2) - y: Math.round((parent.height - height) / 2) - - width: app.width - height: app.height - - modal: true - dim: true - - closePolicy: Dialog.NoAutoClose - - function displayMessageAndClose(message, messageColor) { - busyDl.message = message - busyDl.messageColor = messageColor - - closeDelayTimer.start() - } - - Timer { - id: closeDelayTimer - - interval: 1000 - repeat: false - running: false - - onTriggered: { - busyDl.close() - busyDl.message = "" - busyDl.messageColor = "transparent" - } - } - - background: Item { - FancyBusyIndicator { - anchors.centerIn: parent - opacity: busyDl.message === "" ? 1:0 - - lineColor: "white" - - Behavior on opacity { NumberAnimation { duration: 150 } } - } Label { - anchors.centerIn: parent + id: headerLabel - width: parent.width * 0.5 - height: parent.height * 0.5 - - opacity: busyDl.message === "" ? 0:1 - - color: busyDl.messageColor - text: busyDl.message - - fontSizeMode: Text.Fit - font.pixelSize: height - minimumPixelSize: 1 - - font.bold: true + width: parent.width + height: parentObj.delegateHeight verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter - Behavior on opacity { NumberAnimation { duration: 150 } } - } - } + fontSizeMode: Text.Fit + font.pixelSize: height - T.Overlay.modal: Rectangle { - id: modalRect - color: "#80404040" - Behavior on opacity { NumberAnimation { duration: 150 } } + minimumPixelSize: 1 + + text: "ScStwBaseStation" + } + + Label { + id: firmwareVersionLabel + + width: parent.width + height: parentObj.delegateHeight * 0.3 + + + verticalAlignment: Text.AlignTop + horizontalAlignment: Text.AlignHCenter + + fontSizeMode: Text.Fit + font.pixelSize: height + + minimumPixelSize: 1 + + color: appTheme.style.lineColor + text: "Firmware: " + speedBackend.scStwClient.getFirmwareVersion() + " API: " + speedBackend.scStwClient.getApiVersion() + } + + SmoothSliderDelegate { + id: baseStationVolumeDel + text: qsTr("volume") + + width: parent.width + height: parentObj.delegateHeight + + sliderValue: 0 + + onSliderFinished: { + enabled = false + speedBackend.writeSetting("SoundVolume", sliderValue) + enabled = true + } + + Component.onCompleted: { + var val = speedBackend.readSetting("SoundVolume") + if(val !== "false"){ + sliderValue = parseFloat(val) + } + } + } } } } - diff --git a/ScStwSrc/resources/qml/SettingsDialog/SettingsStack.qml b/ScStwSrc/resources/qml/SettingsDialog/SettingsStack.qml index 0941b94..af80d1a 100644 --- a/ScStwSrc/resources/qml/SettingsDialog/SettingsStack.qml +++ b/ScStwSrc/resources/qml/SettingsDialog/SettingsStack.qml @@ -47,16 +47,6 @@ StackView { } - /*-----Page to view devices that core connected to the pase startion-----*/ - Component{ - id: baseStationConnections - - SettingsBaseStationConnectionsPage { - parentObj: control - } - - } - /*-----Custom animations-----*/ pushEnter: Transition { NumberAnimation { diff --git a/ScStwSrc/resources/qml/qml.qrc b/ScStwSrc/resources/qml/qml.qrc index f69312d..68a8a3b 100644 --- a/ScStwSrc/resources/qml/qml.qrc +++ b/ScStwSrc/resources/qml/qml.qrc @@ -23,6 +23,5 @@ SettingsDialog/StartPage.qml SettingsDialog/SettingsStartSequencePage.qml SettingsDialog/SettingsBaseStationPage.qml - SettingsDialog/SettingsBaseStationConnectionsPage.qml diff --git a/ScStwSrc/sources/scstwappbackend.cpp b/ScStwSrc/sources/scstwappbackend.cpp index daf878e..87d3fe6 100644 --- a/ScStwSrc/sources/scstwappbackend.cpp +++ b/ScStwSrc/sources/scstwappbackend.cpp @@ -223,13 +223,6 @@ void ScStwAppBackend::reloadRaceSettings() { } -// TODO: move to client -/* -QVariantMap ScStwAppBackend::getBaseStationProperties() { - QVariantMap firmware = {{"version", this->scStwClient->getFirmwareVersion()}, {"upToDate", this->scStwClient->isFirmwareUpToDate()}}; - return {{"firmware", firmware}, {"timeOffset", this->scStwClient->getTimeOffset()}}; -} -*/ void ScStwAppBackend::reloadBaseStationIpAdress() { this->scStwClient->setIP(pGlobalAppSettings->loadSetting("baseStationIpAdress")); } diff --git a/shared-libraries b/shared-libraries index 2893d34..3f199b1 160000 --- a/shared-libraries +++ b/shared-libraries @@ -1 +1 @@ -Subproject commit 2893d341c2542ffae2c88cb976763fa599ff6622 +Subproject commit 3f199b151131775e572c964bd3bb64120940c153