Rabbit Remote Control 0.1.0-de
Loading...
Searching...
No Matches
DlgSettingsSSH.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include "DlgSettingsSSH.h"
4#include "ui_DlgSettingsSSH.h"
5#include "RabbitCommonDir.h"
6#include <QStandardPaths>
7
8CDlgSettingsSSH::CDlgSettingsSSH(CParameterTerminalSSH *pPara, QWidget *parent)
9 : QDialog(parent)
10 , ui(new Ui::CDlgSettingsSSH)
11 , m_pPara(pPara)
12{
13 ui->setupUi(this);
14
15 Q_ASSERT(m_pPara);
16 ui->leName->setText(m_pPara->GetName());
17 ui->wNet->SetParameter(&m_pPara->m_SSH.m_Net);
18 m_pFrmParaAppearnce =
19 new CParameterTerminalUI(this);
20 if(m_pFrmParaAppearnce) {
21 m_pFrmParaAppearnce->SetParameter(&m_pPara->m_Terminal);
22 ui->tabWidget->addTab(m_pFrmParaAppearnce,
23 m_pFrmParaAppearnce->windowTitle());
24 }
25 foreach(auto c, m_pPara->GetCommands()) {
26 ui->lvCommands->addItem(c);
27 }
28}
29
30CDlgSettingsSSH::~CDlgSettingsSSH()
31{
32 delete ui;
33}
34
35void CDlgSettingsSSH::on_pbOK_clicked()
36{
37 if(!ui->wNet->CheckValidity(true)) {
38 ui->tabWidget->setCurrentIndex(0);
39 return;
40 }
41
42 ui->wNet->Accept();
43 if(m_pFrmParaAppearnce)
44 m_pFrmParaAppearnce->Accept();
45 m_pPara->SetName(ui->leName->text());
46 QStringList cmds;
47 for(int i = 0; i < ui->lvCommands->count(); i++) {
48 auto c = ui->lvCommands->item(i)->data(Qt::DisplayRole).toString();
49 cmds << c;
50 }
51 if(!cmds.isEmpty())
52 m_pPara->SetCommands(cmds);
53 accept();
54}
55
56void CDlgSettingsSSH::on_pbCancel_clicked()
57{
58 reject();
59}
60
61void CDlgSettingsSSH::on_pbAddCommand_clicked()
62{
63 QString szCmd = ui->leCommand->text();
64 if(szCmd.isEmpty())
65 return;
66 if(ui->lvCommands->findItems(szCmd, Qt::MatchCaseSensitive).isEmpty())
67 ui->lvCommands->addItem(szCmd);
68 ui->leCommand->setText(QString());
69}
70
71void CDlgSettingsSSH::on_leCommand_editingFinished()
72{
73 on_pbAddCommand_clicked();
74}
75
76void CDlgSettingsSSH::on_pbDeleteCommands_clicked()
77{
78 auto item = ui->lvCommands->currentItem();
79 delete item;
80}
81
virtual int Accept() override
Accept parameters.