2#include "ParameterProxyUI.h"
6CParameterProxyUI::CParameterProxyUI(QWidget *parent)
9 , m_uiSockesV5(nullptr)
13 setWindowTitle(tr(
"Proxy"));
14 setLayout(
new QBoxLayout(QBoxLayout::TopToBottom,
this));
17 QHBoxLayout* pType =
new QHBoxLayout(
this);
18 layout()->addItem(pType);
21 layout()->addWidget(m_uiHttp);
24 layout()->addWidget(m_uiSockesV5);
27 layout()->addWidget(m_uiSSH);
29 m_lbType =
new QLabel(
this);
30 m_lbType->setText(tr(
"Type:"));
31 pType->addWidget(m_lbType);
33 m_cbType =
new QComboBox(
this);
34 m_cbType->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
35 pType->addWidget(m_cbType);
36 bCheck = connect(m_cbType, SIGNAL(currentIndexChanged(
int)),
37 this, SLOT(slotTypeChanged(
int)));
40 layout()->addItem(
new QSpacerItem(0, 0,
41 QSizePolicy::Preferred,
42 QSizePolicy::Expanding));
45void CParameterProxyUI::slotTypeChanged(
int nIndex)
48 int type = m_cbType->currentData().toInt();
50 m_uiHttp->setVisible((
int)CParameterProxy::TYPE::Http == type);
52 m_uiSockesV5->setVisible((
int)CParameterProxy::TYPE::SockesV5 == type);
54 m_uiSSH->setVisible((
int)CParameterProxy::TYPE::SSHTunnel == type);
59 m_Proxy = qobject_cast<CParameterProxy*>(pParameter);
67 foreach(
auto t, m_Proxy->GetType())
69 m_cbType->addItem(m_Proxy->ConvertTypeToName(t), (
int)t);
72 int index = m_cbType->findData((
int)m_Proxy->GetUsedType());
73 m_cbType->setCurrentIndex(index);
80 int type = m_cbType->currentData().toInt();
83 case (
int)CParameterProxy::TYPE::SockesV5: {
85 if(!bRet)
return bRet;
88 case (
int)CParameterProxy::TYPE::Http: {
90 if(!bRet)
return bRet;
93 case (
int)CParameterProxy::TYPE::SSHTunnel: {
95 if(!bRet)
return bRet;
108 int type = m_cbType->currentData().toInt();
111 case (
int)CParameterProxy::TYPE::SockesV5: {
112 nRet = m_uiSockesV5->
Accept();
113 if(nRet)
return nRet;
116 case (
int)CParameterProxy::TYPE::Http: {
117 nRet = m_uiHttp->
Accept();
118 if(nRet)
return nRet;
121 case (
int)CParameterProxy::TYPE::SSHTunnel: {
123 if(nRet)
return nRet;
130 m_Proxy->SetUsedType((CParameterProxy::TYPE)type);
int Accept()
Accept parameters.
bool CheckValidity(bool validity=false)
[Set Parameter]
int SetParameter(CParameter *pParameter)
[Parameter commone functions]
int SetParameter(CParameter *pParameter)
Set the parameters and initialize the user interface.
bool CheckValidity(bool validity=false)
Check parameters validity.
int Accept()
Accept parameters.
The parameter UI interface.