main implementation done, to be tested; refs #6, refs #5

master
Marc Wäckerlin 14 years ago
parent a0afaa86f7
commit 525ce86677
  1. 45
      proxyface/autoproxy.hxx
  2. BIN
      proxyface/indicator.gif
  3. 2
      proxyface/makefile.am
  4. 38
      proxyface/plainqt.hxx
  5. 131
      proxyface/proxy.hxx
  6. 363
      proxyface/proxy.ui
  7. 136
      proxyface/proxy_de.ts
  8. 136
      proxyface/proxy_en.ts
  9. 136
      proxyface/proxy_fr.ts
  10. 136
      proxyface/proxy_it.ts
  11. 7
      proxyface/windoze.hxx

@ -122,7 +122,7 @@ namespace proxy {
_requests.clear(); _requests.clear();
} }
//! Network Ping: Check access to a given address using default proxy. //! Network Ping: Check access to a given address using default proxy.
void ping(const std::string& url, int timeout2=5000) { void ping(const std::string& url, int timeout2=30000) {
if (_requests.size() || _timeout1.isActive() || _timeout2.isActive()) if (_requests.size() || _timeout1.isActive() || _timeout2.isActive())
// detection is already running, wait for that, don't restart // detection is already running, wait for that, don't restart
return; return;
@ -135,10 +135,10 @@ namespace proxy {
setupProxyCheck(defaultProxy, url); setupProxyCheck(defaultProxy, url);
_timeout2.start(); _timeout2.start();
} }
void ping(const QUrl& url, int timeout2=5000) { void ping(const QUrl& url, int timeout2=30000) {
ping(url.toString().toStdString(), timeout2); ping(url.toString().toStdString(), timeout2);
} }
void ping(const QString& url, int timeout2=5000) { void ping(const QString& url, int timeout2=30000) {
ping(url.toStdString(), timeout2); ping(url.toStdString(), timeout2);
} }
//! If Qt Network is available you may check the proxies found //! If Qt Network is available you may check the proxies found
@ -153,7 +153,7 @@ namespace proxy {
@param url the url to find a proxy for @param url the url to find a proxy for
@param timeout [ms] time to give up search */ @param timeout [ms] time to give up search */
void proxy(const std::string& url, void proxy(const std::string& url,
int timeout1=5000, int timeout2=5000) { int timeout1=5000, int timeout2=30000) {
PROXYFACE_LOG; PROXYFACE_LOG;
qDebug()<<"Search proxy for URL, direct and default" qDebug()<<"Search proxy for URL, direct and default"
<<"url="<<url.data()<<"timeout1="<<timeout1; <<"url="<<url.data()<<"timeout1="<<timeout1;
@ -172,13 +172,13 @@ namespace proxy {
} }
//! If Qt Network is available you may check the proxies found //! If Qt Network is available you may check the proxies found
/*! @copydoc proxy(const std::string&, int) */ /*! @copydoc proxy(const std::string&, int) */
void proxy(const QUrl& url, int timeout1=5000, int timeout2=5000) { void proxy(const QUrl& url, int timeout1=5000, int timeout2=30000) {
PROXYFACE_LOG; PROXYFACE_LOG;
proxy(url.toString().toStdString(), timeout1, timeout2); proxy(url.toString().toStdString(), timeout1, timeout2);
} }
//! If Qt Network is available you may check the proxies found //! If Qt Network is available you may check the proxies found
/*! @copydoc proxy(const std::string&, int) */ /*! @copydoc proxy(const std::string&, int) */
void proxy(const QString& url, int timeout1=5000, int timeout2=5000) { void proxy(const QString& url, int timeout1=5000, int timeout2=30000) {
PROXYFACE_LOG; PROXYFACE_LOG;
proxy(url.toStdString(), timeout1, timeout2); proxy(url.toStdString(), timeout1, timeout2);
} }
@ -350,29 +350,34 @@ namespace proxy {
}; };
} }
/* # ifdef WIN32
#ifdef QT_WEBKIT_LIB # ifdef QT_NETWORK_LIB
// use plain QT implementation // use Qt if available
# include <proxyface/plainqt.hxx> # include <proxyface/qtproxy.hxx>
namespace proxy { namespace proxy {
typedef Qt Face; typedef QtProxy Face;
} }
#else # else
# error no QT_WEBKIT_LIB // use windoze proprietary winhttp
*/ # include <proxyface/windoze.hxx>
# ifdef WIN32
// use windoze proprietary winhttp
# include <proxyface/windoze.hxx>
namespace proxy { namespace proxy {
typedef Windoze Face; typedef Windoze Face;
} }
# endif
# else # else
// normal operating systems: use http://code.google.com/p/libproxy # if defined(QT_NETWORK_LIB) && defined(Q_OS_MAC)
#include <proxyface/unix.hxx> // use Qt if available (not yet linux)
# include <proxyface/qtproxy.hxx>
namespace proxy {
typedef QtProxy Face;
}
# else
// no Qt support, nor proprietary: use http://code.google.com/p/libproxy
# include <proxyface/unix.hxx>
namespace proxy { namespace proxy {
typedef Unix Face; typedef Unix Face;
} }
# endif
# endif # endif
//#endif
#endif #endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

