玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Src
ParameterCompone
ParameterNetUI.cpp
1
// Author: Kang Lin <kl222@126.com>
2
#include "ParameterNetUI.h"
3
#include "ui_ParameterNetUI.h"
4
#include <QLoggingCategory>
5
#include <QMessageBox>
6
7
static
Q_LOGGING_CATEGORY(log,
"Parameter.Net.UI"
)
8
9
CParameterNetUI
::
CParameterNetUI
(QWidget *parent)
10
:
CParameterUI
(parent),
11
ui(new
Ui
::
CParameterNetUI
),
12
m_pNet(
nullptr
)
13
{
14
ui->setupUi(
this
);
15
connect(ui->leHost, &QLineEdit::editingFinished,
this
, [&](){
16
emit sigHostChanged(ui->leHost->text());
17
});
18
}
19
20
CParameterNetUI::~CParameterNetUI()
21
{
22
delete
ui;
23
}
24
26
int
CParameterNetUI::SetParameter
(
CParameter
*pParameter)
27
{
28
if
(!pParameter)
return
-1;
29
30
m_pNet = qobject_cast<CParameterNet*>(pParameter);
31
32
ui->leHost->setText(m_pNet->GetHost());
33
ui->spPort->setValue(m_pNet->GetPort());
34
35
// Call user UI SetParameter
36
ui->wUser->SetParameter(&m_pNet->m_User);
37
38
// Show ui
39
CParameterNet::SHOW_UIS uis = m_pNet->GetShowUI();
40
ui->lbHost->setVisible(uis & CParameterNet::SHOW_UI::Host);
41
ui->leHost->setVisible(uis & CParameterNet::SHOW_UI::Host);
42
ui->lbPort->setVisible(uis & CParameterNet::SHOW_UI::Port);
43
ui->spPort->setVisible(uis & CParameterNet::SHOW_UI::Port);
44
ui->wUser->setVisible(uis & CParameterNet::SHOW_UI::User);
45
46
uis = m_pNet->GetEnableUI();
47
ui->leHost->setEnabled(uis & CParameterNet::SHOW_UI::Host);
48
ui->spPort->setEnabled(uis & CParameterNet::SHOW_UI::Port);
49
ui->wUser->setEnabled(uis & CParameterNet::SHOW_UI::User);
50
return
0;
51
}
52
53
55
bool
CParameterNetUI::CheckValidity
(
bool
validity)
56
{
57
if
(validity && ui->leHost->text().isEmpty()) {
58
QMessageBox::critical(
this
, tr(
"Error"
),
59
m_pNet->GetPrompt());
60
qCritical(log) <<
"The host is empty"
<< m_pNet->GetPrompt();
61
ui->leHost->setFocus();
62
return
false
;
63
}
64
return
true
;
65
}
66
67
69
int
CParameterNetUI::Accept
()
70
{
71
int
nRet = 0;
72
73
m_pNet->SetHost(ui->leHost->text());
74
m_pNet->SetPort(ui->spPort->value());
75
76
// Accept user UI parameters
77
nRet = ui->wUser->Accept();
78
return
nRet;
79
}
80
81
82
void
CParameterNetUI::on_leHost_editingFinished
()
83
{
84
auto
s = ui->leHost->text().split(
":"
);
85
if
(s.size() == 2)
// IPV4
86
{
87
ui->spPort->setValue(s[1].toUInt());
88
ui->leHost->setText(s[0]);
89
}
90
}
CParameterNetUI
The net parameter UI
定义
ParameterNetUI.h:17
CParameterNetUI::Accept
int Accept()
接受参数
定义
ParameterNetUI.cpp:69
CParameterNetUI::on_leHost_editingFinished
void on_leHost_editingFinished()
[Accept]
定义
ParameterNetUI.cpp:82
CParameterNetUI::CheckValidity
bool CheckValidity(bool validity=false)
[Set Parameter]
定义
ParameterNetUI.cpp:55
CParameterNetUI::SetParameter
int SetParameter(CParameter *pParameter)
[Parameter commone functions]
定义
ParameterNetUI.cpp:26
CParameterUI
参数界面接口
定义
ParameterUI.h:15
CParameter
参数接口
定义
Parameter.h:220
Ui
定义
FrmFullScreenToolBar.h:14
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力