Rabbit Remote Control 0.1.0-bate8
Loading...
Searching...
No Matches
Public Slots | Public Member Functions | List of all members
CParameterUI Class Referenceabstract

The parameter UI interface. More...

#include <ParameterUI.h>

Inheritance diagram for CParameterUI:
Inheritance graph
[legend]
Collaboration diagram for CParameterUI:
Collaboration graph
[legend]

Public Slots

virtual void slotSetParameter (CParameter *pParameter)
 [override functions]
 
virtual void slotAccept ()
 Accept parameters.
 

Public Member Functions

 CParameterUI (QWidget *parent=nullptr)
 
virtual int SetParameter (CParameter *pParameter)=0
 [override functions]
 
virtual Q_INVOKABLE bool CheckValidity (bool validity=false)
 Check parameters validity.
 
virtual int Accept ()=0
 Accept parameters.
 

Detailed Description

The parameter UI interface.

See also
CParameter

Definition at line 14 of file ParameterUI.h.

Constructor & Destructor Documentation

◆ CParameterUI()

CParameterUI::CParameterUI ( QWidget *  parent = nullptr)
explicit

Definition at line 5 of file ParameterUI.cpp.

Member Function Documentation

◆ Accept()

virtual int CParameterUI::Accept ( )
pure virtual

Accept parameters.

If necessary, you can call CheckValidity first.

void CDlgSetFreeRDP::on_pbOk_clicked()
{
int nRet = 0;
if(!ui->wNet->CheckValidity(true)) {
ui->tabWidget->setCurrentIndex(0);
return;
}
if(!m_pProxyUI->CheckValidity(true)) {
ui->tabWidget->setCurrentWidget(m_pProxyUI);
return;
}
if(!m_pRecordUI->CheckValidity(true)) {
ui->tabWidget->setCurrentWidget(m_pRecordUI);
return;
}
m_pSettings->SetName(ui->leName->text());
// Server
m_pSettings->SetDomain(ui->leDomain->text());
nRet = ui->wNet->Accept();
if(nRet) return;
nRet = m_pProxyUI->Accept();
if(nRet) return;
nRet = m_pRecordUI->Accept();
if(nRet) return;
m_pSettings->SetOnlyView(ui->cbOnlyView->isChecked());
m_pSettings->SetClipboard(ui->cbClipboard->isChecked());
m_pSettings->SetShowServerName(ui->cbShowServerName->isChecked());
// Display
m_pSettings->SetUseMultimon(ui->cbAllMonitor->isChecked());
QString szSize = ui->cbDesktopSize->currentText();
int index = szSize.indexOf("×");
if(-1 < index)
{
UINT32 width = szSize.left(index).toInt();
UINT32 height = szSize.right(szSize.length() - index - 1).toInt();
m_pSettings->SetDesktopWidth(width);
m_pSettings->SetDesktopHeight(height);
}
m_pSettings->SetColorDepth(ui->cbColorDepth->currentData().toInt());
m_pSettings->SetReconnectInterval(ui->sbReconnect->value());
// Redirection
m_pSettings->SetRedirectionPrinter(ui->cbPrinter->isChecked());
m_pSettings->SetEnableLocalInputMethod(ui->cbEnableLocalInputMethod->isChecked());
if(HasAudioOutput()) {
CParameterFreeRDP::RedirecionSoundType tRdirectionSound
= CParameterFreeRDP::RedirecionSoundType::Disable;
if(ui->rbAudioDisable->isChecked())
tRdirectionSound = CParameterFreeRDP::RedirecionSoundType::Disable;
else if(ui->rbAudioLocal->isChecked())
tRdirectionSound = CParameterFreeRDP::RedirecionSoundType::Local;
else if(ui->rbAudioRemote->isChecked())
tRdirectionSound = CParameterFreeRDP::RedirecionSoundType::Remote;
m_pSettings->SetRedirectionSound(tRdirectionSound);
} else {
m_pSettings->SetRedirectionSound(
CParameterFreeRDP::RedirecionSoundType::Disable);
}
m_pSettings->SetRedirectionSoundParameters(ui->leRdpSnd->text());
if(HasAudioInput())
m_pSettings->SetRedirectionMicrophone(ui->cbAudin->isChecked());
else
m_pSettings->SetRedirectionMicrophone(false);
m_pSettings->SetRedirectionMicrophoneParameters(ui->leAudin->text());
QStringList lstDrives;
//获取选中的行,默认获取选中行的第一列数据(0),列的索引值和上面一样0、1、2、3......
QModelIndexList selected = ui->tvDrive->selectionModel()->selectedRows(0);
QList<QModelIndex>::iterator it;
QModelIndex modelIndex;
QString szPath;
for (it = selected.begin(); it != selected.end(); ++it)
{
modelIndex = *it;
szPath = m_pFileModel->filePath(modelIndex);
if(!szPath.isEmpty())
lstDrives.append(szPath);
}
m_pSettings->SetRedirectionDrives(lstDrives);
// Security
m_pSettings->SetNegotiateSecurityLayer(ui->cbSecurityEnable->isChecked());
uint security = 0;
if(ui->cbSecurityRDP->isChecked())
security |= CParameterFreeRDP::Security::RDP;
if(ui->cbSecurityTls->isChecked())
security |= CParameterFreeRDP::Security::TLS;
if(ui->cbSecurityNLA->isChecked())
security |= CParameterFreeRDP::Security::NLA;
if(ui->cbSecurityNlaExt->isChecked())
security |= CParameterFreeRDP::Security::NLA_Ext;
if(ui->cbSecurityRDSTLS->isChecked())
security |= CParameterFreeRDP::Security::RDSTLS;
if(ui->cbSecurityRDSAAD->isChecked())
security |= CParameterFreeRDP::Security::RDSAAD;
m_pSettings->SetSecurity((CParameterFreeRDP::Security)security);
// Tls version
if(ui->rbTls1_0->isChecked())
m_pSettings->SetTlsVersion(TLS1_VERSION);
else if(ui->rbTls1_1->isChecked())
m_pSettings->SetTlsVersion(TLS1_1_VERSION);
else if(ui->rbTls1_2->isChecked())
m_pSettings->SetTlsVersion(TLS1_2_VERSION);
else if(ui->rbTls1_3->isChecked())
m_pSettings->SetTlsVersion(TLS1_3_VERSION);
// Connect type
m_pSettings->SetConnectType(ui->cbConnectType->currentData().toUInt());
// Performance flags
UINT32 performanceFlags = 0;
if(!ui->cbDesktopBackground->isChecked())
performanceFlags |= PERF_DISABLE_WALLPAPER;
if(!ui->cbWindowDrag->isChecked())
performanceFlags |= PERF_DISABLE_FULLWINDOWDRAG;
if(!ui->cbMenuAnims->isChecked())
performanceFlags |= PERF_DISABLE_MENUANIMATIONS;
if(!ui->cbThemes->isChecked())
performanceFlags |= PERF_DISABLE_THEMING;
if(ui->cbFontSmoothing->isChecked())
performanceFlags |= PERF_ENABLE_FONT_SMOOTHING;
if(ui->cbDesktopCompositing->isChecked())
performanceFlags |= PERF_ENABLE_DESKTOP_COMPOSITION;
m_pSettings->SetPerformanceFlags(performanceFlags);
accept();
}
Returns
0 is success. otherwise is fail

