diff options
Diffstat (limited to 'client/Proxifier.cpp')
-rw-r--r-- | client/Proxifier.cpp | 16 |
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; } |