@ -16,7 +16,7 @@ EXTRA_DIST = ${UISOURCES} $(pkgconfig_DATA).in
BUILT_SOURCES = ${UIHEADER} ${MOCSOURCES} ${LANGUAGES} BUILT_SOURCES = ${UIHEADER} ${MOCSOURCES} ${LANGUAGES}
proxyfacedir = ${includedir}/proxyface proxyfacedir = ${includedir}/proxyface
proxyface_HEADERS = unix.hxx windoze.hxx plainqt.hxx \ proxyface_HEADERS = unix.hxx windoze.hxx qtproxy.hxx \
${MOCHEADER} ${UIHEADER} ${MOCHEADER} ${UIHEADER}
lib_LTLIBRARIES = libproxyface.la lib_LTLIBRARIES = libproxyface.la

@ -1,38 +0,0 @@
/*! @file
@id $Id$
*/
// 1 2 3 4 5 6 7 8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
#ifndef PROXY_QT
#define PROXY_QT
#include <QtNetwork/QHostInfo>
#include <QtCore/QDebug>
namespace proxy {
class Qt: public Interface {
public:
Qt() {}
virtual ~Qt() {}
//! Implements WPAD using Qt Network and Qt Webkit
virtual List proxies(const std::string& url) {
List res;
qDebug()<<"Hostname: "<<QHostInfo::localHostName();
qDebug()<<"Domainname: "<<QHostInfo::localDomainName();
return res;
}
};
}
#endif