Implemented in CParameterNetUI, CParameterProxyUI, CParameterDatabaseUI, CFrmManagePlugins, CParameterPluginUI, CParameterSSHTunnelUI, CParameterUserUI, and CParameterTerminalUI.

◆ CheckValidity()

bool CParameterUI::CheckValidity ( bool  validity = false)
virtual

Check parameters validity.

Parameters
validity
  • true: Check parameters
  • false: Not check parameters

Reimplemented in CParameterDatabaseUI, CParameterPluginUI, CParameterNetUI, CParameterProxyUI, and CParameterSSHTunnelUI.

Definition at line 9 of file ParameterUI.cpp.

◆ SetParameter()

virtual int CParameterUI::SetParameter ( CParameter pParameter)
pure virtual

[override functions]

Set the parameters and initialize the user interface

Parameters
pParameterRelated parameters. Convert to the appropriate type in the overloaded function.

Implemented in CParameterNetUI, CParameterProxyUI, CParameterDatabaseUI, CFrmManagePlugins, CParameterPluginUI, CParameterSSHTunnelUI, CParameterUserUI, and CParameterTerminalUI.

◆ slotAccept

void CParameterUI::slotAccept ( )
virtualslot

Accept parameters.

Not call CheckValidity.

Definition at line 20 of file ParameterUI.cpp.

◆ slotSetParameter

void CParameterUI::slotSetParameter ( CParameter pParameter)
virtualslot

[override functions]

Set the parameters and initialize the user interface

Parameters
pParameterRelated parameters. Convert to the appropriate type in the overloaded function SetParameter().

Definition at line 15 of file ParameterUI.cpp.


The documentation for this class was generated from the following files: