# HG changeset patch # User unc0rr # Date 1348326099 -14400 # Node ID c8906c3a2aeb6980b22ac58804e64322884c6d1f # Parent 2b9017ffc72f5f52342f8013dde428c45cf3df6d Allow using system proxy settings diff -r 2b9017ffc72f -r c8906c3a2aeb QTfrontend/gameuiconfig.cpp --- a/QTfrontend/gameuiconfig.cpp Fri Sep 21 23:33:34 2012 +0400 +++ b/QTfrontend/gameuiconfig.cpp Sat Sep 22 19:01:39 2012 +0400 @@ -24,6 +24,7 @@ #include #include #include +#include #include "gameuiconfig.h" #include "hwform.h" @@ -224,30 +225,41 @@ setValue("misc/autoUpdate", isAutoUpdateEnabled()); #endif - int proxyType = Form->ui.pageOptions->cbProxyType->currentIndex(); - setValue("proxy/type", proxyType); + { // setup proxy + int proxyType = Form->ui.pageOptions->cbProxyType->currentIndex(); + setValue("proxy/type", proxyType); - if(proxyType > 0) - { - setValue("proxy/host", Form->ui.pageOptions->leProxy->text()); - setValue("proxy/port", Form->ui.pageOptions->sbProxyPort->value()); - setValue("proxy/login", Form->ui.pageOptions->leProxyLogin->text()); - setValue("proxy/password", Form->ui.pageOptions->leProxyPassword->text()); - } + if(proxyType > 1) + { + setValue("proxy/host", Form->ui.pageOptions->leProxy->text()); + setValue("proxy/port", Form->ui.pageOptions->sbProxyPort->value()); + setValue("proxy/login", Form->ui.pageOptions->leProxyLogin->text()); + setValue("proxy/password", Form->ui.pageOptions->leProxyPassword->text()); + } + + QNetworkProxy proxy; - const QNetworkProxy::ProxyType proxyTypesMap[] = { - QNetworkProxy::NoProxy - , QNetworkProxy::Socks5Proxy - , QNetworkProxy::HttpProxy}; + if(proxyType == 1) + { + // use system proxy settings + proxy = QNetworkProxyFactory::systemProxyForQuery().at(0); + } else + { + const QNetworkProxy::ProxyType proxyTypesMap[] = { + QNetworkProxy::NoProxy + , QNetworkProxy::NoProxy // dummy value + , QNetworkProxy::Socks5Proxy + , QNetworkProxy::HttpProxy}; - QNetworkProxy proxy; - proxy.setType(proxyTypesMap[proxyType]); - proxy.setHostName(Form->ui.pageOptions->leProxy->text()); - proxy.setPort(Form->ui.pageOptions->sbProxyPort->value()); - proxy.setUser(Form->ui.pageOptions->leProxyLogin->text()); - proxy.setPassword(Form->ui.pageOptions->leProxyPassword->text()); - QNetworkProxy::setApplicationProxy(proxy); + proxy.setType(proxyTypesMap[proxyType]); + proxy.setHostName(Form->ui.pageOptions->leProxy->text()); + proxy.setPort(Form->ui.pageOptions->sbProxyPort->value()); + proxy.setUser(Form->ui.pageOptions->leProxyLogin->text()); + proxy.setPassword(Form->ui.pageOptions->leProxyPassword->text()); + } + QNetworkProxy::setApplicationProxy(proxy); + } { // save colors QStandardItemModel * model = DataManager::instance().colorsModel(); diff -r 2b9017ffc72f -r c8906c3a2aeb QTfrontend/ui/page/pageoptions.cpp --- a/QTfrontend/ui/page/pageoptions.cpp Fri Sep 21 23:33:34 2012 +0400 +++ b/QTfrontend/ui/page/pageoptions.cpp Sat Sep 22 19:01:39 2012 +0400 @@ -466,6 +466,7 @@ cbProxyType = new QComboBox(gbProxy); cbProxyType->addItems(QStringList() << tr("No proxy") + << tr("System proxy settings") << tr("Socks5 proxy") << tr("HTTP proxy")); gbLayout->addWidget(cbProxyType, 0, 1); @@ -626,7 +627,7 @@ void PageOptions::onProxyTypeChanged() { - bool b = cbProxyType->currentIndex() > 0; + bool b = cbProxyType->currentIndex() > 1; sbProxyPort->setEnabled(b); leProxy->setEnabled(b); diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_ar.ts --- a/share/hedgewars/Data/Locale/hedgewars_ar.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_ar.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1091,6 +1091,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_bg.ts --- a/share/hedgewars/Data/Locale/hedgewars_bg.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1067,6 +1067,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_cs.ts --- a/share/hedgewars/Data/Locale/hedgewars_cs.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_cs.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1079,6 +1079,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_de.ts --- a/share/hedgewars/Data/Locale/hedgewars_de.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_de.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1161,6 +1161,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_en.ts --- a/share/hedgewars/Data/Locale/hedgewars_en.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_en.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1107,6 +1107,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_es.ts --- a/share/hedgewars/Data/Locale/hedgewars_es.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_es.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1161,6 +1161,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_fi.ts --- a/share/hedgewars/Data/Locale/hedgewars_fi.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_fi.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1136,6 +1136,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_fr.ts --- a/share/hedgewars/Data/Locale/hedgewars_fr.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1119,6 +1119,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_hu.ts --- a/share/hedgewars/Data/Locale/hedgewars_hu.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_hu.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1085,6 +1085,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_it.ts --- a/share/hedgewars/Data/Locale/hedgewars_it.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_it.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1137,6 +1137,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_ja.ts --- a/share/hedgewars/Data/Locale/hedgewars_ja.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_ja.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1054,6 +1054,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_ko.ts --- a/share/hedgewars/Data/Locale/hedgewars_ko.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_ko.ts Sat Sep 22 19:01:39 2012 +0400 @@ -995,6 +995,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_lt.ts --- a/share/hedgewars/Data/Locale/hedgewars_lt.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1220,11 +1220,16 @@ - Socks5 proxy + System proxy settings + Socks5 proxy + + + + HTTP proxy diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_nl.ts --- a/share/hedgewars/Data/Locale/hedgewars_nl.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_nl.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1012,6 +1012,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_pl.ts --- a/share/hedgewars/Data/Locale/hedgewars_pl.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1189,6 +1189,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_pt_BR.ts --- a/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1199,6 +1199,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_pt_PT.ts --- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1126,6 +1126,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_ru.ts --- a/share/hedgewars/Data/Locale/hedgewars_ru.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1137,6 +1137,10 @@ HTTP proxy HTTP прокси + + System proxy settings + Системные настройки + PagePlayDemo @@ -1914,7 +1918,7 @@ Proxy settings - + Настройки прокси @@ -2171,7 +2175,7 @@ Format - + Формат Audio codec diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_sk.ts --- a/share/hedgewars/Data/Locale/hedgewars_sk.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_sk.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1184,6 +1184,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_sv.ts --- a/share/hedgewars/Data/Locale/hedgewars_sv.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_sv.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1153,6 +1153,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_tr_TR.ts --- a/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1031,6 +1031,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_uk.ts --- a/share/hedgewars/Data/Locale/hedgewars_uk.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_uk.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1133,6 +1133,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_zh_CN.ts --- a/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1403,11 +1403,16 @@ - Socks5 proxy + System proxy settings + Socks5 proxy + + + + HTTP proxy diff -r 2b9017ffc72f -r c8906c3a2aeb share/hedgewars/Data/Locale/hedgewars_zh_TW.ts --- a/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts Fri Sep 21 23:33:34 2012 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts Sat Sep 22 19:01:39 2012 +0400 @@ -1057,6 +1057,10 @@ HTTP proxy + + System proxy settings + + PagePlayDemo