Rabbit Remote Control 0.1.0-bate8
Loading...
Searching...
No Matches
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
7static Q_LOGGING_CATEGORY(log, "Parameter.Net.UI")
8
9CParameterNetUI::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
20CParameterNetUI::~CParameterNetUI()
21{
22 delete ui;
23}
24
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}
53
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}
67
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}
81
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}
The net parameter UI.
int Accept()
Accept parameters.
void on_leHost_editingFinished()
[Accept]
bool CheckValidity(bool validity=false)
[Set Parameter]
int SetParameter(CParameter *pParameter)
[Parameter commone functions]
CParameterUser m_User
[Instance user]
The parameter UI interface.
Definition ParameterUI.h:15
Parameter interface.
Definition Parameter.h:218