-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathnewentry.cpp
103 lines (89 loc) · 2.82 KB
/
newentry.cpp
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/*****************************************************************************
* tunnelmanager - Simple GUI for SSH Tunnels
*
* Copyright (C) 2017-2024 Syping
* Copyright (C) 2017 Soner Sayakci
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*
*****************************************************************************/
#include "newentry.h"
#include "ui_newentry.h"
#include <QDebug>
NewEntry::NewEntry(QWidget *parent) :
QDialog(parent),
ui(new Ui::NewEntry)
{
setWindowFlags(windowFlags()^Qt::WindowContextHelpButtonHint);
ui->setupUi(this);
ui->labelError->setVisible(false);
// debug
ui->lineName->setText("");
ui->lineHost->setText("");
ui->lineSshPort->setText("22");
ui->lineLocPort->setText("");
ui->lineUser->setText("");
ui->lineExtIP->setText("");
ui->lineExtPort->setText("");
item = nullptr;
}
NewEntry::~NewEntry()
{
delete ui;
}
void NewEntry::adaptSize()
{
resize(width(), heightForWidth(width()));
}
void NewEntry::entryFailed(QString text)
{
ui->labelError->setText(QString("<span style=\"color: red;\">%1</span>").arg(text));
ui->labelError->setVisible(true);
adaptSize();
}
void NewEntry::entrySuccess()
{
ui->labelError->setVisible(false);
ui->lineName->setText("");
ui->lineHost->setText("");
ui->lineSshPort->setText("22");
ui->lineLocPort->setText("");
ui->lineUser->setText("");
ui->lineExtIP->setText("");
ui->lineExtPort->setText("");
}
void NewEntry::on_buttonOk_clicked()
{
if (ui->lineName->text().isEmpty() ||
ui->lineHost->text().isEmpty() ||
ui->lineSshPort->text().isEmpty() ||
ui->lineUser->text().isEmpty() ||
ui->lineLocPort->text().isEmpty() ||
ui->lineExtIP->text().isEmpty() ||
ui->lineExtPort->text().isEmpty())
{
entryFailed(tr("Please fill in all fields"));
return;
}
if (item != nullptr) {
emit itemModified(item, ui->lineName->text(), ui->lineHost->text(), ui->lineSshPort->text(), ui->lineUser->text(), ui->lineLocPort->text(), ui->lineExtIP->text(), ui->lineExtPort->text());
return;
}
emit newEntryAdded(ui->lineName->text(), ui->lineHost->text(), ui->lineSshPort->text(), ui->lineUser->text(), ui->lineLocPort->text(), ui->lineExtIP->text(), ui->lineExtPort->text(), false);
}
void NewEntry::on_buttonCancel_clicked()
{
close();
}
void NewEntry::fillForm(QStringList data, QTreeWidgetItem *item_)
{
item = item_;
ui->lineName->setText(data.at(0));
ui->lineHost->setText(data.at(1));
ui->lineSshPort->setText(data.at(2));
ui->lineUser->setText(data.at(3));
ui->lineLocPort->setText(data.at(4));
ui->lineExtIP->setText(data.at(5));
ui->lineExtPort->setText(data.at(6));
}