-
-
Notifications
You must be signed in to change notification settings - Fork 78
Expand file tree
/
Copy pathDlgSettingsTelnet.cpp
More file actions
88 lines (72 loc) · 2.1 KB
/
DlgSettingsTelnet.cpp
File metadata and controls
88 lines (72 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// Author: Kang Lin <kl222@126.com>
#include "DlgSettingsTelnet.h"
#include "ui_DlgSettingsTelnet.h"
CDlgSettingsTelnet::CDlgSettingsTelnet(CParameterTelnet *pPara, QWidget *parent)
: QDialog(parent)
, ui(new Ui::CDlgSettingsTelnet)
, m_pPara(pPara)
{
ui->setupUi(this);
Q_ASSERT(m_pPara);
ui->leName->setText(m_pPara->GetName());
ui->leLogin->setText(pPara->GetLogin());
ui->lePassword->setText(pPara->GetPassword());
ui->wNet->SetParameter(&m_pPara->m_Net);
m_pFrmParaAppearnce =
new CParameterTerminalUI(this);
if(m_pFrmParaAppearnce) {
m_pFrmParaAppearnce->SetParameter(&m_pPara->m_Terminal);
ui->tabWidget->addTab(m_pFrmParaAppearnce,
m_pFrmParaAppearnce->windowTitle());
}
foreach(auto c, m_pPara->GetCommands()) {
ui->lvCommands->addItem(c);
}
}
CDlgSettingsTelnet::~CDlgSettingsTelnet()
{
delete ui;
}
void CDlgSettingsTelnet::on_pbOK_clicked()
{
if(!ui->wNet->CheckValidity(true)) {
ui->tabWidget->setCurrentIndex(0);
return;
}
ui->wNet->Accept();
if(m_pFrmParaAppearnce)
m_pFrmParaAppearnce->Accept();
m_pPara->SetName(ui->leName->text());
m_pPara->SetLogin(ui->leLogin->text());
m_pPara->SetPassword(ui->lePassword->text());
QStringList cmds;
for(int i = 0; i < ui->lvCommands->count(); i++) {
auto c = ui->lvCommands->item(i)->data(Qt::DisplayRole).toString();
cmds << c;
}
if(!cmds.isEmpty())
m_pPara->SetCommands(cmds);
accept();
}
void CDlgSettingsTelnet::on_pbCancel_clicked()
{
reject();
}
void CDlgSettingsTelnet::on_pbAddCommand_clicked()
{
QString szCmd = ui->leCommand->text();
if(szCmd.isEmpty())
return;
if(ui->lvCommands->findItems(szCmd, Qt::MatchCaseSensitive).isEmpty())
ui->lvCommands->addItem(szCmd);
ui->leCommand->setText(QString());
}
void CDlgSettingsTelnet::on_leCommand_editingFinished()
{
on_pbAddCommand_clicked();
}
void CDlgSettingsTelnet::on_pbDeleteCommands_clicked()
{
auto item = ui->lvCommands->currentItem();
delete item;
}