From aa3f4ebb2975efa223bff38d756567902fe0eea5 Mon Sep 17 00:00:00 2001 From: luocai Date: Fri, 30 Aug 2024 14:47:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E5=AF=B9=E8=AF=9D=E6=A1=86?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DeviceConnection.cpp | 3 - DeviceListModel.cpp | 8 --- DeviceListModel.h | 1 - qml/Main.qml | 26 ++++---- qml/MessageDialog.qml | 134 ++++++++++++++++++++---------------------- 5 files changed, 76 insertions(+), 96 deletions(-) diff --git a/DeviceConnection.cpp b/DeviceConnection.cpp index 4be6fec..25ac8f8 100644 --- a/DeviceConnection.cpp +++ b/DeviceConnection.cpp @@ -558,9 +558,6 @@ QString DeviceConnection::handleCommand(const std::string_view &replyText, const } else if (value == "2") { LOG(info) << "md5 check finished"; m_otaProgress = 99; - if (m_otaTimer != nullptr) { - m_otaTimer->stop(); - } emit otaProgressChanged(true, m_otaProgress, "设备正在升级中,请稍后......"); QTimer::singleShot(0, this, [this]() { m_commandSocket->close(); // 等待设备重新上线后,发起广播。由搜索服务触发重连 diff --git a/DeviceListModel.cpp b/DeviceListModel.cpp index 9a6b29c..38ad141 100644 --- a/DeviceListModel.cpp +++ b/DeviceListModel.cpp @@ -99,14 +99,6 @@ std::shared_ptr DeviceListModel::device(int index) { return ret; } -bool DeviceListModel::deviceConnected(int index) { - bool ret = false; - if (index >= 0 && index < m_devices.size()) { - ret = m_devices.at(index)->isConnected(); - } - return ret; -} - void DeviceListModel::startSearchDevice() { if (m_timerId >= 0) { LOG(error) << "app is searching device."; diff --git a/DeviceListModel.h b/DeviceListModel.h index 997924e..7bf6cbf 100644 --- a/DeviceListModel.h +++ b/DeviceListModel.h @@ -31,7 +31,6 @@ public: QHash roleNames() const final; Q_INVOKABLE QVariantMap get(int index) const; std::shared_ptr device(int index); - Q_INVOKABLE bool deviceConnected(int index); void startSearchDevice(); bool isSearching() const; float searchProgress() const; diff --git a/qml/Main.qml b/qml/Main.qml index 192839c..f62b5ab 100644 --- a/qml/Main.qml +++ b/qml/Main.qml @@ -21,8 +21,8 @@ ApplicationWindow { onClicked: { deviceList.currentIndex = -1 App.startSearchDevice() - App.collector.stop() // 停止数据采集 - App.collector.path="" + App.collector.stop() // 停止数据采集 + App.collector.path = "" } } Label { @@ -80,7 +80,9 @@ ApplicationWindow { deviceList.currentIndex = index } onDoubleClicked: { - if (App.devices.deviceConnected(index)) { + if (!softwareVersion.includes("R003")) { + showMessageDialog(2, "网络设置", "当前设备不支持有线网络设置!") + } else if (onlineStatus) { networkPopup.open() } else { showMessageDialog(2, "网络设置", "设备已离线!") @@ -90,8 +92,8 @@ ApplicationWindow { } onCurrentIndexChanged: { App.connectToDevice(deviceList.currentIndex) - App.collector.stop() // 停止数据采集 - App.collector.path="" + App.collector.stop() // 停止数据采集 + App.collector.path = "" } ProgressBar { anchors.left: parent.left @@ -179,16 +181,15 @@ ApplicationWindow { let component = Qt.createComponent("MessageDialog.qml") if (component.status === Component.Ready) { let dialog = component.createObject(window, { - "type": type, - "height": 200, - "titleText": title, - "text": message - }) + "type": type, + "titleText": title, + "text": message + }) dialog.open() } } - function showFileDialog(nameFilters,onSelected){ + function showFileDialog(nameFilters, onSelected) { let dialog = null if (isQt5) { dialog = Qt.createQmlObject("import QtQuick.Dialogs 1.3; FileDialog {}", window, "myDynamicSnippet") @@ -200,8 +201,7 @@ ApplicationWindow { dialog.visible = true dialog.accepted.connect(function () { let fileUrl = isQt5 ? dialog.fileUrl.toString() : dialog.selectedFile.toString() - let localFilePath = fileUrl.startsWith( - "file:///") ? fileUrl.substring(8) : fileUrl + let localFilePath = fileUrl.startsWith("file:///") ? fileUrl.substring(8) : fileUrl onSelected(localFilePath) dialog.destroy() }) diff --git a/qml/MessageDialog.qml b/qml/MessageDialog.qml index 5d2c295..d86203b 100644 --- a/qml/MessageDialog.qml +++ b/qml/MessageDialog.qml @@ -1,9 +1,11 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 Dialog { id: control width: 320 + padding: 30 parent: Overlay.overlay anchors.centerIn: Overlay.overlay modal: true @@ -21,87 +23,77 @@ Dialog { Warning, Failed } - IconButton { - anchors.right: parent.right - anchors.rightMargin: 7 - anchors.top: parent.top - anchors.topMargin: 10 - source: "../resources/popup_close.svg" - onClicked: control.close() - } - Image { - id: image - width: 18 - height: 18 - anchors.left: parent.left - anchors.leftMargin: 30 - anchors.top: parent.top - anchors.topMargin: 40 - source: "qrc:/qt/qml/AntiClipSettings/resources/successfull.svg" - } - - Text { - id: titleLabel - anchors.left: parent.left - anchors.leftMargin: 60 - anchors.top: parent.top - anchors.topMargin: 40 - font.family: control.font.family - font.pixelSize: 16 - color: "#0A1F44" - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - - Text { - id: textLabel - anchors.left: parent.left - anchors.leftMargin: 60 - anchors.right: parent.right - anchors.rightMargin: 40 - anchors.top: parent.top - anchors.topMargin: 76 - font.family: control.font.family - font.pixelSize: 14 - color: "#53627C" - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - wrapMode: Text.WordWrap - } - - Button { - id: cancelButton - width: 72 - height: 40 - anchors.right: parent.right - anchors.rightMargin: 15 - anchors.bottom: parent.bottom - anchors.bottomMargin: 15 - font.family: control.font.family - text: "关闭" - font.pixelSize: 14 - contentItem: Text { - text: parent.text - font: parent.font - color: parent.down ? "#FFFFFF" : "#53627C" - horizontalAlignment: Text.AlignHCenter + contentItem: ColumnLayout { + id: layout + IconButton { + Layout.leftMargin: 30 + Layout.rightMargin: 6 + Layout.alignment: Qt.AlignRight + source: "../resources/popup_close.svg" + onClicked: control.close() + } + RowLayout { + Layout.leftMargin: 30 + Image { + id: image + Layout.rightMargin: 6 + width: 18 + height: 18 + source: "qrc:/qt/qml/AntiClipSettings/resources/successfull.svg" + } + Text { + id: titleLabel + font.family: control.font.family + font.pixelSize: 16 + color: "#0A1F44" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + Label { + id: textLabel + Layout.leftMargin: 30 + image.width+image.Layout.rightMargin+layout.spacing + Layout.maximumWidth: control.width-Layout.leftMargin-control.rightPadding-control.rightInset-50 + font.family: control.font.family + font.pixelSize: 14 + color: "#53627C" + horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter + wrapMode: Text.WordWrap } - background: Rectangle { - border.color: "#E1E4E8" - border.width: 1 - color: parent.down ? "#F25959" : "#FFFFFF" - radius: 2 + Button { + id: cancelButton + Layout.alignment: Qt.AlignRight + Layout.rightMargin: 6 + Layout.preferredWidth: 72 + Layout.preferredHeight: 40 + font.family: control.font.family + text: "关闭" + font.pixelSize: 14 + contentItem: Text { + text: parent.text + font: parent.font + color: parent.down ? "#FFFFFF" : "#53627C" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + + background: Rectangle { + border.color: "#E1E4E8" + border.width: 1 + color: parent.down ? "#F25959" : "#FFFFFF" + radius: 2 + } + onClicked: control.reject() } - onClicked: control.reject() } onTypeChanged: { if (type === MessageDialog.Type.Successful || type === MessageDialog.Type.Ok) { image.source = "qrc:/qt/qml/AntiClipSettings/resources/successfull.svg" } else if (type === MessageDialog.Type.Warning) { image.source = "qrc:/qt/qml/AntiClipSettings/resources/warning.svg" - } else if(type === MessageDialog.Type.Failed){ + } else if (type === MessageDialog.Type.Failed) { image.source = "qrc:/qt/qml/AntiClipSettings/resources/prompt_delete.svg" } }