Rabbit Remote Control 0.1.0-bate10
Loading...
Searching...
No Matches
DlgSettingsSftpServer.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include <QFileDialog>
4#include <QHBoxLayout>
5#include "ParameterSftpServer.h"
6#include "DlgSettingsSftpServer.h"
7#include "ui_DlgSettingsSftpServer.h"
8
9CDlgSettingsSftpServer::CDlgSettingsSftpServer(CParameterSftpServer *pPara, QWidget *parent)
10 : QDialog(parent)
11 , ui(new Ui::CDlgSettingsSftpServer)
12 , m_pPara(pPara)
13 , m_pServerUI(nullptr)
14{
15 ui->setupUi(this);
16 m_pServerUI = new CParameterServerUI(ui->wContain);
17 if(m_pServerUI) {
18 m_pServerUI->SetParameter(pPara);
19 ui->wContain->insertTab(0, m_pServerUI, m_pServerUI->windowIcon(), m_pServerUI->windowTitle());
20 }
21 ui->wContain->setCurrentIndex(0);
22
23 ui->cbAnonymousLogin->setChecked(m_pPara->GetAnonymousLogin());
24 ui->cbReadOnly->setChecked(m_pPara->GetReadOnly());
25 ui->leRoot->setText(m_pPara->GetRoot());
26}
27
28CDlgSettingsSftpServer::~CDlgSettingsSftpServer()
29{
30 delete ui;
31}
32
33void CDlgSettingsSftpServer::accept()
34{
35 bool nRet = 0;
36 nRet = m_pServerUI->CheckValidity(true);
37 if(!nRet) return;
38 if(m_pServerUI)
39 m_pServerUI->Accept();
40
41 m_pPara->SetAnonymousLogin(ui->cbAnonymousLogin->isChecked());
42 m_pPara->SetReadOnly(ui->cbReadOnly->isChecked());
43 m_pPara->SetRoot(ui->leRoot->text());
44
45 QDialog::accept();
46}
47
48void CDlgSettingsSftpServer::on_pbRoot_clicked()
49{
50 QString szDir = QFileDialog::getExistingDirectory(this, QString(), ui->leRoot->text());
51 if(szDir.isEmpty())
52 return;
53 ui->leRoot->setText(szDir);
54}
The server base parameters UI.
virtual bool CheckValidity(bool validity) override
Check parameters validity.
virtual int Accept() override
Accept parameters.