@ -10,6 +10,7 @@
#include <proxyface/autoproxy.hxx> #include <proxyface/autoproxy.hxx>
#include <proxyface/ui_proxy.hxx> #include <proxyface/ui_proxy.hxx>
#include <QtGui/QMovie>
#include <QtGui/QDialog> #include <QtGui/QDialog>
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QtNetwork/QNetworkProxy> #include <QtNetwork/QNetworkProxy>
@ -26,32 +27,41 @@ namespace gui {
public: public:
Proxy(QString testUrl, QWidget* p=0): QDialog(p), _testUrl(testUrl){ Proxy(QString testUrl, QWidget* p=0):
setupUi(this); QDialog(p), _lastDefaultProxy(QNetworkProxy()) {
QSettings s("SwissSign", "ProxySettings"); setupUi(this);
_type->setCurrentIndex(s.value("default-type", 0).toInt()); _testUrl->insertItem(0, testUrl);
_url->setText(s.value("default-server", QString()).toString()); QMovie *m(new QMovie(":/icons/indicator.gif"));
_port->setValue(s.value("default-port", 0).toInt()); _internetWait->setMovie(m);
connect(&_auto, SIGNAL(proxyFound(const QUrl&, const QNetworkProxy&)), m->start();
SIGNAL(proxyFound(const QUrl&, const QNetworkProxy&))); QSettings s("SwissSign", "ProxySettings");
connect(&_auto, SIGNAL(proxyFound(const QUrl&, const QNetworkProxy&)), _type->setCurrentIndex(s.value("default-type", 0).toInt());
SLOT(proxyFoundSlot(const QUrl&, const QNetworkProxy&))); _url->setText(s.value("default-server", QString()).toString());
connect(&_auto, SIGNAL(proxyError(QNetworkReply::NetworkError)), _port->setValue(s.value("default-port", 0).toInt());
SIGNAL(proxyError(QNetworkReply::NetworkError))); connect(&_auto, SIGNAL(proxyFound(const QUrl&, const QNetworkProxy&)),
connect(&_auto, SIGNAL(temporaryError(QNetworkReply::NetworkError, SIGNAL(proxyFound(const QUrl&, const QNetworkProxy&)));
connect(&_auto, SIGNAL(proxyFound(const QUrl&, const QNetworkProxy&)),
SLOT(proxyFoundSlot(const QUrl&, const QNetworkProxy&)));
connect(&_auto, SIGNAL(proxyError(QNetworkReply::NetworkError)),
SIGNAL(proxyError(QNetworkReply::NetworkError)));
connect(&_auto, SIGNAL(proxyError(QNetworkReply::NetworkError)),
SLOT(proxyErrorSlot(QNetworkReply::NetworkError)));
connect(&_auto, SIGNAL(temporaryError(QNetworkReply::NetworkError,
QString, QString)), QString, QString)),
SIGNAL(temporaryError(QNetworkReply::NetworkError, SIGNAL(temporaryError(QNetworkReply::NetworkError,
QString, QString))); QString, QString)));
acceptValues(); acceptValues();
} }
void checkUrl(const QString& url) { void checkUrl(const QString& url) {
_testUrl = url; if (_testUrl->findText(url)==-1)
_testUrl->addItem(url);
_testUrl->setCurrentIndex(_testUrl->findText(url));
acceptValues(); acceptValues();
} }
void ping() { void ping() {
_auto.ping(_testUrl); _auto.ping(_testUrl->currentText());
} }
void retry() { void retry() {
@ -59,35 +69,32 @@ namespace gui {
} }
void acceptValues(bool retry=false) { void acceptValues(bool retry=false) {
_auto.reset(); on__test_clicked();
QNetworkProxy::ProxyType type(QNetworkProxy::NoProxy);
switch (_type->currentIndex()) { switch (_type->currentIndex()) {
case 0: try { case 0: try {
_url->setEnabled(false); _url->setEnabled(false);
_port->setEnabled(false); _port->setEnabled(false);
_url->setText(""); _url->setText("");
_port->setValue(0); _port->setValue(0);
type=QNetworkProxy::NoProxy;
QNetworkProxy::setApplicationProxy(QNetworkProxy(type));
_auto.proxy(_testUrl);
} catch (...) {} break; } catch (...) {} break;
case 1: {
type=QNetworkProxy::HttpProxy;
QNetworkProxy::setApplicationProxy
(QNetworkProxy(type, _url->text(), _port->value()));
_auto.ping(_testUrl);
} break;
case 2: {
type=QNetworkProxy::Socks5Proxy;
QNetworkProxy::setApplicationProxy
(QNetworkProxy(type, _url->text(), _port->value()));
_auto.ping(_testUrl);
} break;
} }
if (_save->isChecked()) {
QSettings s("SwissSign", "ProxySettings");
s.setValue("default-type", _type->currentIndex());
s.setValue("default-server", _url->text());
s.setValue("default-port", _port->value());
} else {
QSettings s("SwissSign", "ProxySettings");
s.clear();
}
_lastDefaultProxy = QNetworkProxy();
_lastType = _type->currentIndex(); _lastType = _type->currentIndex();
_lastUrl = _url->text(); _lastUrl = _url->text();
_lastPort = _port->value(); _lastPort = _port->value();
if (!retry) detecting(); if (!retry) {
_stackInternet->setCurrentIndex(WAITING_FOR_SERVER);
detecting();
}
} }
Q_SIGNALS: Q_SIGNALS:
@ -100,6 +107,7 @@ namespace gui {
public Q_SLOTS: public Q_SLOTS:
void proxyFoundSlot(const QUrl&, const QNetworkProxy& p) { void proxyFoundSlot(const QUrl&, const QNetworkProxy& p) {
_stackInternet->setCurrentIndex(SERVER_FOUND);
QNetworkProxy prx(p.type()==QNetworkProxy::DefaultProxy QNetworkProxy prx(p.type()==QNetworkProxy::DefaultProxy
?QNetworkProxy::applicationProxy():p); ?QNetworkProxy::applicationProxy():p);
if (prx.type()==QNetworkProxy::DefaultProxy) return; if (prx.type()==QNetworkProxy::DefaultProxy) return;
@ -109,26 +117,36 @@ namespace gui {
QNetworkProxy::setApplicationProxy(prx); QNetworkProxy::setApplicationProxy(prx);
} }
void proxyErrorSlot(QNetworkReply::NetworkError){
_stackInternet->setCurrentIndex(SERVER_NOT_FOUND);
}
void on__type_currentIndexChanged(int index) { void on__type_currentIndexChanged(int index) {
_url->setEnabled(index!=0); _url->setEnabled(index!=0);
_port->setEnabled(index!=0); _port->setEnabled(index!=0);
} }
void on__save_clicked(bool=false) { void on__test_clicked() {
QSettings s("SwissSign", "ProxySettings"); _auto.reset();
s.setValue("default-type", _type->currentIndex()); switch (_type->currentIndex()) {
s.setValue("default-server", _url->text()); case 0: try {
s.setValue("default-port", _port->value()); QNetworkProxy::setApplicationProxy
acceptValues(); (QNetworkProxy(QNetworkProxy::NoProxy));
} _auto.proxy(_testUrl->currentText());
} catch (...) {} break;
void on__clear_clicked(bool=false) { case 1: {
QSettings s("SwissSign", "ProxySettings"); QNetworkProxy::setApplicationProxy
s.clear(); (QNetworkProxy
_type->setCurrentIndex(0); (QNetworkProxy::HttpProxy, _url->text(), _port->value()));
_url->setText(""); _auto.ping(_testUrl->currentText());
_port->setValue(80); } break;
acceptValues(); case 2: {
QNetworkProxy::setApplicationProxy
(QNetworkProxy
(QNetworkProxy::Socks5Proxy, _url->text(), _port->value()));
_auto.ping(_testUrl->currentText());
} break;
}
} }
virtual void accept() { virtual void accept() {
@ -140,16 +158,21 @@ namespace gui {
_type->setCurrentIndex(_lastType); _type->setCurrentIndex(_lastType);
_url->setText(_lastUrl); _url->setText(_lastUrl);
_port->setValue(_lastPort); _port->setValue(_lastPort);
QNetworkProxy::setApplicationProxy(_lastDefaultProxy);
QDialog::reject(); QDialog::reject();
} }
private:
enum Network {SERVER_FOUND = 0, SERVER_NOT_FOUND, WAITING_FOR_SERVER};
private: private:
proxy::Face _auto; proxy::Face _auto;
QUrl _testUrl;
int _lastType; int _lastType;
QString _lastUrl; QString _lastUrl;
int _lastPort; int _lastPort;
QNetworkProxy _lastDefaultProxy;
}; };

@ -1,107 +1,123 @@
<ui version="4.0" > <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Proxy</class> <class>Proxy</class>
<widget class="QDialog" name="Proxy" > <widget class="QDialog" name="Proxy">
<property name="geometry" > <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>486</width> <width>496</width>
<height>340</height> <height>350</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="MinimumExpanding" hsizetype="MinimumExpanding" > <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="windowTitle" > <property name="windowTitle">
<string>Proxy Konfiguration</string> <string>Netzwerk Einstellungen</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2" > <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QGroupBox" name="groupBox_2" > <widget class="QGroupBox" name="groupBox_2">
<property name="title" > <property name="title">
<string>Proxy Konfiguration</string> <string>Proxy Konfiguration</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout" > <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QWidget" native="1" name="widget" > <widget class="QWidget" name="widget" native="true">
<property name="enabled" > <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QFormLayout" name="formLayout" > <layout class="QFormLayout" name="formLayout">
<item row="0" column="0" > <property name="fieldGrowthPolicy">
<widget class="QLabel" name="label_2" > <enum>QFormLayout::ExpandingFieldsGrow</enum>
<property name="text" > </property>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Typ:</string> <string>Typ:</string>
</property> </property>
<property name="buddy">
<cstring>_type</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="0" column="1" > <item row="0" column="1">
<widget class="QComboBox" name="_type" > <widget class="QComboBox" name="_type">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item> <item>
<property name="text" > <property name="text">
<string>direkt oder automatisch</string> <string>direkt oder automatisch</string>
</property> </property>
</item> </item>
<item> <item>
<property name="text" > <property name="text">
<string>HTTP</string> <string>HTTP</string>
</property> </property>
</item> </item>
<item> <item>
<property name="text" > <property name="text">
<string>Socks5</string> <string>Socks5</string>
</property> </property>
</item> </item>
</widget> </widget>
</item> </item>
<item row="1" column="0" > <item row="2" column="0">
<widget class="QLabel" name="label_14" > <widget class="QLabel" name="label_15">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Preferred" hsizetype="Minimum" > <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text" > <property name="text">
<string>URL:</string> <string>Port:</string>
</property> </property>
<property name="buddy" > <property name="buddy">
<cstring>_url</cstring> <cstring>_port</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1" > <item row="1" column="1">
<widget class="QLineEdit" name="_url" > <widget class="QLineEdit" name="_url">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" > <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" > <item row="1" column="0">
<widget class="QLabel" name="label_15" > <widget class="QLabel" name="label_14">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Preferred" hsizetype="Minimum" > <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text" > <property name="text">
<string>Port:</string> <string>Host:</string>
</property>
<property name="buddy">
<cstring>_url</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1" > <item row="2" column="1">
<widget class="QSpinBox" name="_port" > <widget class="QSpinBox" name="_port">
<property name="maximum" > <property name="maximum">
<number>10000</number> <number>10000</number>
</property> </property>
<property name="value" > <property name="value">
<number>80</number> <number>80</number>
</property> </property>
</widget> </widget>
@ -113,11 +129,190 @@
</widget> </widget>
</item> </item>
<item> <item>
<spacer> <widget class="QGroupBox" name="groupBox">
<property name="orientation" > <property name="title">
<string>Verbindung testen</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Test-URL:</string>
</property>
<property name="buddy">
<cstring>_testUrl</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="_testUrl">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editable">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>http://update.swisssign.com</string>
</property>
</item>
<item>
<property name="text">
<string>http://google.com</string>
</property>
</item>
<item>
<property name="text">
<string>http://heise.de</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QPushButton" name="_test">
<property name="text">
<string>Testen</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QStackedWidget" name="_stackInternet">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>2</number>
</property>
<widget class="QWidget" name="page_11">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_26">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;span style=&quot;color:green;font-size:x-large&quot;&gt;✔&lt;/span&gt;</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_27">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Internetverbindung vorhanden</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_12">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_28">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;span style=&quot;color:red;font-size:x-large&quot;&gt;✘&lt;/span&gt;</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_29">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Keine Internetverbindung</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="Seite_7">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="_internetWait">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;span style=&quot; font-size:x-large; color:red;&quot;&gt;?&lt;/span&gt;</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_37">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Prüfe Internetverbindung ...</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0" > <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>0</height> <height>0</height>
@ -126,56 +321,36 @@
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox" > <widget class="QCheckBox" name="_save">
<property name="title" > <property name="text">
<string>Einstellungen lokal speichern</string> <string>Einstellungen speichern</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QPushButton" name="_save" >
<property name="text" >
<string>Speichern</string>
</property>
</widget>
</item>
<item rowspan="2" row="0" column="1" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</string>
</property>
<property name="textFormat" >
<enum>Qt::PlainText</enum>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QPushButton" name="_clear" >
<property name="text" >
<string>Loeschen</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDialogButtonBox" name="_buttons" > <widget class="QDialogButtonBox" name="_buttons">
<property name="orientation" > <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="standardButtons" > <property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property> </property>
<property name="centerButtons" > <property name="centerButtons">
<bool>true</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<tabstops>
<tabstop>_type</tabstop>
<tabstop>_url</tabstop>
<tabstop>_port</tabstop>
<tabstop>_testUrl</tabstop>
<tabstop>_test</tabstop>
<tabstop>_save</tabstop>
<tabstop>_buttons</tabstop>
</tabstops>
<resources/> <resources/>
<connections> <connections>
<connection> <connection>
@ -184,11 +359,11 @@
<receiver>Proxy</receiver> <receiver>Proxy</receiver>
<slot>accept()</slot> <slot>accept()</slot>
<hints> <hints>
<hint type="sourcelabel" > <hint type="sourcelabel">
<x>338</x> <x>342</x>
<y>752</y> <y>345</y>
</hint> </hint>
<hint type="destinationlabel" > <hint type="destinationlabel">
<x>157</x> <x>157</x>
<y>274</y> <y>274</y>
</hint> </hint>
@ -200,11 +375,11 @@
<receiver>Proxy</receiver> <receiver>Proxy</receiver>
<slot>reject()</slot> <slot>reject()</slot>
<hints> <hints>
<hint type="sourcelabel" > <hint type="sourcelabel">
<x>406</x> <x>410</x>
<y>752</y> <y>345</y>
</hint> </hint>
<hint type="destinationlabel" > <hint type="destinationlabel">
<x>286</x> <x>286</x>
<y>274</y> <y>274</y>
</hint> </hint>

@ -4,72 +4,150 @@
<context> <context>
<name>Proxy</name> <name>Proxy</name>
<message> <message>
<location filename="proxy.ui" line="19"/> <location filename="proxy.ui" line="20"/>
<location filename="proxy.ui" line="25"/> <location filename="ui_proxy.hxx" line="305"/>
<location filename="ui_proxy.hxx" line="176"/> <source>Netzwerk Einstellungen</source>
<location filename="ui_proxy.hxx" line="177"/> <translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="26"/>
<location filename="ui_proxy.hxx" line="306"/>
<source>Proxy Konfiguration</source> <source>Proxy Konfiguration</source>
<translation>Proxy Einstellungen</translation> <translation>Proxy Einstellungen</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="37"/> <location filename="proxy.ui" line="41"/>
<location filename="ui_proxy.hxx" line="178"/> <location filename="ui_proxy.hxx" line="307"/>
<source>Typ:</source> <source>Typ:</source>
<translation>Typ:</translation> <translation>Typ:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="45"/> <location filename="proxy.ui" line="58"/>
<location filename="ui_proxy.hxx" line="181"/> <location filename="ui_proxy.hxx" line="310"/>
<source>direkt oder automatisch</source> <source>direkt oder automatisch</source>
<translation>automatisch</translation> <translation>automatisch</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="50"/> <location filename="proxy.ui" line="63"/>
<location filename="ui_proxy.hxx" line="182"/> <location filename="ui_proxy.hxx" line="311"/>
<source>HTTP</source> <source>HTTP</source>
<translation>HTTP</translation> <translation>HTTP</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="55"/> <location filename="proxy.ui" line="68"/>
<location filename="ui_proxy.hxx" line="183"/> <location filename="ui_proxy.hxx" line="312"/>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="69"/> <location filename="proxy.ui" line="108"/>
<location filename="ui_proxy.hxx" line="185"/> <location filename="ui_proxy.hxx" line="315"/>
<source>Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="134"/>
<location filename="ui_proxy.hxx" line="316"/>
<source>Verbindung testen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="142"/>
<location filename="ui_proxy.hxx" line="317"/>
<source>Test-URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="162"/>
<location filename="ui_proxy.hxx" line="320"/>
<source>http://update.swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="167"/>
<location filename="ui_proxy.hxx" line="321"/>
<source>http://google.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="172"/>
<location filename="ui_proxy.hxx" line="322"/>
<source>http://heise.de</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="180"/>
<location filename="ui_proxy.hxx" line="324"/>
<source>Testen</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="208"/>
<location filename="ui_proxy.hxx" line="325"/>
<source>&lt;span style=&quot;color:green;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="224"/>
<location filename="ui_proxy.hxx" line="326"/>
<source>Internetverbindung vorhanden</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="244"/>
<location filename="ui_proxy.hxx" line="327"/>
<source>&lt;span style=&quot;color:red;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="260"/>
<location filename="ui_proxy.hxx" line="328"/>
<source>Keine Internetverbindung</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="280"/>
<location filename="ui_proxy.hxx" line="329"/>
<source>&lt;span style=&quot; font-size:x-large; color:red;&quot;&gt;?&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="296"/>
<location filename="ui_proxy.hxx" line="330"/>
<source>Prüfe Internetverbindung ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="326"/>
<location filename="ui_proxy.hxx" line="331"/>
<source>Einstellungen speichern</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>URL:</source> <source>URL:</source>
<translation>Adresse:</translation> <translation type="obsolete">Adresse:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="95"/> <location filename="proxy.ui" line="82"/>
<location filename="ui_proxy.hxx" line="186"/> <location filename="ui_proxy.hxx" line="314"/>
<source>Port:</source> <source>Port:</source>
<translation>Port:</translation> <translation>Port:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="131"/>
<location filename="ui_proxy.hxx" line="187"/>
<source>Einstellungen lokal speichern</source> <source>Einstellungen lokal speichern</source>
<translation>Einstellungen lokal speichern</translation> <translation type="obsolete">Einstellungen lokal speichern</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="137"/>
<location filename="ui_proxy.hxx" line="188"/>
<source>Speichern</source> <source>Speichern</source>
<translation>Speichern</translation> <translation type="obsolete">Speichern</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="144"/>
<location filename="ui_proxy.hxx" line="189"/>
<source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source> <source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source>
<translation>Einstellungen werden nur auf diesem Computer gespeichert.</translation> <translation type="obsolete">Einstellungen werden nur auf diesem Computer gespeichert.</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="157"/>
<location filename="ui_proxy.hxx" line="190"/>
<source>Loeschen</source> <source>Loeschen</source>
<translation>Entfernen</translation> <translation type="obsolete">Entfernen</translation>
</message> </message>
</context> </context>
<context> <context>

@ -4,72 +4,150 @@
<context> <context>
<name>Proxy</name> <name>Proxy</name>
<message> <message>
<location filename="proxy.ui" line="19"/> <location filename="proxy.ui" line="20"/>
<location filename="proxy.ui" line="25"/> <location filename="ui_proxy.hxx" line="305"/>
<location filename="ui_proxy.hxx" line="176"/> <source>Netzwerk Einstellungen</source>
<location filename="ui_proxy.hxx" line="177"/> <translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="26"/>
<location filename="ui_proxy.hxx" line="306"/>
<source>Proxy Konfiguration</source> <source>Proxy Konfiguration</source>
<translation>Proxy Settings</translation> <translation>Proxy Settings</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="37"/> <location filename="proxy.ui" line="41"/>
<location filename="ui_proxy.hxx" line="178"/> <location filename="ui_proxy.hxx" line="307"/>
<source>Typ:</source> <source>Typ:</source>
<translation>Type:</translation> <translation>Type:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="45"/> <location filename="proxy.ui" line="58"/>
<location filename="ui_proxy.hxx" line="181"/> <location filename="ui_proxy.hxx" line="310"/>
<source>direkt oder automatisch</source> <source>direkt oder automatisch</source>
<translation>automatic</translation> <translation>automatic</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="50"/> <location filename="proxy.ui" line="63"/>
<location filename="ui_proxy.hxx" line="182"/> <location filename="ui_proxy.hxx" line="311"/>
<source>HTTP</source> <source>HTTP</source>
<translation>HTTP</translation> <translation>HTTP</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="55"/> <location filename="proxy.ui" line="68"/>
<location filename="ui_proxy.hxx" line="183"/> <location filename="ui_proxy.hxx" line="312"/>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="69"/> <location filename="proxy.ui" line="108"/>
<location filename="ui_proxy.hxx" line="185"/> <location filename="ui_proxy.hxx" line="315"/>
<source>Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="134"/>
<location filename="ui_proxy.hxx" line="316"/>
<source>Verbindung testen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="142"/>
<location filename="ui_proxy.hxx" line="317"/>
<source>Test-URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="162"/>
<location filename="ui_proxy.hxx" line="320"/>
<source>http://update.swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="167"/>
<location filename="ui_proxy.hxx" line="321"/>
<source>http://google.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="172"/>
<location filename="ui_proxy.hxx" line="322"/>
<source>http://heise.de</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="180"/>
<location filename="ui_proxy.hxx" line="324"/>
<source>Testen</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="208"/>
<location filename="ui_proxy.hxx" line="325"/>
<source>&lt;span style=&quot;color:green;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="224"/>
<location filename="ui_proxy.hxx" line="326"/>
<source>Internetverbindung vorhanden</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="244"/>
<location filename="ui_proxy.hxx" line="327"/>
<source>&lt;span style=&quot;color:red;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="260"/>
<location filename="ui_proxy.hxx" line="328"/>
<source>Keine Internetverbindung</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="280"/>
<location filename="ui_proxy.hxx" line="329"/>
<source>&lt;span style=&quot; font-size:x-large; color:red;&quot;&gt;?&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="296"/>
<location filename="ui_proxy.hxx" line="330"/>
<source>Prüfe Internetverbindung ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="326"/>
<location filename="ui_proxy.hxx" line="331"/>
<source>Einstellungen speichern</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>URL:</source> <source>URL:</source>
<translation>Address:</translation> <translation type="obsolete">Address:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="95"/> <location filename="proxy.ui" line="82"/>
<location filename="ui_proxy.hxx" line="186"/> <location filename="ui_proxy.hxx" line="314"/>
<source>Port:</source> <source>Port:</source>
<translation>Port:</translation> <translation>Port:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="131"/>
<location filename="ui_proxy.hxx" line="187"/>
<source>Einstellungen lokal speichern</source> <source>Einstellungen lokal speichern</source>
<translation>Save settings locally</translation> <translation type="obsolete">Save settings locally</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="137"/>
<location filename="ui_proxy.hxx" line="188"/>
<source>Speichern</source> <source>Speichern</source>
<translation>Save</translation> <translation type="obsolete">Save</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="144"/>
<location filename="ui_proxy.hxx" line="189"/>
<source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source> <source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source>
<translation>Settings will be saved on this computer only.</translation> <translation type="obsolete">Settings will be saved on this computer only.</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="157"/>
<location filename="ui_proxy.hxx" line="190"/>
<source>Loeschen</source> <source>Loeschen</source>
<translation>Remove</translation> <translation type="obsolete">Remove</translation>
</message> </message>
</context> </context>
<context> <context>

@ -4,72 +4,150 @@
<context> <context>
<name>Proxy</name> <name>Proxy</name>
<message> <message>
<location filename="proxy.ui" line="19"/> <location filename="proxy.ui" line="20"/>
<location filename="proxy.ui" line="25"/> <location filename="ui_proxy.hxx" line="305"/>
<location filename="ui_proxy.hxx" line="176"/> <source>Netzwerk Einstellungen</source>
<location filename="ui_proxy.hxx" line="177"/> <translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="26"/>
<location filename="ui_proxy.hxx" line="306"/>
<source>Proxy Konfiguration</source> <source>Proxy Konfiguration</source>
<translation>Paramétrages du Proxy</translation> <translation>Paramétrages du Proxy</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="37"/> <location filename="proxy.ui" line="41"/>
<location filename="ui_proxy.hxx" line="178"/> <location filename="ui_proxy.hxx" line="307"/>
<source>Typ:</source> <source>Typ:</source>
<translation>Type:</translation> <translation>Type:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="45"/> <location filename="proxy.ui" line="58"/>
<location filename="ui_proxy.hxx" line="181"/> <location filename="ui_proxy.hxx" line="310"/>
<source>direkt oder automatisch</source> <source>direkt oder automatisch</source>
<translation>automatique</translation> <translation>automatique</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="50"/> <location filename="proxy.ui" line="63"/>
<location filename="ui_proxy.hxx" line="182"/> <location filename="ui_proxy.hxx" line="311"/>
<source>HTTP</source> <source>HTTP</source>
<translation>HTTP</translation> <translation>HTTP</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="55"/> <location filename="proxy.ui" line="68"/>
<location filename="ui_proxy.hxx" line="183"/> <location filename="ui_proxy.hxx" line="312"/>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="69"/> <location filename="proxy.ui" line="108"/>
<location filename="ui_proxy.hxx" line="185"/> <location filename="ui_proxy.hxx" line="315"/>
<source>Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="134"/>
<location filename="ui_proxy.hxx" line="316"/>
<source>Verbindung testen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="142"/>
<location filename="ui_proxy.hxx" line="317"/>
<source>Test-URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="162"/>
<location filename="ui_proxy.hxx" line="320"/>
<source>http://update.swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="167"/>
<location filename="ui_proxy.hxx" line="321"/>
<source>http://google.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="172"/>
<location filename="ui_proxy.hxx" line="322"/>
<source>http://heise.de</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="180"/>
<location filename="ui_proxy.hxx" line="324"/>
<source>Testen</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="208"/>
<location filename="ui_proxy.hxx" line="325"/>
<source>&lt;span style=&quot;color:green;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="224"/>
<location filename="ui_proxy.hxx" line="326"/>
<source>Internetverbindung vorhanden</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="244"/>
<location filename="ui_proxy.hxx" line="327"/>
<source>&lt;span style=&quot;color:red;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="260"/>
<location filename="ui_proxy.hxx" line="328"/>
<source>Keine Internetverbindung</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="280"/>
<location filename="ui_proxy.hxx" line="329"/>
<source>&lt;span style=&quot; font-size:x-large; color:red;&quot;&gt;?&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="296"/>
<location filename="ui_proxy.hxx" line="330"/>
<source>Prüfe Internetverbindung ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="326"/>
<location filename="ui_proxy.hxx" line="331"/>
<source>Einstellungen speichern</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>URL:</source> <source>URL:</source>
<translation>Adresse:</translation> <translation type="obsolete">Adresse:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="95"/> <location filename="proxy.ui" line="82"/>
<location filename="ui_proxy.hxx" line="186"/> <location filename="ui_proxy.hxx" line="314"/>
<source>Port:</source> <source>Port:</source>
<translation>Port:</translation> <translation>Port:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="131"/>
<location filename="ui_proxy.hxx" line="187"/>
<source>Einstellungen lokal speichern</source> <source>Einstellungen lokal speichern</source>
<translation>Enregistrer les paramètres localement</translation> <translation type="obsolete">Enregistrer les paramètres localement</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="137"/>
<location filename="ui_proxy.hxx" line="188"/>
<source>Speichern</source> <source>Speichern</source>
<translation>Salve</translation> <translation type="obsolete">Salve</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="144"/>
<location filename="ui_proxy.hxx" line="189"/>
<source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source> <source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source>
<translation>Les paramètres seront enregistre seulement sur cet ordinateur.</translation> <translation type="obsolete">Les paramètres seront enregistre seulement sur cet ordinateur.</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="157"/>
<location filename="ui_proxy.hxx" line="190"/>
<source>Loeschen</source> <source>Loeschen</source>
<translation>Enlever</translation> <translation type="obsolete">Enlever</translation>
</message> </message>
</context> </context>
<context> <context>

@ -4,72 +4,150 @@
<context> <context>
<name>Proxy</name> <name>Proxy</name>
<message> <message>
<location filename="proxy.ui" line="19"/> <location filename="proxy.ui" line="20"/>
<location filename="proxy.ui" line="25"/> <location filename="ui_proxy.hxx" line="305"/>
<location filename="ui_proxy.hxx" line="176"/> <source>Netzwerk Einstellungen</source>
<location filename="ui_proxy.hxx" line="177"/> <translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="26"/>
<location filename="ui_proxy.hxx" line="306"/>
<source>Proxy Konfiguration</source> <source>Proxy Konfiguration</source>
<translation>Impostazioni proxy</translation> <translation>Impostazioni proxy</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="37"/> <location filename="proxy.ui" line="41"/>
<location filename="ui_proxy.hxx" line="178"/> <location filename="ui_proxy.hxx" line="307"/>
<source>Typ:</source> <source>Typ:</source>
<translation>Typo:</translation> <translation>Typo:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="45"/> <location filename="proxy.ui" line="58"/>
<location filename="ui_proxy.hxx" line="181"/> <location filename="ui_proxy.hxx" line="310"/>
<source>direkt oder automatisch</source> <source>direkt oder automatisch</source>
<translation>automatico</translation> <translation>automatico</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="50"/> <location filename="proxy.ui" line="63"/>
<location filename="ui_proxy.hxx" line="182"/> <location filename="ui_proxy.hxx" line="311"/>
<source>HTTP</source> <source>HTTP</source>
<translation>HTTP</translation> <translation>HTTP</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="55"/> <location filename="proxy.ui" line="68"/>
<location filename="ui_proxy.hxx" line="183"/> <location filename="ui_proxy.hxx" line="312"/>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="69"/> <location filename="proxy.ui" line="108"/>
<location filename="ui_proxy.hxx" line="185"/> <location filename="ui_proxy.hxx" line="315"/>
<source>Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="134"/>
<location filename="ui_proxy.hxx" line="316"/>
<source>Verbindung testen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="142"/>
<location filename="ui_proxy.hxx" line="317"/>
<source>Test-URL:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="162"/>
<location filename="ui_proxy.hxx" line="320"/>
<source>http://update.swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="167"/>
<location filename="ui_proxy.hxx" line="321"/>
<source>http://google.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="172"/>
<location filename="ui_proxy.hxx" line="322"/>
<source>http://heise.de</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="180"/>
<location filename="ui_proxy.hxx" line="324"/>
<source>Testen</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="208"/>
<location filename="ui_proxy.hxx" line="325"/>
<source>&lt;span style=&quot;color:green;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="224"/>
<location filename="ui_proxy.hxx" line="326"/>
<source>Internetverbindung vorhanden</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="244"/>
<location filename="ui_proxy.hxx" line="327"/>
<source>&lt;span style=&quot;color:red;font-size:x-large&quot;&gt;&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="260"/>
<location filename="ui_proxy.hxx" line="328"/>
<source>Keine Internetverbindung</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="280"/>
<location filename="ui_proxy.hxx" line="329"/>
<source>&lt;span style=&quot; font-size:x-large; color:red;&quot;&gt;?&lt;/span&gt;</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
<location filename="proxy.ui" line="296"/>
<location filename="ui_proxy.hxx" line="330"/>
<source>Prüfe Internetverbindung ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="proxy.ui" line="326"/>
<location filename="ui_proxy.hxx" line="331"/>
<source>Einstellungen speichern</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>URL:</source> <source>URL:</source>
<translation>Indirizzo:</translation> <translation type="obsolete">Indirizzo:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="95"/> <location filename="proxy.ui" line="82"/>
<location filename="ui_proxy.hxx" line="186"/> <location filename="ui_proxy.hxx" line="314"/>
<source>Port:</source> <source>Port:</source>
<translation>Porta:</translation> <translation>Porta:</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="131"/>
<location filename="ui_proxy.hxx" line="187"/>
<source>Einstellungen lokal speichern</source> <source>Einstellungen lokal speichern</source>
<translation>Salvare i parametri localmente</translation> <translation type="obsolete">Salvare i parametri localmente</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="137"/>
<location filename="ui_proxy.hxx" line="188"/>
<source>Speichern</source> <source>Speichern</source>
<translation>Salve</translation> <translation type="obsolete">Salve</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="144"/>
<location filename="ui_proxy.hxx" line="189"/>
<source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source> <source>Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt.</source>
<translation>I parametri verranno salvati solo su questo computer.</translation> <translation type="obsolete">I parametri verranno salvati solo su questo computer.</translation>
</message> </message>
<message> <message>
<location filename="proxy.ui" line="157"/>
<location filename="ui_proxy.hxx" line="190"/>
<source>Loeschen</source> <source>Loeschen</source>
<translation>Eliminazione</translation> <translation type="obsolete">Eliminazione</translation>
</message> </message>
</context> </context>
<context> <context>

@ -25,8 +25,9 @@ namespace proxy {
//! Implemented using M$ WinHTTP //! Implemented using M$ WinHTTP
virtual List proxies(const std::string& url) { virtual List proxies(const std::string& url) {
List res; List res;
WINHTTP_PROXY_INFO proxyInfo; WINHTTP_PROXY_INFO proxyInfo;
ZeroMemory(&proxyInfo, sizeof(proxyInfo)); ZeroMemory(&proxyInfo, sizeof(proxyInfo));
HINTERNET hHttpSession(WinHttpOpen(L"WinHTTP AutoProxy/1.0", HINTERNET hHttpSession(WinHttpOpen(L"WinHTTP AutoProxy/1.0",
@ -45,7 +46,8 @@ namespace proxy {
AutoProxyOptions.fAutoLogonIfChallenged = FALSE; AutoProxyOptions.fAutoLogonIfChallenged = FALSE;
if (!WinHttpGetProxyForUrl(hHttpSession, if (!WinHttpGetProxyForUrl(hHttpSession,
std::wstring(url.begin(), url.end()).data(), std::wstring(url.begin(),
url.end()).data(),
&AutoProxyOptions, &proxyInfo)) &AutoProxyOptions, &proxyInfo))
throw exc::error(); throw exc::error();
@ -80,6 +82,7 @@ namespace proxy {
if (hHttpSession) WinHttpCloseHandle(hHttpSession); if (hHttpSession) WinHttpCloseHandle(hHttpSession);
if (!res.size()) res.push_back(Proxy()); // try direct acces if (!res.size()) res.push_back(Proxy()); // try direct acces
} }
return res; return res;
} }
}; };

Loading…
Cancel
Save