Support for proxies (not tested)
authorunc0rr
Fri, 21 Sep 2012 23:29:57 +0400
changeset 7700 fc44e4e33d1c
parent 7699 2455207a2c71
child 7701 2b9017ffc72f
Support for proxies (not tested)
QTfrontend/gameuiconfig.cpp
QTfrontend/ui/page/pageoptions.cpp
QTfrontend/ui/page/pageoptions.h
share/hedgewars/Data/Locale/hedgewars_ar.ts
share/hedgewars/Data/Locale/hedgewars_bg.ts
share/hedgewars/Data/Locale/hedgewars_cs.ts
share/hedgewars/Data/Locale/hedgewars_de.ts
share/hedgewars/Data/Locale/hedgewars_en.ts
share/hedgewars/Data/Locale/hedgewars_es.ts
share/hedgewars/Data/Locale/hedgewars_fi.ts
share/hedgewars/Data/Locale/hedgewars_fr.ts
share/hedgewars/Data/Locale/hedgewars_hu.ts
share/hedgewars/Data/Locale/hedgewars_it.ts
share/hedgewars/Data/Locale/hedgewars_ja.ts
share/hedgewars/Data/Locale/hedgewars_ko.ts
share/hedgewars/Data/Locale/hedgewars_lt.ts
share/hedgewars/Data/Locale/hedgewars_nl.ts
share/hedgewars/Data/Locale/hedgewars_pl.ts
share/hedgewars/Data/Locale/hedgewars_pt_BR.ts
share/hedgewars/Data/Locale/hedgewars_pt_PT.ts
share/hedgewars/Data/Locale/hedgewars_ru.ts
share/hedgewars/Data/Locale/hedgewars_sk.ts
share/hedgewars/Data/Locale/hedgewars_sv.ts
share/hedgewars/Data/Locale/hedgewars_tr_TR.ts
share/hedgewars/Data/Locale/hedgewars_uk.ts
share/hedgewars/Data/Locale/hedgewars_zh_CN.ts
share/hedgewars/Data/Locale/hedgewars_zh_TW.ts
--- a/QTfrontend/gameuiconfig.cpp	Fri Sep 21 01:29:33 2012 +0200
+++ b/QTfrontend/gameuiconfig.cpp	Fri Sep 21 23:29:57 2012 +0400
@@ -23,6 +23,7 @@
 #include <QInputDialog>
 #include <QCryptographicHash>
 #include <QStandardItemModel>
+#include <QNetworkProxy>
 
 #include "gameuiconfig.h"
 #include "hwform.h"
@@ -109,6 +110,12 @@
 
     Form->ui.pageOptions->CBLanguage->setCurrentIndex(Form->ui.pageOptions->CBLanguage->findData(value("misc/locale", "").toString()));
 
+    Form->ui.pageOptions->cbProxyType->setCurrentIndex(value("proxy/type", 0).toInt());
+    Form->ui.pageOptions->leProxy->setText(value("proxy/host", "").toString());
+    Form->ui.pageOptions->sbProxyPort->setValue(value("proxy/port", "8080").toInt());
+    Form->ui.pageOptions->leProxyLogin->setText(value("proxy/login", "").toString());
+    Form->ui.pageOptions->leProxyPassword->setText(value("proxy/password", "").toString());
+
     depth = HWApplication::desktop()->depth();
     if (depth < 16) depth = 16;
     else if (depth > 16) depth = 32;
@@ -217,6 +224,31 @@
     setValue("misc/autoUpdate", isAutoUpdateEnabled());
 #endif
 
+    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());
+    }
+
+    const QNetworkProxy::ProxyType proxyTypesMap[] = {
+        QNetworkProxy::NoProxy
+        , 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);
+
+
     { // save colors
         QStandardItemModel * model = DataManager::instance().colorsModel();
         for(int i = model->rowCount() - 1; i >= 0; --i)
--- a/QTfrontend/ui/page/pageoptions.cpp	Fri Sep 21 01:29:33 2012 +0200
+++ b/QTfrontend/ui/page/pageoptions.cpp	Fri Sep 21 23:29:57 2012 +0400
@@ -442,7 +442,53 @@
             gbCLayout->addWidget(BtnAssociateFiles);
         }
 
