1#include "ParameterProxy.h"
3CParameterProxy::CParameterProxy(
CParameterOperate *parent,
const QString &szPrefix)
5 , m_SockesV5(this,
"Proxy/SockesV5")
6 , m_Http(this,
"Proxy/Http")
7 , m_SSH(this,
"Proxy/SSH/Tunnel")
8 , m_UsedType(TYPE::None)
10 m_Type << TYPE::None << TYPE::System << TYPE::SockesV5 << TYPE::Http;
12 m_Type << TYPE::SSHTunnel;
14 m_TypeName = {{TYPE::None, tr(
"None")},
15 {TYPE::System, tr(
"System settings")},
16 {TYPE::SockesV5, tr(
"Sockes V5")},
17 {TYPE::Http, tr(
"Http")},
18 {TYPE::SSHTunnel, tr(
"SSH tunnel")}};
20 QList<CParameterUser::TYPE> lstType;
23 lstType << CParameterUser::TYPE::None
24 << CParameterUser::TYPE::UserPassword;
25 m_Http.m_User.SetType(lstType);
26 m_Http.SetPrompt(tr(
"The host is empty in \"Proxy->Http\". please set it"));
28 m_SockesV5.SetPort(1080);
30 lstType << CParameterUser::TYPE::None
31 << CParameterUser::TYPE::UserPassword;
32 m_SockesV5.m_User.SetType(lstType);
33 m_SockesV5.SetPrompt(tr(
"The host is empty in \"Proxy->SockesV5\". please set it"));
35 m_SSH.m_Net.SetPort(22);
37 lstType << CParameterUser::TYPE::UserPassword
38 << CParameterUser::TYPE::PublicKey;
39 m_SSH.m_Net.m_User.SetType(lstType);
40 m_SSH.m_Net.SetPrompt(tr(
"The host is empty in \"Proxy->SSH tunnel\". please set it"));
43int CParameterProxy::OnLoad(QSettings &set)
45 set.beginGroup(
"Proxy");
47 foreach(
auto t, GetType()) {
48 type.push_back(QString::number((
int)t));
51 vType = set.value(
"Type", type).toStringList();
53 foreach(
auto s, vType)
55 lstType.push_back((TYPE)s.toInt());
58 SetUsedType((TYPE)set.value(
"Type/Used", (
int)GetUsedType()).toInt());
63int CParameterProxy::OnSave(QSettings &set)
65 set.beginGroup(
"Proxy");
67 foreach(
auto t, GetType()) {
68 type.push_back(QString::number((
int)t));
70 set.setValue(
"Type", type);
71 set.setValue(
"Type/Used", (
int)GetUsedType());
76QList<CParameterProxy::TYPE> CParameterProxy::GetType()
const
81int CParameterProxy::SetType(QList<TYPE> type)
90CParameterProxy::TYPE CParameterProxy::GetUsedType()
const
95int CParameterProxy::SetUsedType(TYPE type)
97 if(m_UsedType == type)
104QString CParameterProxy::ConvertTypeToName(TYPE t)
106 return m_TypeName[t];
109int CParameterProxy::SetTypeName(TYPE t,
const QString& szName)
111 m_TypeName[t] = szName;
Operational parameter interface.
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.