4#include <QLoggingCategory>
5#include "DlgSettingsVnc.h"
6#include "ui_DlgSettingsVnc.h"
7#include "rfb/encodings.h"
15static Q_LOGGING_CATEGORY(log,
"VNC.Settings")
22 setAttribute(Qt::WA_DeleteOnClose);
25 ui->wNet->SetParameter(&m_pPara->m_Net);
28 m_pProxyUI->SetParameter(&m_pPara->m_Proxy);
29 ui->tabWidget->insertTab(1, m_pProxyUI, tr(
"Proxy"));
32 m_pRecordUI->SetParameter(&m_pPara->m_Record);
33 ui->tabWidget->addTab(m_pRecordUI, m_pRecordUI->windowIcon(), tr(
"Record"));
50 ui->gpIce->setChecked(
true);
51 ui->wNet->setEnabled(
false);
53 ui->gpIce->setChecked(
false);
56 ui->gpIce->setEnabled(
false);
59 ui->lePeerUser->setText(m_pPara->GetPeerUser());
61 ui->leName->setText(m_pPara->GetName());
63 ui->cbOnlyView->setChecked(m_pPara->GetOnlyView());
64 ui->cbShowServerName->setChecked(m_pPara->GetShowServerName());
66 ui->cbShared->setChecked(m_pPara->GetShared());
67 ui->cbRealTimeUpdate->setChecked(!m_pPara->GetBufferEndRefresh());
68 ui->cbLocalCursor->setChecked(m_pPara->GetLocalCursor());
69 ui->cbCursorPosition->setChecked(m_pPara->GetCursorPosition());
70 ui->cbResizeWindows->setChecked(m_pPara->GetSupportsDesktopResize());
71 ui->cbLedState->setChecked(m_pPara->GetLedState());
72 ui->cbInputMethod->setChecked(m_pPara->GetEnableLocalInputMethod());
73 ui->cbClipboard->setChecked(m_pPara->GetClipboard());
76 ui->cbCompressAutoSelect->setChecked(m_pPara->GetAutoSelect());
78 ui->rbH264->setVisible(
true);
80 ui->rbH264->setVisible(
false);
82 switch(m_pPara->GetPreferredEncoding())
84 case rfb::encodingTight:
85 ui->rbTight->setChecked(
true);
87 case rfb::encodingRaw:
88 ui->rbRaw->setChecked(
true);
90 case rfb::encodingRRE:
91 ui->rbRRE->setChecked(
true);
93 case rfb::encodingZRLE:
94 ui->rbZRLE->setChecked(
true);
96 case rfb::encodingCoRRE:
97 ui->rbCoRRE->setChecked(
true);
99 case rfb::encodingCopyRect:
100 ui->rbCopyRect->setChecked(
true);
102 case rfb::encodingHextile:
103 ui->rbHextile->setChecked(
true);
106 case rfb::encodingH264:
107 ui->rbH264->setChecked(
true);
112 switch(m_pPara->GetColorLevel())
114 case CParameterVnc::Full:
115 ui->rbFull->setChecked(
true);
117 case CParameterVnc::Medium:
118 ui->rbMeduim->setChecked(
true);
120 case CParameterVnc::Low:
121 ui->rbLow->setChecked(
true);
123 case CParameterVnc::VeryLow:
124 ui->rbVeryLow->setChecked(
true);
128 ui->cbCompress->setChecked(m_pPara->GetEnableCompressLevel());
129 ui->spCompressLevel->setValue(m_pPara->GetCompressLevel());
130 ui->cbJPEG->setChecked(!m_pPara->GetNoJpeg());
131 ui->spJPEGLevel->setValue(m_pPara->GetQualityLevel());
133 if(m_pPara->GetAutoSelect())
135 ui->spCompressLevel->setEnabled(
false);
136 ui->spJPEGLevel->setEnabled(
false);
138 ui->spCompressLevel->setEnabled(m_pPara->GetEnableCompressLevel());
139 ui->spJPEGLevel->setEnabled(!m_pPara->GetNoJpeg());
143CDlgSettingsVnc::~CDlgSettingsVnc()
145 qDebug(log) <<
"CDlgSettingsVnc::~CDlgSettingsVnc()";
149void CDlgSettingsVnc::on_pbOK_clicked()
155 if(!ui->wNet->CheckValidity(
true)) {
156 ui->tabWidget->setCurrentIndex(0);
160 if(!m_pProxyUI->CheckValidity(
true)) {
161 ui->tabWidget->setCurrentWidget(m_pProxyUI);
165 if(!m_pRecordUI->CheckValidity(
true)) {
166 ui->tabWidget->setCurrentWidget(m_pRecordUI);
175 if(ui->gpIce->isChecked() && ice)
177 m_pPara->SetIce(
true);
178 m_pPara->SetPeerUser(ui->lePeerUser->text());
180 m_pPara->SetIce(
false);
183 nRet = ui->wNet->Accept();
185 nRet = m_pProxyUI->Accept();
187 nRet = m_pRecordUI->Accept();
190 m_pPara->SetName(ui->leName->text());
191 m_pPara->SetShared(ui->cbShared->isChecked());
192 m_pPara->SetBufferEndRefresh(!ui->cbRealTimeUpdate->isChecked());
193 m_pPara->SetLocalCursor(ui->cbLocalCursor->isChecked());
194 m_pPara->SetCursorPosition(ui->cbCursorPosition->isChecked());
195 m_pPara->SetSupportsDesktopResize(ui->cbResizeWindows->isChecked());
196 m_pPara->SetLedState(ui->cbLedState->isChecked());
197 m_pPara->SetEnableLocalInputMethod(ui->cbInputMethod->isChecked());
198 m_pPara->SetClipboard(ui->cbClipboard->isChecked());
199 m_pPara->SetShowServerName(ui->cbShowServerName->isChecked());
202 m_pPara->SetAutoSelect(ui->cbCompressAutoSelect->isChecked());
203 if(m_pPara->GetAutoSelect()) {
204 m_pPara->SetPreferredEncoding(rfb::encodingTight);
205 m_pPara->SetColorLevel(CParameterVnc::Full);
206 m_pPara->SetCompressLevel(2);
207 m_pPara->SetQualityLevel(8);
209 if(ui->rbTight->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingTight);
210 if(ui->rbRaw->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingRaw);
211 if(ui->rbRRE->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingRRE);
212 if(ui->rbZRLE->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingZRLE);
213 if(ui->rbCoRRE->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingCoRRE);
214 if(ui->rbCopyRect->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingCopyRect);
215 if(ui->rbHextile->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingHextile);
217 if(ui->rbH264->isChecked()) m_pPara->SetPreferredEncoding(rfb::encodingH264);
220 if(ui->rbFull->isChecked()) m_pPara->SetColorLevel(CParameterVnc::Full);
221 if(ui->rbMeduim->isChecked()) m_pPara->SetColorLevel(CParameterVnc::Medium);
222 if(ui->rbLow->isChecked()) m_pPara->SetColorLevel(CParameterVnc::Low);
223 if(ui->rbVeryLow->isChecked()) m_pPara->SetColorLevel(CParameterVnc::VeryLow);
225 m_pPara->SetEnableCompressLevel(ui->cbCompress->isChecked());
226 m_pPara->SetCompressLevel(ui->spCompressLevel->value());
227 m_pPara->SetNoJpeg(!ui->cbJPEG->isChecked());
228 m_pPara->SetQualityLevel(ui->spJPEGLevel->value());
234void CDlgSettingsVnc::on_pbCancel_clicked()
239void CDlgSettingsVnc::on_cbCompressAutoSelect_stateChanged(
int arg1)
241 m_pPara->SetAutoSelect(arg1);
242 if(m_pPara->GetAutoSelect())
244 ui->gpPreferredEncodeing->setEnabled(
false);
245 ui->gpColorLevel->setEnabled(
false);
246 ui->cbJPEG->setEnabled(
false);
247 ui->spJPEGLevel->setEnabled(
false);
248 ui->cbCompress->setEnabled(
false);
249 ui->spCompressLevel->setEnabled(
false);
251 ui->gpPreferredEncodeing->setEnabled(
true);
252 ui->gpColorLevel->setEnabled(
true);
253 ui->cbJPEG->setEnabled(
true);
254 if(ui->cbJPEG->isChecked())
255 ui->spJPEGLevel->setEnabled(
true);
256 ui->cbCompress->setEnabled(
true);
257 if(ui->cbCompress->isChecked())
258 ui->spCompressLevel->setEnabled(
true);
262void CDlgSettingsVnc::on_cbCompress_stateChanged(
int arg1)
264 m_pPara->SetCompressLevel(arg1);
266 ui->spCompressLevel->setEnabled(m_pPara->GetEnableCompressLevel());
269void CDlgSettingsVnc::on_cbJPEG_stateChanged(
int arg1)
271 m_pPara->SetNoJpeg(!arg1);
273 ui->spJPEGLevel->setEnabled(!m_pPara->GetNoJpeg());
276void CDlgSettingsVnc::on_gpIce_clicked(
bool checked)
278 ui->wNet->setEnabled(!checked);
static CICE * Instance()
Single instance.