-        page2Layout->addWidget(new QWidget(this), 1, 0);
+        {
+            IconedGroupBox * gbProxy = new IconedGroupBox(this);
+            gbProxy->setIcon(QIcon(":/res/Settings.png"));
+            gbProxy->setTitle(QGroupBox::tr("Proxy settings"));
+            page2Layout->addWidget(gbProxy, 1, 0);
+            QGridLayout * gbLayout = new QGridLayout(gbProxy);
+
+            QStringList sl;
+            sl
+                    << tr("Proxy host")
+                    << tr("Proxy port")
+                    << tr("Proxy login")
+                    << tr("Proxy password")
+                       ;
+            for(int i = 0; i < sl.size(); ++i)
+            {
+                QLabel * l = new QLabel(gbProxy);
+                l->setText(sl[i]);
+                gbLayout->addWidget(l, i + 1, 0);
+            }
+
+            cbProxyType = new QComboBox(gbProxy);
+            cbProxyType->addItems(QStringList()
+                                  << tr("No proxy")
+                                  << tr("Socks5 proxy")
+                                  << tr("HTTP proxy"));
+            gbLayout->addWidget(cbProxyType, 0, 1);
+
+            leProxy = new QLineEdit(gbProxy);
+            gbLayout->addWidget(leProxy, 1, 1);
+
+            sbProxyPort = new QSpinBox(gbProxy);
+            sbProxyPort->setMaximum(65535);
+            gbLayout->addWidget(sbProxyPort, 2, 1);
+
+            leProxyLogin = new QLineEdit(gbProxy);
+            gbLayout->addWidget(leProxyLogin, 3, 1);
+
+            leProxyPassword = new QLineEdit(gbProxy);
+            leProxyPassword->setEchoMode(QLineEdit::Password);
+            gbLayout->addWidget(leProxyPassword, 4, 1);
+
+
+            connect(cbProxyType, SIGNAL(currentIndexChanged(int)), this, SLOT(onProxyTypeChanged()));
+        }
+
+        page2Layout->addWidget(new QWidget(this), 2, 0);
     }
 
     previousQuality = this->SLQuality->value();
@@ -576,3 +622,13 @@
 
     m_colorButtons[topLeft.row()]->setStyleSheet(QString("background: %1").arg(model->item(topLeft.row())->data().value<QColor>().name()));
 }
+
+void PageOptions::onProxyTypeChanged()
+{
+    bool b = cbProxyType->currentIndex() > 0;
+
+    sbProxyPort->setEnabled(b);
+    leProxy->setEnabled(b);
+    leProxyLogin->setEnabled(b);
+    leProxyPassword->setEnabled(b);
+}
--- a/QTfrontend/ui/page/pageoptions.h	Fri Sep 21 01:29:33 2012 +0200
+++ b/QTfrontend/ui/page/pageoptions.h	Fri Sep 21 23:29:57 2012 +0400
@@ -44,7 +44,7 @@
 
         QComboBox *CBLanguage;
 
-        IconedGroupBox *teamsBox;;
+        IconedGroupBox *teamsBox;
         QPushButton *BtnAssociateFiles;
         QComboBox *CBTeamName;
         IconedGroupBox *AGGroupBox;
@@ -71,6 +71,11 @@
         QLineEdit *editNetPassword;
         QSlider *SLQuality;
         QCheckBox *CBFrontendEffects;
+        QComboBox * cbProxyType;
+        QSpinBox * sbProxyPort;
+        QLineEdit * leProxy;
+        QLineEdit * leProxyLogin;
+        QLineEdit * leProxyPassword;
 
         void setTeamOptionsEnabled(bool enabled);
 
@@ -105,6 +110,7 @@
         void savePwdChanged(int state);
         void colorButtonClicked(int i);
         void onColorModelDataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight);
+        void onProxyTypeChanged();
 };
 
 #endif
