修改网络设置校验提示策略。
This commit is contained in:
parent
7e28896159
commit
eeb1fc088c
@ -16,7 +16,7 @@ add_compile_definitions(
|
|||||||
BOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WIN10
|
BOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WIN10
|
||||||
)
|
)
|
||||||
|
|
||||||
set(FFmpeg_ROOT ${Libraries_ROOT}/ffmpeg-7.0.1-full_build-shared)
|
set(FFmpeg_ROOT ${Libraries_ROOT}/ffmpeg-6.1.1-full_build-shared)
|
||||||
set(FFmpeg_INCLUDE_DIR ${FFmpeg_ROOT}/include)
|
set(FFmpeg_INCLUDE_DIR ${FFmpeg_ROOT}/include)
|
||||||
set(FFmpeg_LIB_DIR ${FFmpeg_ROOT}/lib)
|
set(FFmpeg_LIB_DIR ${FFmpeg_ROOT}/lib)
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ public:
|
|||||||
QString ip;
|
QString ip;
|
||||||
QString netmask;
|
QString netmask;
|
||||||
QString gateway;
|
QString gateway;
|
||||||
QString dns;
|
QString dns = "8.8.8.8"; // dns被屏蔽,现在默认赋值 8.8.8.8 以通过校验
|
||||||
};
|
};
|
||||||
Q_DECLARE_METATYPE(NetworkInfomation)
|
Q_DECLARE_METATYPE(NetworkInfomation)
|
||||||
|
|
||||||
|
@ -155,6 +155,7 @@ void DeviceListModel::onDeviceReplyReadyRead() {
|
|||||||
if (reply.contains("sw_ver")) {
|
if (reply.contains("sw_ver")) {
|
||||||
device.softwareVersion = QString::fromStdString(std::string(reply.at("sw_ver").as_string()));
|
device.softwareVersion = QString::fromStdString(std::string(reply.at("sw_ver").as_string()));
|
||||||
}
|
}
|
||||||
|
if (!device.softwareVersion.startsWith("RD_T009")) continue; // 其它设备不予显示
|
||||||
device.ip = datagram.senderAddress().toString();
|
device.ip = datagram.senderAddress().toString();
|
||||||
|
|
||||||
auto iterator = std::find_if(m_devices.cbegin(), m_devices.cend(),
|
auto iterator = std::find_if(m_devices.cbegin(), m_devices.cend(),
|
||||||
|
@ -6,22 +6,13 @@ Column {
|
|||||||
id: root
|
id: root
|
||||||
property alias text: input.text
|
property alias text: input.text
|
||||||
property bool valid: false
|
property bool valid: false
|
||||||
|
property bool canEmpty: false
|
||||||
TextField {
|
TextField {
|
||||||
height: 36
|
height: 36
|
||||||
width: 350
|
width: 350
|
||||||
id: input
|
id: input
|
||||||
|
|
||||||
onTextChanged: {
|
onTextChanged: {
|
||||||
if(text.length<=0){
|
validate()
|
||||||
hint.text = "参数不能为空"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
valid = validateIp(text)
|
|
||||||
if (!valid) {
|
|
||||||
hint.text = "参数配置无效"
|
|
||||||
} else {
|
|
||||||
hint.text = ""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Text {
|
Text {
|
||||||
@ -30,12 +21,22 @@ Column {
|
|||||||
font.pixelSize: 12
|
font.pixelSize: 12
|
||||||
}
|
}
|
||||||
|
|
||||||
function validateIp(ip) {
|
|
||||||
// Regular expression for validating IP address
|
|
||||||
var regex = /^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$/
|
|
||||||
return regex.test(ip)
|
|
||||||
}
|
|
||||||
function reset() {
|
function reset() {
|
||||||
hint.text = ""
|
hint.text = ""
|
||||||
}
|
}
|
||||||
|
function validate() {
|
||||||
|
if (input.text.length <= 0) {
|
||||||
|
hint.text = root.canEmpty ? "" : "参数不能为空"
|
||||||
|
root.valid = root.canEmpty
|
||||||
|
return root.valid
|
||||||
|
}
|
||||||
|
var regex = /^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$/
|
||||||
|
root.valid = regex.test(input.text)
|
||||||
|
if (!root.valid) {
|
||||||
|
hint.text = "参数配置无效"
|
||||||
|
} else {
|
||||||
|
hint.text = ""
|
||||||
|
}
|
||||||
|
return root.valid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ Popup {
|
|||||||
parent: Overlay.overlay
|
parent: Overlay.overlay
|
||||||
anchors.centerIn: Overlay.overlay
|
anchors.centerIn: Overlay.overlay
|
||||||
modal: true
|
modal: true
|
||||||
|
closePolicy: Popup.CloseOnEscap | Popup.NoAutoClose
|
||||||
property int inputHeight: 50
|
property int inputHeight: 50
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
radius: 8
|
radius: 8
|
||||||
@ -40,11 +41,17 @@ Popup {
|
|||||||
Row {
|
Row {
|
||||||
spacing: 5
|
spacing: 5
|
||||||
visible: staticMode.checked
|
visible: staticMode.checked
|
||||||
Label {
|
Row {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
anchors.verticalCenterOffset: -10
|
|
||||||
text: "设备IP"
|
|
||||||
width: 100
|
width: 100
|
||||||
|
anchors.verticalCenterOffset: -10
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
Label {
|
||||||
|
text: "设备IP"
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
color: "red"
|
||||||
|
text: "*"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IpTextField {
|
IpTextField {
|
||||||
@ -58,12 +65,18 @@ Popup {
|
|||||||
Row {
|
Row {
|
||||||
spacing: 5
|
spacing: 5
|
||||||
visible: staticMode.checked
|
visible: staticMode.checked
|
||||||
Label {
|
Row {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
anchors.verticalCenterOffset: -10
|
|
||||||
width: 100
|
width: 100
|
||||||
|
anchors.verticalCenterOffset: -10
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
Label {
|
||||||
text: "子网掩码"
|
text: "子网掩码"
|
||||||
}
|
}
|
||||||
|
Label {
|
||||||
|
color: "red"
|
||||||
|
text: "*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
IpTextField {
|
IpTextField {
|
||||||
id: netmaskInput
|
id: netmaskInput
|
||||||
@ -88,12 +101,13 @@ Popup {
|
|||||||
width: 350
|
width: 350
|
||||||
height: inputHeight
|
height: inputHeight
|
||||||
text: App.currentNetworkInfomation.gateway
|
text: App.currentNetworkInfomation.gateway
|
||||||
|
canEmpty: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
spacing: 5
|
spacing: 5
|
||||||
visible: staticMode.checked
|
visible: false // staticMode.checked 暂时不用设置
|
||||||
Label {
|
Label {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
text: "DNS服务器"
|
text: "DNS服务器"
|
||||||
@ -106,6 +120,7 @@ Popup {
|
|||||||
width: 350
|
width: 350
|
||||||
height: inputHeight
|
height: inputHeight
|
||||||
text: App.currentNetworkInfomation.dns
|
text: App.currentNetworkInfomation.dns
|
||||||
|
canEmpty: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,6 +132,10 @@ Popup {
|
|||||||
Button {
|
Button {
|
||||||
text: "保存"
|
text: "保存"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
ipInput.validate()
|
||||||
|
netmaskInput.validate()
|
||||||
|
gatewayInput.validate()
|
||||||
|
dnsInput.validate()
|
||||||
if (dhcpMode.checked || (staticMode.checked && ipInput.valid
|
if (dhcpMode.checked || (staticMode.checked && ipInput.valid
|
||||||
&& netmaskInput.valid
|
&& netmaskInput.valid
|
||||||
&& gatewayInput.valid
|
&& gatewayInput.valid
|
||||||
@ -124,10 +143,9 @@ Popup {
|
|||||||
App.updateNetworkInfomation(dhcpMode.checked,
|
App.updateNetworkInfomation(dhcpMode.checked,
|
||||||
ipInput.text,
|
ipInput.text,
|
||||||
netmaskInput.text,
|
netmaskInput.text,
|
||||||
gatewayInput.text,dnsInput.text)
|
gatewayInput.text,
|
||||||
|
dnsInput.text)
|
||||||
networkPopup.close()
|
networkPopup.close()
|
||||||
} else {
|
|
||||||
showMessageDialog(2, "网络设置", "请输入合法参数地址!")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,9 +157,18 @@ Popup {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
onVisibleChanged: {
|
onVisibleChanged: {
|
||||||
|
if (visible) {
|
||||||
ipInput.reset()
|
ipInput.reset()
|
||||||
netmaskInput.reset()
|
netmaskInput.reset()
|
||||||
gatewayInput.reset()
|
gatewayInput.reset()
|
||||||
dnsInput.reset()
|
dnsInput.reset()
|
||||||
|
|
||||||
|
dhcpMode.checked = App.currentNetworkInfomation.dhcp
|
||||||
|
staticMode.checked = !App.currentNetworkInfomation.dhcp
|
||||||
|
ipInput.text = App.currentNetworkInfomation.ip
|
||||||
|
netmaskInput.text = App.currentNetworkInfomation.netmask
|
||||||
|
gatewayInput.text = App.currentNetworkInfomation.gateway
|
||||||
|
dnsInput.text = App.currentNetworkInfomation.dns
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user