2#include "ParameterProxy.h" 
    4CParameterProxy::CParameterProxy(
CParameterOperate *parent, 
const QString &szPrefix)
 
    6    , m_SockesV5(this, 
"Proxy/SockesV5")
 
    7    , m_Http(this, 
"Proxy/Http")
 
    8    , m_SSH(this, 
"Proxy/SSH/Tunnel")
 
    9    , m_UsedType(TYPE::None)
 
   11    m_Type << TYPE::None << TYPE::System << TYPE::SockesV5 << TYPE::Http;
 
   13    m_Type << TYPE::SSHTunnel;
 
   15    m_TypeName = {{TYPE::None, tr(
"None")},
 
   16                  {TYPE::System, tr(
"System settings")},
 
   17                  {TYPE::SockesV5, tr(
"Sockes V5")},
 
   18                  {TYPE::Http, tr(
"Http")},
 
   19                  {TYPE::SSHTunnel, tr(
"SSH tunnel")}};
 
   21    QList<CParameterUser::TYPE> lstType;
 
   24    lstType << CParameterUser::TYPE::None
 
   25            << CParameterUser::TYPE::UserPassword;
 
   26    m_Http.m_User.SetType(lstType);
 
   27    m_Http.SetPrompt(tr(
"The host is empty in \"Proxy->Http\". please set it"));
 
   29    m_SockesV5.SetPort(1080);
 
   31    lstType << CParameterUser::TYPE::None
 
   32        << CParameterUser::TYPE::UserPassword;
 
   33    m_SockesV5.m_User.SetType(lstType);
 
   34    m_SockesV5.SetPrompt(tr(
"The host is empty in \"Proxy->SockesV5\". please set it"));
 
   36    m_SSH.m_Net.SetPort(22);
 
   38    lstType << CParameterUser::TYPE::UserPassword
 
   39            << CParameterUser::TYPE::PublicKey;
 
   40    m_SSH.m_Net.m_User.SetType(lstType);
 
   41    m_SSH.m_Net.SetPrompt(tr(
"The host is empty in \"Proxy->SSH tunnel\". please set it"));
 
   44int CParameterProxy::OnLoad(QSettings &set)
 
   46    set.beginGroup(
"Proxy");
 
   48    foreach(
auto t, GetType()) {
 
   49        type.push_back(QString::number((
int)t));
 
   52    vType = set.value(
"Type", type).toStringList();
 
   54    foreach(
auto s, vType)
 
   56        lstType.push_back((TYPE)s.toInt());
 
   59    SetUsedType((TYPE)set.value(
"Type/Used", (
int)GetUsedType()).toInt());   
 
   64int CParameterProxy::OnSave(QSettings &set)
 
   66    set.beginGroup(
"Proxy");
 
   68    foreach(
auto t, GetType()) {
 
   69        type.push_back(QString::number((
int)t));
 
   71    set.setValue(
"Type", type);
 
   72    set.setValue(
"Type/Used", (
int)GetUsedType());
 
   77QList<CParameterProxy::TYPE> CParameterProxy::GetType()
 const 
   82int CParameterProxy::SetType(QList<TYPE> type)
 
   91CParameterProxy::TYPE CParameterProxy::GetUsedType()
 const 
   96int CParameterProxy::SetUsedType(TYPE type)
 
   98    if(m_UsedType == type)
 
  105QString CParameterProxy::ConvertTypeToName(TYPE t)
 
  107    return m_TypeName[t];
 
  110int CParameterProxy::SetTypeName(TYPE t, 
const QString& szName)
 
  112    m_TypeName[t] = szName;
 
Operational parameter interface.
 
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.