--- a/share/hedgewars/Data/Locale/hedgewars_ar.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ar.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1063,6 +1063,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1827,6 +1855,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_bg.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1039,6 +1039,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1783,6 +1811,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_cs.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_cs.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1051,6 +1051,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1818,6 +1846,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_de.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_de.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1133,6 +1133,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1903,6 +1931,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_en.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_en.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -617,12 +617,14 @@
         <source>&lt;b&gt;%1&lt;/b&gt; thought it&apos;s good to shoot his own hedgehogs with &lt;b&gt;%2&lt;/b&gt; pts.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; killed &lt;b&gt;%2&lt;/b&gt; of his own hedgehogs.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
@@ -1077,6 +1079,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1223,6 +1253,7 @@
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
 </context>
@@ -1834,6 +1865,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1133,6 +1133,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1935,6 +1963,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_fi.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_fi.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1108,6 +1108,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1906,6 +1934,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_fr.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1091,6 +1091,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1860,6 +1888,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_hu.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_hu.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1057,6 +1057,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1813,6 +1841,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_it.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_it.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -425,7 +425,7 @@
     </message>
     <message>
         <source>Remote host has closed connection</source>
-        <translation>L'host remoto ha terminato la connessione.</translation>
+        <translation>L&apos;host remoto ha terminato la connessione.</translation>
     </message>
     <message>
         <source>The server is too old. Disconnecting now.</source>
@@ -956,7 +956,7 @@
     </message>
     <message>
         <source>Read about who is behind the Hedgewars Project</source>
-        <translation>Leggi chi c'è dietro allo sviluppo di Hedgewars</translation>
+        <translation>Leggi chi c&apos;è dietro allo sviluppo di Hedgewars</translation>
     </message>
     <message>
         <source>Leave a feedback here reporting issues, suggesting features or just saying how you like Hedgewars</source>
@@ -1109,6 +1109,34 @@
         <source>Reset to default colors</source>
         <translation>Ripristina colori originali</translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1887,6 +1915,10 @@
         <source>Description</source>
         <translation>Descrizione</translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
@@ -2106,7 +2138,7 @@
     </message>
     <message>
         <source>Please provide either the YouTube account name or the email address associated with the Google Account.</source>
-        <translation>Inserire il nome utente YouTube o l'indirizzo e-mail associato all'account Google.</translation>
+        <translation>Inserire il nome utente YouTube o l&apos;indirizzo e-mail associato all&apos;account Google.</translation>
     </message>
     <message>
         <source>Account name (or email): </source>
@@ -2263,7 +2295,7 @@
     </message>
     <message>
         <source>Please fill out all fields</source>
-        <translation>E' necessario compilare tutti i campi</translation>
+        <translation>E&apos; necessario compilare tutti i campi</translation>
     </message>
     <message>
         <source>Success</source>
@@ -2275,16 +2307,16 @@
     </message>
     <message>
         <source>Error during authentication with www.google.com</source>
-        <translation>Errore durante l'autenticazione con il server www.google.com</translation>
+        <translation>Errore durante l&apos;autenticazione con il server www.google.com</translation>
     </message>
     <message>
         <source>Error creating the issue</source>
-        <translation>Errore nella segnalazione dell'errore</translation>
+        <translation>Errore nella segnalazione dell&apos;errore</translation>
     </message>
     <message>
         <source>Error while authenticating at google.com:
 </source>
-        <translation>Errore durante l'autenticazione su google.com:</translation>
+        <translation>Errore durante l&apos;autenticazione su google.com:</translation>
     </message>
     <message>
         <source>Login or password is incorrect</source>
@@ -2293,7 +2325,7 @@
     <message>
         <source>Error while sending metadata to youtube.com:
 </source>
