From 56c94548c0b901c298beea0613d9f7a3208d6c77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Tue, 17 Mar 2009 10:12:34 +0000 Subject: [PATCH] with new proxy dialog --- makefile.am | 3 +- proxyface/gui/proxy.hxx | 89 +++++++++++++++++ proxyface/gui/proxy.ui | 214 ++++++++++++++++++++++++++++++++++++++++ proxyface/qmake.pro | 21 ++++ 4 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 proxyface/gui/proxy.hxx create mode 100644 proxyface/gui/proxy.ui create mode 100644 proxyface/qmake.pro diff --git a/makefile.am b/makefile.am index d79d724..0bf4f99 100644 --- a/makefile.am +++ b/makefile.am @@ -1,4 +1,5 @@ -nobase_include_HEADERS = autoproxy.hxx proxyface/unix.hxx proxyface/windoze.hxx +nobase_include_HEADERS = autoproxy.hxx proxyface/unix.hxx \ + proxyface/windoze.hxx proxyface/gui/proxy.hxx MAINTAINERCLEANFILES = configure makefile.in ltmain.sh missing \ aclocal.m4 install-sh diff --git a/proxyface/gui/proxy.hxx b/proxyface/gui/proxy.hxx new file mode 100644 index 0000000..fea6e7b --- /dev/null +++ b/proxyface/gui/proxy.hxx @@ -0,0 +1,89 @@ +/*! @file + + @id $Id$ +*/ +// 1 2 3 4 5 6 7 8 +// 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +#ifndef PROXY_HXX +#define PROXY_HXX + +#include +#include +#include +#include +#include + +#include + +class Proxy: public QDialog, private Ui::Proxy { + + Q_OBJECT + + public: + + Proxy(QWidget* p=0): QDialog(p) { + setupUi(this); + QSettings s("SwissSign", "ProxySettings"); + _type->setCurrentIndex(s.value("default-type", 0).toInt()); + _url->setText(s.value("default-server", QString()).toString()); + _port->setValue(s.value("default-port", 80).toInt()); + accept(); + } + + public: + + void acceptValues() { + QNetworkProxy::ProxyType type(QNetworkProxy::NoProxy); + switch (_type->currentIndex()) { + case 0: type=QNetworkProxy::HttpProxy; break; + case 1: type=QNetworkProxy::Socks5Proxy; break; + } + QNetworkProxy::setApplicationProxy + (QNetworkProxy(type, _url->text(), _port->value())); + qDebug()<<"Proxy:" + <<(QNetworkProxy::applicationProxy().type() + ==QNetworkProxy::NoProxy + ?trUtf8("Kein Proxy") + :QNetworkProxy::applicationProxy().type() + ==QNetworkProxy::HttpProxy + ?trUtf8("HTTP:") + :QNetworkProxy::applicationProxy().type() + ==QNetworkProxy::Socks5Proxy + ?trUtf8("Socks5Proxy:") + :trUtf8("System")) + <<(QNetworkProxy::applicationProxy().type() + ==QNetworkProxy::NoProxy || + QNetworkProxy::applicationProxy().type() + ==QNetworkProxy::DefaultProxy + ?QString() + :trUtf8("%1:%2", "proxy host/port") + .arg(QNetworkProxy::applicationProxy().hostName()) + .arg(QNetworkProxy::applicationProxy().port())); + } + + public Q_SLOTS: + + void on__save_clicked(bool=false) { + s.setValue("default-type", _type->currentIndex()); + s.setValue("default-server", _url->text()); + s.setValue("default-port", _port->value()); + acceptValues(); + } + + void on__clear_clicked(bool=false) { + s.clear(); + _type->setCurrentIndex(0); + _url->setText(""); + _port->setValue(80); + acceptValues(); + } + + virtual void accept() { + acceptValues(); + QDialog::accept(); + } + +}; + +#endif diff --git a/proxyface/gui/proxy.ui b/proxyface/gui/proxy.ui new file mode 100644 index 0000000..dfa8803 --- /dev/null +++ b/proxyface/gui/proxy.ui @@ -0,0 +1,214 @@ + + Proxy + + + + 0 + 0 + 486 + 340 + + + + + 0 + 0 + + + + Proxy Konfiguration + + + + + + Proxy Konfiguration + + + + + + true + + + + + + Typ: + + + + + + + + direkt oder automatisch + + + + + HTTP + + + + + Socks5 + + + + + + + + + 0 + 0 + + + + URL: + + + _url + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Port: + + + + + + + 10000 + + + 80 + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 0 + + + + + + + + Einstellungen lokal speichern + + + + + + Speichern + + + + + + + Wenn Sie die Einstellungen speichern, werden sie auf diesem Computer in Ihrem Profil abgelegt. + + + Qt::PlainText + + + true + + + + + + + Löschen + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + true + + + + + + + + + _buttons + accepted() + Proxy + accept() + + + 338 + 752 + + + 157 + 274 + + + + + _buttons + rejected() + Proxy + reject() + + + 406 + 752 + + + 286 + 274 + + + + + diff --git a/proxyface/qmake.pro b/proxyface/qmake.pro new file mode 100644 index 0000000..6bff9e2 --- /dev/null +++ b/proxyface/qmake.pro @@ -0,0 +1,21 @@ +win32 { + QMAKE_INCDIR += ${HOME}/.wine/drive_c/MicrosoftSDK/include + QMAKE_LIBS += winhttp.a +} +unix { + QMAKE_LIBS += proxy dl +} +macx { + QMAKE_LIBS += proxy dl + QMAKE_INCDIR += /opt/local/include + QMAKE_LIBDIR += /opt/local/lib + CONFIG += x86 +} +FORMS = proxyface/gui/proxy.ui +HEADERS = proxyface/unix.hxx proxyface/windoze.hxx \ + proxyface/gui/proxy.hxx \ + autoproxy.hxx +CONFIG += release +QT += network +TEMPLATE = lib +TARGET = proxyface