Rabbit Remote Control 0.0.36
Loading...
Searching...
No Matches
ParameterProxy.cpp
1#include "ParameterProxy.h"
2
3CParameterProxy::CParameterProxy(CParameterConnecter *parent, const QString &szPrefix)
4 : CParameterConnecter(parent, 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)
9{
10 m_Type << TYPE::None << TYPE::System << TYPE::SockesV5 << TYPE::Http << TYPE::SSHTunnel;
11 m_TypeName = {{TYPE::None, tr("None")},
12 {TYPE::System, tr("System settings")},
13 {TYPE::SockesV5, tr("Sockes V5")},
14 {TYPE::Http, tr("Http")},
15 {TYPE::SSHTunnel, tr("SSH tunnel")}};
16
17 QList<CParameterUser::TYPE> lstType;
18 m_Http.SetPort(80);
19 lstType.clear();
20 lstType << CParameterUser::TYPE::None
21 << CParameterUser::TYPE::UserPassword;
22 m_Http.m_User.SetType(lstType);
23 m_Http.SetPrompt(tr("The host is empty in \"Proxy->Http\". please set it"));
24
25 m_SockesV5.SetPort(1080);
26 lstType.clear();
27 lstType << CParameterUser::TYPE::None
28 << CParameterUser::TYPE::UserPassword;
29 m_SockesV5.m_User.SetType(lstType);
30 m_SockesV5.SetPrompt(tr("The host is empty in \"Proxy->SockesV5\". please set it"));
31
32 m_SSH.m_Net.SetPort(22);
33 lstType.clear();
34 lstType << CParameterUser::TYPE::UserPassword
35 << CParameterUser::TYPE::PublicKey;
36 m_SSH.m_Net.m_User.SetType(lstType);
37 m_SSH.m_Net.SetPrompt(tr("The host is empty in \"Proxy->SSH tunnel\". please set it"));
38}
39
40int CParameterProxy::OnLoad(QSettings &set)
41{
42 set.beginGroup("Proxy");
43 QStringList type;
44 foreach(auto t, GetType()) {
45 type.push_back(QString::number((int)t));
46 }
47 QStringList vType;
48 vType = set.value("Type", type).toStringList();
49 QList<TYPE> lstType;
50 foreach(auto s, vType)
51 {
52 lstType.push_back((TYPE)s.toInt());
53 }
54 SetType(lstType);
55 SetUsedType((TYPE)set.value("Type/Used", (int)GetUsedType()).toInt());
56 set.endGroup();
57 return 0;
58}
59
60int CParameterProxy::OnSave(QSettings &set)
61{
62 set.beginGroup("Proxy");
63 QStringList type;
64 foreach(auto t, GetType()) {
65 type.push_back(QString::number((int)t));
66 }
67 set.setValue("Type", type);
68 set.setValue("Type/Used", (int)GetUsedType());
69 set.endGroup();
70 return 0;
71}
72
73QList<CParameterProxy::TYPE> CParameterProxy::GetType() const
74{
75 return m_Type;
76}
77
78int CParameterProxy::SetType(QList<TYPE> type)
79{
80 if(m_Type == type)
81 return 0;
82 m_Type = type;
83 SetModified(true);
84 return 0;
85}
86
87CParameterProxy::TYPE CParameterProxy::GetUsedType() const
88{
89 return m_UsedType;
90}
91
92int CParameterProxy::SetUsedType(TYPE type)
93{
94 if(m_UsedType == type)
95 return 0;
96 m_UsedType = type;
97 SetModified(true);
98 return 0;
99}
100
101QString CParameterProxy::ConvertTypeToName(TYPE t)
102{
103 return m_TypeName[t];
104}
105
106int CParameterProxy::SetTypeName(TYPE t, const QString& szName)
107{
108 m_TypeName[t] = szName;
109 return 0;
110}
the parameters of connecter interface.
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.