summaryrefslogtreecommitdiff
path: root/client/Proxifier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/Proxifier.cpp')
-rw-r--r--client/Proxifier.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/client/Proxifier.cpp b/client/Proxifier.cpp
index 8ce4fd5..dc134c0 100644
--- a/client/Proxifier.cpp
+++ b/client/Proxifier.cpp
@@ -267,7 +267,7 @@ vector<Proxy> Proxifier::GetActiveProxies()
return result;
}
-bool Proxifier::TurnProxyOn(Proxy& proxy)
+bool Proxifier::TurnProxyOn(Proxy& proxy, bool isStatic)
{
if (!valid)
{
@@ -317,15 +317,13 @@ bool Proxifier::TurnProxyOn(Proxy& proxy)
{
// proxy is not enabled - remove it and add again
RemoveProxyFromChain(proxyId, chainId);
- bool isHttp = (stricmp(proxy.type.c_str(), "http") == 0);
- AddProxyToChain(proxyId, chainId, isHttp);
+ AddProxyToChain(proxyId, chainId, isStatic);
}
}
else
{
// proxy not found in the target chain - add it
- bool isHttp = (stricmp(proxy.type.c_str(), "http") == 0);
- AddProxyToChain(proxyId, chainId, isHttp);
+ AddProxyToChain(proxyId, chainId, isStatic);
}
}
@@ -954,7 +952,7 @@ bool Proxifier::AddChain(string& name, int *id)
return true;
}
-bool Proxifier::AddProxyToChain(int proxyId, int chainId, bool isHttp)
+bool Proxifier::AddProxyToChain(int proxyId, int chainId, bool isStatic)
{
Logger::Trace("Adding proxy to chain in Proxifier config\n");
// read XML DOM structure
@@ -1013,14 +1011,14 @@ bool Proxifier::AddProxyToChain(int proxyId, int chainId, bool isHttp)
QDomText nameTxt = configDom.createTextNode(idTxt);
proxyElem.appendChild(nameTxt);
// append Http proxies to then end, but prepend other ones
- if (isHttp)
+ if (isStatic)
{
- chainElem.appendChild(proxyElem);
+ chainElem.insertAfter(proxyElem, chainElem.firstChildElement());
}
else
{
// first child is 'Name'
- chainElem.insertAfter(proxyElem, chainElem.firstChildElement());
+ chainElem.appendChild(proxyElem);
}
break;
}