SmartLockerTools/Analyser/qml/ExtendedOperations.qml
luocai 2661f0729a
All checks were successful
Build Applications / PullDocker (push) Successful in 7s
Build Applications / Build (push) Successful in 2m26s
Windows CI / build (push) Successful in 3m41s
optimize communicate stop.
2024-10-25 17:18:09 +08:00

154 lines
5.0 KiB
QML

import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs
import QtQuick.Layouts
import Analyser
Item {
id: control
RowLayout {
anchors.fill: parent
enabled: App.connected
Column {
GroupBox {
title: "删除用户"
GridLayout {
columns: 2
Label {
text: qsTr("用户ID")
}
TextField {
id: deleteUserId
implicitWidth: 100
}
Button {
text: "删除"
onClicked: App.deleteUser(parseInt(deleteUserId.text))
}
Button {
text: "删除所有"
onClicked: App.deleteAll()
}
}
}
GroupBox {
title: "其它"
enabled: App.connected
GridLayout {
columns: 2
Button {
text: "复位"
onClicked: App.module.reset()
}
Button {
text: "状态查询"
onClicked: App.module.requestCurrentStatus()
}
Button {
text: "ID查询"
onClicked: App.module.requestUniqueId()
}
Button {
id: otaButton
text: "OTA升级"
onClicked: loader.active = true
}
Row {
Label {
text: qsTr("日志")
}
Switch {
id: debugMode
checked: App.module ? App.module.cdcDebugEnabled : false
onToggled: App.module.setDebugEnabled(debugMode.checked)
}
}
}
}
}
GroupBox {
id: imageBox
title: "图片注册"
visible: true
property bool imaging: (App.currentMessageId == ModuleCommunication.UploadImageInfo) || (App.currentMessageId == ModuleCommunication.UploadImageData)
GridLayout {
columns: 2
TextField {
id: imagePath
Layout.columnSpan: 2
implicitWidth: 200
placeholderText: "请选择图片"
onPressed: {
fileDialog.open()
}
}
Label {
text: qsTr("用户姓名")
}
TextField {
id: imageEnrollName
implicitWidth: 100
text: "测试下发"
}
Label {
text: qsTr("操作")
}
ComboBox {
id: imageMode
implicitWidth: 100
model: ["注册", "识别"]
}
Label {
text: qsTr("循环")
}
Switch {
checked: App.persistenceCommand == ModuleCommunication.UploadImageInfo
onToggled: App.persistenceCommand = checked ? ModuleCommunication.UploadImageInfo : ModuleCommunication.Idle
}
Button {
text: imageBox.imaging ? "取消" : "执行"
onClicked: {
if (imageBox.imaging) {
App.resetModule()
} else {
App.uploadImage(imagePath.text, imageEnrollName.text, imageMode.currentIndex)
}
}
}
}
}
}
FileDialog {
id: fileDialog
nameFilters: ["图片 (*.jpg *.yuv)"]
currentFolder: StandardPaths.standardLocations(StandardPaths.DesktopLocation)[0]
onAccepted: {
var fileUrl = fileDialog.selectedFile.toString()
var localFilePath = fileUrl.startsWith("file:///") ? fileUrl.substring(8) : fileUrl
imagePath.text = localFilePath
}
}
MouseArea {
id: otaMouseArea
width: otaButton.width
height: otaButton.height
enabled: !App.connected
onClicked: {
loader.active = true
}
}
onVisibleChanged: {
if (!visible)
return
Qt.callLater(() => {
otaMouseArea.x = otaButton.mapToItem(control, 0, 0).x
otaMouseArea.y = otaButton.mapToItem(control, 0, 0).y
})
}
}