-        <translation>Errore nell'invio dei dati a youtube.com:</translation>
+        <translation>Errore nell&apos;invio dei dati a youtube.com:</translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_ja.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ja.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1026,6 +1026,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1727,6 +1755,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_ko.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ko.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -967,6 +967,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1635,6 +1663,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_lt.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -404,35 +404,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="580"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="613"/>
         <source>Room destroyed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="391"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="424"/>
         <source>You got kicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="530"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="656"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="563"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="689"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="413"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="446"/>
         <source>%1 *** %2 has joined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="454"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="670"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="487"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="703"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="456"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="672"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="489"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="705"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1193,6 +1193,41 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="454"/>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="455"/>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="456"/>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="457"/>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="468"/>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="469"/>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="470"/>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1726,7 +1761,7 @@
 <context>
     <name>QCheckBox</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="430"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="431"/>
         <source>Show ammo menu tooltips</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1736,7 +1771,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="435"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="436"/>
         <source>Append date and time to record file name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1781,7 +1816,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="423"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="424"/>
         <source>Show FPS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2005,11 +2040,16 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="411"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="412"/>
         <source>Miscellaneous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="448"/>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="48"/>
         <source>Game Modifiers</source>
         <translation type="unfinished"></translation>
@@ -2185,7 +2225,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="417"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="418"/>
         <source>FPS limit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2607,7 +2647,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="439"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="440"/>
         <source>Associate file extensions</source>
         <translation type="unfinished"></translation>
     </message>
--- a/share/hedgewars/Data/Locale/hedgewars_nl.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_nl.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -984,6 +984,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1655,6 +1683,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_pl.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1161,6 +1161,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1976,6 +2004,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1171,6 +1171,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1973,6 +2001,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1098,6 +1098,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1872,6 +1900,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_ru.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1109,6 +1109,34 @@
         <source>Reset to default colors</source>
         <translation>Сбросить на цвета по умолчанию</translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1884,6 +1912,10 @@
         <source>Description</source>
         <translation>Описание</translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_sk.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_sk.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1156,6 +1156,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1971,6 +1999,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_sv.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_sv.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1125,6 +1125,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1927,6 +1955,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1003,6 +1003,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1707,6 +1735,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_uk.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_uk.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1105,6 +1105,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1880,6 +1908,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -491,25 +491,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="413"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="446"/>
         <source>%1 *** %2 has joined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="454"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="670"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="487"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="703"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="456"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="672"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="489"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="705"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="530"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="656"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="563"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="689"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
@@ -531,12 +531,12 @@
         <translation>退出原因:</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="580"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="613"/>
         <source>Room destroyed</source>
         <translation>房间损坏</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="391"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="424"/>
         <source>You got kicked</source>
         <translation>被踢出</translation>
     </message>
@@ -1377,6 +1377,41 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="454"/>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="455"/>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="456"/>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="457"/>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="468"/>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="469"/>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="470"/>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Save</source>
         <translation type="obsolete">保存</translation>
     </message>
@@ -1992,7 +2027,7 @@
         <translation type="obsolete">城堡模式</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="423"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="424"/>
         <source>Show FPS</source>
         <translation>显示帧率 (FPS)</translation>
     </message>
@@ -2027,7 +2062,7 @@
         <translation>开启音乐</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="430"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="431"/>
         <source>Show ammo menu tooltips</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2041,7 +2076,7 @@
         <translation type="obsolete">分组</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="435"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="436"/>
         <source>Append date and time to record file name</source>
         <translation>记录名称中包含具体时间日期</translation>
     </message>
@@ -2292,11 +2327,16 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="411"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="412"/>
         <source>Miscellaneous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="448"/>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Net nick</source>
         <translation type="obsolete">昵称</translation>
     </message>
@@ -2465,7 +2505,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="417"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="418"/>
         <source>FPS limit</source>
         <translation>FPS 上限</translation>
     </message>
@@ -3140,7 +3180,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="439"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="440"/>
         <source>Associate file extensions</source>
         <translation type="unfinished"></translation>
     </message>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts	Fri Sep 21 01:29:33 2012 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts	Fri Sep 21 23:29:57 2012 +0400
@@ -1029,6 +1029,34 @@
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Proxy password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HTTP proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
@@ -1781,6 +1809,10 @@
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLabel</name>