some slots are disfunctional; refs #13 closes #15

master
Marc Wäckerlin 15 years ago
parent cada2da8b6
commit 4bdf7810b0
  1. 51
      qt/patch/qt-sources-patch.diff
  2. 659
      swisssurfer/src/browser.hxx
  3. 79
      swisssurfer/src/browser.ui
  4. 30
      swisssurfer/src/smartcardauth.cxx
  5. 8
      swisssurfer/src/smartcardauth.hxx
  6. 230
      swisssurfer/src/swisssurfer_de.ts
  7. 230
      swisssurfer/src/swisssurfer_en.ts
  8. 230
      swisssurfer/src/swisssurfer_fr.ts
  9. 230
      swisssurfer/src/swisssurfer_it.ts

@ -1,17 +1,26 @@
diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnectionchannel.cpp
--- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel.cpp 2010-06-02 04:03:17.000000000 +0200
+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnectionchannel.cpp 2011-01-13 17:44:14.984841004 +0100
@@ -130,6 +130,9 @@
@@ -46,6 +46,8 @@
#include <qpair.h>
#include <qdebug.h>
+#include <cassert>
+
#ifndef QT_NO_HTTP
#ifndef QT_NO_OPENSSL
@@ -130,6 +132,9 @@
QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)),
this, SLOT(_q_encryptedBytesWritten(qint64)),
Qt::DirectConnection);
+ QObject::connect(sslSocket, SIGNAL(extendedContextInitialization(ssl_ctx_st*)),
+ assert(QObject::connect(sslSocket, SIGNAL(extendedContextInitialization(ssl_ctx_st*)),
+ this, SLOT(_q_extendedContextInitialization(ssl_ctx_st*)),
+ Qt::DirectConnection);
+ Qt::DirectConnection));
}
#endif
}
@@ -1019,6 +1022,13 @@
@@ -1019,6 +1024,13 @@
emit connection->sslErrors(errors);
}
@ -89,31 +98,49 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkacce
QT_BEGIN_NAMESPACE
class QAuthenticator;
@@ -185,7 +189,8 @@
@@ -185,7 +189,7 @@
void redirectionRequested(const QUrl &destination);
void sslErrors(const QList<QSslError> &errors);
void emitReplyUploadProgress(qint64 bytesSent, qint64 bytesTotal);
-
+ void extendedContextInitialization(ssl_ctx_st* ctx);
private:
friend class QNetworkAccessManager;
friend class QNetworkAccessManagerPrivate;
diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccesshttpbackend.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccesshttpbackend.cpp
--- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccesshttpbackend.cpp 2010-06-02 04:03:17.000000000 +0200
+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccesshttpbackend.cpp 2011-01-13 17:31:39.044840998 +0100
@@ -349,6 +349,8 @@
@@ -52,6 +52,8 @@
#include "QtCore/qdatetime.h"
#include "QtNetwork/qsslconfiguration.h"
+#include <cassert>
+
#ifndef QT_NO_HTTP
#include <string.h> // for strchr
@@ -349,6 +351,8 @@
#ifndef QT_NO_OPENSSL
connect(http, SIGNAL(sslErrors(QList<QSslError>)),
SLOT(sslErrors(QList<QSslError>)));
+ connect(http, SIGNAL(extendedContextInitialization(ssl_ctx_st*)),
+ SLOT(extendedContextInitialization(ssl_ctx_st*)));
+ assert(connect(http, SIGNAL(extendedContextInitialization(ssl_ctx_st*)),
+ SLOT(extendedContextInitialization(ssl_ctx_st*))));
#endif
}
diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager.cpp
--- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.cpp 2010-06-02 04:03:17.000000000 +0200
+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager.cpp 2011-01-13 17:31:56.404841001 +0100
@@ -777,6 +777,16 @@
@@ -60,6 +60,8 @@
#include "QtNetwork/qauthenticator.h"
#include "QtNetwork/qsslconfiguration.h"
+#include <cassert>
+
QT_BEGIN_NAMESPACE
#ifndef QT_NO_HTTP
@@ -777,6 +779,16 @@
#endif
}
@ -130,11 +157,11 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkacce
QNetworkReply *QNetworkAccessManagerPrivate::postProcess(QNetworkReply *reply)
{
Q_Q(QNetworkAccessManager);
@@ -786,6 +796,7 @@
@@ -786,6 +798,7 @@
/* In case we're compiled without SSL support, we don't have this signal and we need to
* avoid getting a connection error. */
q->connect(reply, SIGNAL(sslErrors(QList<QSslError>)), SLOT(_q_replySslErrors(QList<QSslError>)));
+ q->connect(reply, SIGNAL(extendedContextInitialization(ssl_ctx_st*)), SLOT(_q_extendedContextInitialization(ssl_ctx_st*)));
+ assert(q->connect(reply, SIGNAL(extendedContextInitialization(ssl_ctx_st*)), SLOT(_q_extendedContextInitialization(ssl_ctx_st*))));
#endif
return reply;

@ -17,6 +17,9 @@
#include <QtGui/QPrinter>
#include <QtGui/QPrintDialog>
#include <QtGui/QPrintPreviewDialog>
#include <QtWebKit/QWebPage>
#include <QtWebKit/QWebView>
#include <QtWebKit/QWebFrame>
#include <QtWebKit/QWebHistory>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QNetworkAccessManager>
@ -42,9 +45,6 @@ class SslClientAuthNetworkAccessManager: public QNetworkAccessManager {
SslClientAuthNetworkAccessManager(QObject* parent = 0):
QNetworkAccessManager(parent) {
LOG;
assert
(connect(this, SIGNAL(extendedContextInitialization(ssl_ctx_st*)),
&_scAuth, SLOT(extendedContextInitialization(ssl_ctx_st*))));
}
virtual ~SslClientAuthNetworkAccessManager() {
@ -72,7 +72,8 @@ class Browser: public QMainWindow, protected Ui::Browser {
public:
Browser(const QString& url, bool kiosk = false, bool proxydetection = false):
Browser(const QString& url, bool kiosk = false,
bool proxydetection = false):
_url(0), _home(url), _proxy(0),
_kiosk(kiosk) {
LOG<<url;
@ -80,6 +81,7 @@ class Browser: public QMainWindow, protected Ui::Browser {
throw std::runtime_error(tr("access to URL %1 not allowed")
.arg(url).toStdString());
setupUi(this);
on_actionNewTab_triggered();
actionProxySettings->setEnabled(proxydetection);
if (proxydetection) {
_proxy = new gui::Proxy(url, this);
@ -97,6 +99,12 @@ class Browser: public QMainWindow, protected Ui::Browser {
_toolbar->addWidget(_url = new QLineEdit(_toolbar));
_url->setText(url);
assert(connect(_url, SIGNAL(returnPressed()), SLOT(load())));
assert(connect(&_networkManager,
SIGNAL(extendedContextInitialization(ssl_ctx_st*,
QSslSocket*)),
&_scAuth,
SLOT(extendedContextInitialization(ssl_ctx_st*,
QSslSocket*))));
if (_kiosk) {
_menu->hide();
_url->setEnabled(false);
@ -107,248 +115,6 @@ class Browser: public QMainWindow, protected Ui::Browser {
_zoom->setMaximum(100);
_zoom->setValue(10);
assert(connect(_zoom, SIGNAL(valueChanged(int)), SLOT(zoom(int))));
_browser->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
_browser->page()->setNetworkAccessManager
(new SslClientAuthNetworkAccessManager);
// QWebPage WebAction
connect(_browser->pageAction(QWebPage::OpenLink),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenLink(bool)));
connect(_browser->pageAction(QWebPage::OpenLinkInNewWindow),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenLinkInNewWindow(bool)));
connect(_browser->pageAction(QWebPage::OpenFrameInNewWindow),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenFrameInNewWindow(bool)));
connect(_browser->pageAction(QWebPage::DownloadLinkToDisk),
SIGNAL(triggered(bool)),
SLOT(triggeredDownloadLinkToDisk(bool)));
connect(_browser->pageAction(QWebPage::CopyLinkToClipboard),
SIGNAL(triggered(bool)),
SLOT(triggeredCopyLinkToClipboard(bool)));
connect(_browser->pageAction(QWebPage::OpenImageInNewWindow),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenImageInNewWindow(bool)));
connect(_browser->pageAction(QWebPage::DownloadImageToDisk),
SIGNAL(triggered(bool)),
SLOT(triggeredDownloadImageToDisk(bool)));
connect(_browser->pageAction(QWebPage::CopyImageToClipboard),
SIGNAL(triggered(bool)),
SLOT(triggeredCopyImageToClipboard(bool)));
connect(_browser->pageAction(QWebPage::Back),
SIGNAL(triggered(bool)),
SLOT(triggeredBack(bool)));
connect(_browser->pageAction(QWebPage::Forward),
SIGNAL(triggered(bool)),
SLOT(triggeredForward(bool)));
connect(_browser->pageAction(QWebPage::Stop),
SIGNAL(triggered(bool)),
SLOT(triggeredStop(bool)));
connect(_browser->pageAction(QWebPage::Reload),
SIGNAL(triggered(bool)),
SLOT(triggeredReload(bool)));
connect(_browser->pageAction(QWebPage::Cut),
SIGNAL(triggered(bool)),
SLOT(triggeredCut(bool)));
connect(_browser->pageAction(QWebPage::Copy),
SIGNAL(triggered(bool)),
SLOT(triggeredCopy(bool)));
connect(_browser->pageAction(QWebPage::Paste),
SIGNAL(triggered(bool)),
SLOT(triggeredPaste(bool)));
connect(_browser->pageAction(QWebPage::Undo),
SIGNAL(triggered(bool)),
SLOT(triggeredUndo(bool)));
connect(_browser->pageAction(QWebPage::Redo),
SIGNAL(triggered(bool)),
SLOT(triggeredRedo(bool)));
connect(_browser->pageAction(QWebPage::MoveToNextChar),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToNextChar(bool)));
connect(_browser->pageAction(QWebPage::MoveToPreviousChar),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToPreviousChar(bool)));
connect(_browser->pageAction(QWebPage::MoveToNextWord),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToNextWord(bool)));
connect(_browser->pageAction(QWebPage::MoveToPreviousWord),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToPreviousWord(bool)));
connect(_browser->pageAction(QWebPage::MoveToNextLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToNextLine(bool)));
connect(_browser->pageAction(QWebPage::MoveToPreviousLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToPreviousLine(bool)));
connect(_browser->pageAction(QWebPage::MoveToStartOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToStartOfLine(bool)));
connect(_browser->pageAction(QWebPage::MoveToEndOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToEndOfLine(bool)));
connect(_browser->pageAction(QWebPage::MoveToStartOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToStartOfBlock(bool)));
connect(_browser->pageAction(QWebPage::MoveToEndOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToEndOfBlock(bool)));
connect(_browser->pageAction(QWebPage::MoveToStartOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToStartOfDocument(bool)));
connect(_browser->pageAction(QWebPage::MoveToEndOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToEndOfDocument(bool)));
connect(_browser->pageAction(QWebPage::SelectNextChar),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectNextChar(bool)));
connect(_browser->pageAction(QWebPage::SelectPreviousChar),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectPreviousChar(bool)));
connect(_browser->pageAction(QWebPage::SelectNextWord),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectNextWord(bool)));
connect(_browser->pageAction(QWebPage::SelectPreviousWord),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectPreviousWord(bool)));
connect(_browser->pageAction(QWebPage::SelectNextLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectNextLine(bool)));
connect(_browser->pageAction(QWebPage::SelectPreviousLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectPreviousLine(bool)));
connect(_browser->pageAction(QWebPage::SelectStartOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectStartOfLine(bool)));
connect(_browser->pageAction(QWebPage::SelectEndOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectEndOfLine(bool)));
connect(_browser->pageAction(QWebPage::SelectStartOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectStartOfBlock(bool)));
connect(_browser->pageAction(QWebPage::SelectEndOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectEndOfBlock(bool)));
connect(_browser->pageAction(QWebPage::SelectStartOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectStartOfDocument(bool)));
connect(_browser->pageAction(QWebPage::SelectEndOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectEndOfDocument(bool)));
connect(_browser->pageAction(QWebPage::DeleteStartOfWord),
SIGNAL(triggered(bool)),
SLOT(triggeredDeleteStartOfWord(bool)));
connect(_browser->pageAction(QWebPage::DeleteEndOfWord),
SIGNAL(triggered(bool)),
SLOT(triggeredDeleteEndOfWord(bool)));
connect(_browser->pageAction(QWebPage::SetTextDirectionDefault),
SIGNAL(triggered(bool)),
SLOT(triggeredSetTextDirectionDefault(bool)));
connect(_browser->pageAction(QWebPage::SetTextDirectionLeftToRight),
SIGNAL(triggered(bool)),
SLOT(triggeredSetTextDirectionLeftToRight(bool)));
connect(_browser->pageAction(QWebPage::SetTextDirectionRightToLeft),
SIGNAL(triggered(bool)),
SLOT(triggeredSetTextDirectionRightToLeft(bool)));
connect(_browser->pageAction(QWebPage::ToggleBold),
SIGNAL(triggered(bool)),
SLOT(triggeredToggleBold(bool)));
connect(_browser->pageAction(QWebPage::ToggleItalic),
SIGNAL(triggered(bool)),
SLOT(triggeredToggleItalic(bool)));
connect(_browser->pageAction(QWebPage::ToggleUnderline),
SIGNAL(triggered(bool)),
SLOT(triggeredToggleUnderline(bool)));
connect(_browser->pageAction(QWebPage::InspectElement),
SIGNAL(triggered(bool)),
SLOT(triggeredInspectElement(bool)));
connect(_browser->pageAction(QWebPage::InsertParagraphSeparator),
SIGNAL(triggered(bool)),
SLOT(triggeredInsertParagraphSeparator(bool)));
connect(_browser->pageAction(QWebPage::InsertLineSeparator),
SIGNAL(triggered(bool)),
SLOT(triggeredInsertLineSeparator(bool)));
connect(_browser->pageAction(QWebPage::SelectAll),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectAll(bool)));
// QWebPage
assert(connect(_browser->page(), SIGNAL(contentsChanged()),
SLOT(contentsChanged())));
assert(connect(_browser->page(),
SIGNAL(databaseQuotaExceeded(QWebFrame*, QString)),
SLOT(databaseQuotaExceeded(QWebFrame*, QString))));
assert(connect(_browser->page(),
SIGNAL(downloadRequested(const QNetworkRequest&)),
SLOT(downloadRequested(const QNetworkRequest&))));
assert(connect(_browser->page(), SIGNAL(frameCreated(QWebFrame*)),
SLOT(frameCreated(QWebFrame*))));
assert(connect(_browser->page(),
SIGNAL(geometryChangeRequested(const QRect&)),
SLOT(geometryChangeRequested(const QRect&))));
assert(connect(_browser->page(), SIGNAL(linkClicked(const QUrl&)),
SLOT(linkClicked(const QUrl&))));
assert(connect(_browser->page(),
SIGNAL(linkHovered(const QString&, const QString&,
const QString&)),
SLOT(linkHovered(const QString&, const QString&,
const QString&))));
assert(connect(_browser->page(), SIGNAL(loadFinished(bool)),
SLOT(loadFinished(bool))));
assert(connect(_browser->page(), SIGNAL(loadProgress(int)),
SLOT(loadProgress(int))));
assert(connect(_browser->page(), SIGNAL(loadStarted()),
SLOT(loadStarted())));
assert(connect(_browser->page(),
SIGNAL(menuBarVisibilityChangeRequested(bool)),
SLOT(menuBarVisibilityChangeRequested(bool))));
assert(connect(_browser->page(), SIGNAL(microFocusChanged()),
SLOT(microFocusChanged())));
assert(connect(_browser->page(), SIGNAL(printRequested(QWebFrame*)),
SLOT(printRequested(QWebFrame*))));
assert(connect(_browser->page(), SIGNAL(repaintRequested(const QRect&)),
SLOT(repaintRequested(const QRect&))));
assert(connect(_browser->page(),
SIGNAL(restoreFrameStateRequested(QWebFrame*)),
SLOT(restoreFrameStateRequested(QWebFrame*))));
assert(connect(_browser->page(),
SIGNAL(saveFrameStateRequested(QWebFrame*,
QWebHistoryItem*)),
SLOT(saveFrameStateRequested(QWebFrame*,
QWebHistoryItem*))));
assert(connect(_browser->page(),
SIGNAL(scrollRequested(int, int, const QRect&)),
SLOT(scrollRequested(int, int, const QRect&))));
assert(connect(_browser->page(), SIGNAL(selectionChanged()),
SLOT(selectionChanged())));
assert(connect(_browser->page(), SIGNAL(statusBarMessage(const QString&)),
SLOT(statusBarMessage(const QString&))));
assert(connect(_browser->page(),
SIGNAL(statusBarVisibilityChangeRequested(bool)),
SLOT(statusBarVisibilityChangeRequested(bool))));
assert(connect(_browser->page(),
SIGNAL(toolBarVisibilityChangeRequested(bool)),
SLOT(toolBarVisibilityChangeRequested(bool))));
assert(connect(_browser->page(),
SIGNAL(unsupportedContent(QNetworkReply*)),
SLOT(unsupportedContent(QNetworkReply*))));
assert(connect(_browser->page(), SIGNAL(windowCloseRequested()),
SLOT(windowCloseRequested())));
// QNetworkAccessManager
assert(connect(_browser->page()->networkAccessManager(),
SIGNAL(authenticationRequired(QNetworkReply*,
QAuthenticator*)),
SLOT(authenticationRequired(QNetworkReply*,
QAuthenticator*))));
assert(connect(_browser->page()->networkAccessManager(),
SIGNAL(finished(QNetworkReply*)),
SLOT(finished(QNetworkReply*))));
assert(connect(_browser->page()->networkAccessManager(),
SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&,
QAuthenticator*)),
SLOT(proxyAuthenticationRequired(const QNetworkProxy&,
QAuthenticator*))));
assert(connect(_browser->page()->networkAccessManager(),
SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&))));
load(url);
}
@ -480,7 +246,7 @@ class Browser: public QMainWindow, protected Ui::Browser {
return;
}
//if (url.scheme()=="") url.setScheme("http");
_browser->load(url);
dynamic_cast<QWebView*>(_tabs->currentWidget())->load(url);
}
void reply_error(QNetworkReply::NetworkError err) {
@ -510,13 +276,13 @@ class Browser: public QMainWindow, protected Ui::Browser {
_error = tr("<h2>%1</h2><p>%2</p>")
.arg(tr("Connection Cannot Be Established"))
.arg(networkError(err)) + _error;
on__browser_loadFinished(false);
// on__browser_loadFinished(false); //! @todo
}
void zoom(int i) {
LOG<<100.0*i/10.0;
statusBar()->showMessage(tr("Zoom: %1%").arg(100.0*i/10.0));
_browser->setZoomFactor(i/10.0);
dynamic_cast<QWebView*>(_tabs->currentWidget())->setZoomFactor(i/10.0);
}
void on_actionHome_activated() {
@ -524,90 +290,343 @@ class Browser: public QMainWindow, protected Ui::Browser {
load(_home);
}
void on__browser_urlChanged(const QUrl& url) {
LOG<<url.toString();
if (_url) _url->setText(url.toString());
}
// void on__browser_urlChanged(const QUrl& url) { //!@todo
// LOG<<url.toString();
// if (_url) _url->setText(url.toString());
// }
void on__browser_linkClicked(const QUrl& url) {
LOG<<url.toString();
load(url);
}
// void on__browser_linkClicked(const QUrl& url) { //!@todo
// LOG<<url.toString();
// load(url);
// }
void on__browser_iconChanged() {
LOG;
setWindowIcon(_browser->icon());
}
void on__browser_titleChanged(const QString& text) {
LOG<<text;
setWindowTitle(trUtf8("%1 - SwissSurfer").arg(text));
}
void on__browser_statusBarMessage(const QString& text) {
LOG<<text;
qDebug()<<"Message: "<<text;
if (text.size()) statusBar()->showMessage(tr("Info: %1").arg(text));
}
void on__browser_loadProgress(int i) {
LOG<<i;
_progress->setValue(i);
}
// void on__browser_iconChanged() { //!@todo
// LOG;
// setWindowIcon(_browser->icon());
// }
// void on__browser_titleChanged(const QString& text) { //!@todo
// LOG<<text;
// setWindowTitle(trUtf8("%1 - SwissSurfer").arg(text));
// }
// void on__browser_statusBarMessage(const QString& text) { //!@todo
// LOG<<text;
// qDebug()<<"Message: "<<text;
// if (text.size()) statusBar()->showMessage(tr("Info: %1").arg(text));
// }
// void on__browser_loadProgress(int i) {
// LOG<<i;
// _progress->setValue(i);
// }
// void on__browser_loadStarted() {
// LOG;
// _progress->setValue(0);
// _progress->setMaximum(100);
// _progress->show();
// actionStop->setEnabled(true);
// actionForward->setEnabled(false);
// actionBack->setEnabled(false);
// actionReload->setEnabled(false);
// actionHome->setEnabled(false);
// }
// void on__browser_loadFinished(bool ok) {
// LOG<<(ok?"success":"error");
// if (!ok) {
// _browser->setHtml(tr("<html><title>Page Load Error</title>"
// "<body><h1>Page Load Error</h1>%1"
// "</body></html>")
// .arg(_error),
// _errorUrl);
// statusBar()->showMessage(tr("download error"));
// } else {
// statusBar()->showMessage(tr("done."));
// }
// _error.clear();
// _progress->hide();
// on__browser_iconChanged();
// actionStop->setEnabled(false);
// actionForward->setEnabled(_browser->history()->canGoForward());
// actionBack->setEnabled(_browser->history()->canGoBack());
// actionReload->setEnabled(true);
// actionHome->setEnabled(true);
// }
// //!@todo ^^^
// void on_actionNew_triggered() { //@!todo exec new process
// LOG;
// (new Browser(dynamic_cast<QWebView*>(_tabs->currentWidget())->url().toString(), _kiosk, false))->show();
// }
void on__browser_loadStarted() {
LOG;
_progress->setValue(0);
_progress->setMaximum(100);
_progress->show();
actionStop->setEnabled(true);
actionForward->setEnabled(false);
actionBack->setEnabled(false);
actionReload->setEnabled(false);
actionHome->setEnabled(false);
}
void on__browser_loadFinished(bool ok) {
LOG<<(ok?"success":"error");
if (!ok) {
_browser->setHtml(tr("<html><title>Page Load Error</title>"
"<body><h1>Page Load Error</h1>%1"
"</body></html>")
.arg(_error),
_errorUrl);
statusBar()->showMessage(tr("download error"));
} else {
statusBar()->showMessage(tr("done."));
}
_error.clear();
_progress->hide();
on__browser_iconChanged();
actionStop->setEnabled(false);
actionForward->setEnabled(_browser->history()->canGoForward());
actionBack->setEnabled(_browser->history()->canGoBack());
actionReload->setEnabled(true);
actionHome->setEnabled(true);
void on_actionNewTab_triggered() {
QWebView* browser(new QWebView);
browser->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
browser->page()->setNetworkAccessManager(&_networkManager);
// QWebPage WebAction
connect(browser->pageAction(QWebPage::OpenLink),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenLink(bool)));
connect(browser->pageAction(QWebPage::OpenLinkInNewWindow),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenLinkInNewWindow(bool)));
connect(browser->pageAction(QWebPage::OpenFrameInNewWindow),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenFrameInNewWindow(bool)));
connect(browser->pageAction(QWebPage::DownloadLinkToDisk),
SIGNAL(triggered(bool)),
SLOT(triggeredDownloadLinkToDisk(bool)));
connect(browser->pageAction(QWebPage::CopyLinkToClipboard),
SIGNAL(triggered(bool)),
SLOT(triggeredCopyLinkToClipboard(bool)));
connect(browser->pageAction(QWebPage::OpenImageInNewWindow),
SIGNAL(triggered(bool)),
SLOT(triggeredOpenImageInNewWindow(bool)));
connect(browser->pageAction(QWebPage::DownloadImageToDisk),
SIGNAL(triggered(bool)),
SLOT(triggeredDownloadImageToDisk(bool)));
connect(browser->pageAction(QWebPage::CopyImageToClipboard),
SIGNAL(triggered(bool)),
SLOT(triggeredCopyImageToClipboard(bool)));
connect(browser->pageAction(QWebPage::Back),
SIGNAL(triggered(bool)),
SLOT(triggeredBack(bool)));
connect(browser->pageAction(QWebPage::Forward),
SIGNAL(triggered(bool)),
SLOT(triggeredForward(bool)));
connect(browser->pageAction(QWebPage::Stop),
SIGNAL(triggered(bool)),
SLOT(triggeredStop(bool)));
connect(browser->pageAction(QWebPage::Reload),
SIGNAL(triggered(bool)),
SLOT(triggeredReload(bool)));
connect(browser->pageAction(QWebPage::Cut),
SIGNAL(triggered(bool)),
SLOT(triggeredCut(bool)));
connect(browser->pageAction(QWebPage::Copy),
SIGNAL(triggered(bool)),
SLOT(triggeredCopy(bool)));
connect(browser->pageAction(QWebPage::Paste),
SIGNAL(triggered(bool)),
SLOT(triggeredPaste(bool)));
connect(browser->pageAction(QWebPage::Undo),
SIGNAL(triggered(bool)),
SLOT(triggeredUndo(bool)));
connect(browser->pageAction(QWebPage::Redo),
SIGNAL(triggered(bool)),
SLOT(triggeredRedo(bool)));
connect(browser->pageAction(QWebPage::MoveToNextChar),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToNextChar(bool)));
connect(browser->pageAction(QWebPage::MoveToPreviousChar),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToPreviousChar(bool)));
connect(browser->pageAction(QWebPage::MoveToNextWord),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToNextWord(bool)));
connect(browser->pageAction(QWebPage::MoveToPreviousWord),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToPreviousWord(bool)));
connect(browser->pageAction(QWebPage::MoveToNextLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToNextLine(bool)));
connect(browser->pageAction(QWebPage::MoveToPreviousLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToPreviousLine(bool)));
connect(browser->pageAction(QWebPage::MoveToStartOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToStartOfLine(bool)));
connect(browser->pageAction(QWebPage::MoveToEndOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToEndOfLine(bool)));
connect(browser->pageAction(QWebPage::MoveToStartOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToStartOfBlock(bool)));
connect(browser->pageAction(QWebPage::MoveToEndOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToEndOfBlock(bool)));
connect(browser->pageAction(QWebPage::MoveToStartOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToStartOfDocument(bool)));
connect(browser->pageAction(QWebPage::MoveToEndOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredMoveToEndOfDocument(bool)));
connect(browser->pageAction(QWebPage::SelectNextChar),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectNextChar(bool)));
connect(browser->pageAction(QWebPage::SelectPreviousChar),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectPreviousChar(bool)));
connect(browser->pageAction(QWebPage::SelectNextWord),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectNextWord(bool)));
connect(browser->pageAction(QWebPage::SelectPreviousWord),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectPreviousWord(bool)));
connect(browser->pageAction(QWebPage::SelectNextLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectNextLine(bool)));
connect(browser->pageAction(QWebPage::SelectPreviousLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectPreviousLine(bool)));
connect(browser->pageAction(QWebPage::SelectStartOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectStartOfLine(bool)));
connect(browser->pageAction(QWebPage::SelectEndOfLine),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectEndOfLine(bool)));
connect(browser->pageAction(QWebPage::SelectStartOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectStartOfBlock(bool)));
connect(browser->pageAction(QWebPage::SelectEndOfBlock),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectEndOfBlock(bool)));
connect(browser->pageAction(QWebPage::SelectStartOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectStartOfDocument(bool)));
connect(browser->pageAction(QWebPage::SelectEndOfDocument),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectEndOfDocument(bool)));
connect(browser->pageAction(QWebPage::DeleteStartOfWord),
SIGNAL(triggered(bool)),
SLOT(triggeredDeleteStartOfWord(bool)));
connect(browser->pageAction(QWebPage::DeleteEndOfWord),
SIGNAL(triggered(bool)),
SLOT(triggeredDeleteEndOfWord(bool)));
connect(browser->pageAction(QWebPage::SetTextDirectionDefault),
SIGNAL(triggered(bool)),
SLOT(triggeredSetTextDirectionDefault(bool)));
connect(browser->pageAction(QWebPage::SetTextDirectionLeftToRight),
SIGNAL(triggered(bool)),
SLOT(triggeredSetTextDirectionLeftToRight(bool)));
connect(browser->pageAction(QWebPage::SetTextDirectionRightToLeft),
SIGNAL(triggered(bool)),
SLOT(triggeredSetTextDirectionRightToLeft(bool)));
connect(browser->pageAction(QWebPage::ToggleBold),
SIGNAL(triggered(bool)),
SLOT(triggeredToggleBold(bool)));
connect(browser->pageAction(QWebPage::ToggleItalic),
SIGNAL(triggered(bool)),
SLOT(triggeredToggleItalic(bool)));
connect(browser->pageAction(QWebPage::ToggleUnderline),
SIGNAL(triggered(bool)),
SLOT(triggeredToggleUnderline(bool)));
connect(browser->pageAction(QWebPage::InspectElement),
SIGNAL(triggered(bool)),
SLOT(triggeredInspectElement(bool)));
connect(browser->pageAction(QWebPage::InsertParagraphSeparator),
SIGNAL(triggered(bool)),
SLOT(triggeredInsertParagraphSeparator(bool)));
connect(browser->pageAction(QWebPage::InsertLineSeparator),
SIGNAL(triggered(bool)),
SLOT(triggeredInsertLineSeparator(bool)));
connect(browser->pageAction(QWebPage::SelectAll),
SIGNAL(triggered(bool)),
SLOT(triggeredSelectAll(bool)));
// QWebPage
assert(connect(browser->page(), SIGNAL(contentsChanged()),
SLOT(contentsChanged())));
assert(connect(browser->page(),
SIGNAL(databaseQuotaExceeded(QWebFrame*, QString)),
SLOT(databaseQuotaExceeded(QWebFrame*, QString))));
assert(connect(browser->page(),
SIGNAL(downloadRequested(const QNetworkRequest&)),
SLOT(downloadRequested(const QNetworkRequest&))));
assert(connect(browser->page(), SIGNAL(frameCreated(QWebFrame*)),
SLOT(frameCreated(QWebFrame*))));
assert(connect(browser->page(),
SIGNAL(geometryChangeRequested(const QRect&)),
SLOT(geometryChangeRequested(const QRect&))));
assert(connect(browser->page(), SIGNAL(linkClicked(const QUrl&)),
SLOT(linkClicked(const QUrl&))));
assert(connect(browser->page(),
SIGNAL(linkHovered(const QString&, const QString&,
const QString&)),
SLOT(linkHovered(const QString&, const QString&,
const QString&))));
assert(connect(browser->page(), SIGNAL(loadFinished(bool)),
SLOT(loadFinished(bool))));
assert(connect(browser->page(), SIGNAL(loadProgress(int)),
SLOT(loadProgress(int))));
assert(connect(browser->page(), SIGNAL(loadStarted()),
SLOT(loadStarted())));
assert(connect(browser->page(),
SIGNAL(menuBarVisibilityChangeRequested(bool)),
SLOT(menuBarVisibilityChangeRequested(bool))));
assert(connect(browser->page(), SIGNAL(microFocusChanged()),
SLOT(microFocusChanged())));
assert(connect(browser->page(), SIGNAL(printRequested(QWebFrame*)),
SLOT(printRequested(QWebFrame*))));
assert(connect(browser->page(), SIGNAL(repaintRequested(const QRect&)),
SLOT(repaintRequested(const QRect&))));
assert(connect(browser->page(),
SIGNAL(restoreFrameStateRequested(QWebFrame*)),
SLOT(restoreFrameStateRequested(QWebFrame*))));
assert(connect(browser->page(),
SIGNAL(saveFrameStateRequested(QWebFrame*,
QWebHistoryItem*)),
SLOT(saveFrameStateRequested(QWebFrame*,
QWebHistoryItem*))));
assert(connect(browser->page(),
SIGNAL(scrollRequested(int, int, const QRect&)),
SLOT(scrollRequested(int, int, const QRect&))));
assert(connect(browser->page(), SIGNAL(selectionChanged()),
SLOT(selectionChanged())));
assert(connect(browser->page(), SIGNAL(statusBarMessage(const QString&)),
SLOT(statusBarMessage(const QString&))));
assert(connect(browser->page(),
SIGNAL(statusBarVisibilityChangeRequested(bool)),
SLOT(statusBarVisibilityChangeRequested(bool))));
assert(connect(browser->page(),
SIGNAL(toolBarVisibilityChangeRequested(bool)),
SLOT(toolBarVisibilityChangeRequested(bool))));
assert(connect(browser->page(),
SIGNAL(unsupportedContent(QNetworkReply*)),
SLOT(unsupportedContent(QNetworkReply*))));
assert(connect(browser->page(), SIGNAL(windowCloseRequested()),
SLOT(windowCloseRequested())));
// QNetworkAccessManager
assert(connect(browser->page()->networkAccessManager(),
SIGNAL(authenticationRequired(QNetworkReply*,
QAuthenticator*)),
SLOT(authenticationRequired(QNetworkReply*,
QAuthenticator*))));
assert(connect(browser->page()->networkAccessManager(),
SIGNAL(finished(QNetworkReply*)),
SLOT(finished(QNetworkReply*))));
assert(connect(browser->page()->networkAccessManager(),
SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&,
QAuthenticator*)),
SLOT(proxyAuthenticationRequired(const QNetworkProxy&,
QAuthenticator*))));
assert(connect(browser->page()->networkAccessManager(),
SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&))));
_tabs->setCurrentIndex(_tabs->addTab(browser, "*empty*"));
_tabs->setTabsClosable(_tabs->count()>1);
}
void on_actionNew_triggered() {
LOG;
(new Browser(_browser->url().toString(), _kiosk, false))->show();
void on__tabs_currentChanged(int index) {
}
void on_actionClose_triggered() {
LOG;
close();
void on__tabs_tabCloseRequested(int index) {
_tabs->removeTab(index);
_tabs->setTabsClosable(_tabs->count()>1);
}
void on_actionPrintPreview_triggered() {
QPrintPreviewDialog preview(&_printer, this);
connect(&preview, SIGNAL(paintRequested(QPrinter*)),
_browser, SLOT(print(QPrinter*)));
dynamic_cast<QWebView*>(_tabs->currentWidget()),
SLOT(print(QPrinter*)));
preview.exec();
}
void on_actionInstantPrint_triggered() {
_browser->print(&_printer);
dynamic_cast<QWebView*>(_tabs->currentWidget())->print(&_printer);
}
void on_actionPrint_triggered() {
@ -617,6 +636,11 @@ class Browser: public QMainWindow, protected Ui::Browser {
on_actionInstantPrint_triggered();
}
void on_actionClose_triggered() {
LOG;
close();
}
void on_actionProxySettings_triggered() {
LOG;
if (_proxy) _proxy->show();
@ -1006,6 +1030,7 @@ class Browser: public QMainWindow, protected Ui::Browser {
QString _error;
QUrl _errorUrl;
QPrinter _printer;
SslClientAuthNetworkAccessManager _networkManager;
};

@ -18,7 +18,7 @@
<item row="0" column="0">
<widget class="QTabWidget" name="_tabs">
<property name="currentIndex">
<number>0</number>
<number>-1</number>
</property>
<property name="elideMode">
<enum>Qt::ElideMiddle</enum>
@ -32,16 +32,6 @@
<property name="movable">
<bool>true</bool>
</property>
<widget class="QWidget" name="tab1">
<attribute name="title">
<string>Tab 1</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QWebView" name="_browser" native="true"/>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
@ -83,6 +73,7 @@
<string>&amp;File</string>
</property>
<addaction name="actionNew"/>
<addaction name="actionNewTab"/>
<addaction name="separator"/>
<addaction name="actionPrintPreview"/>
<addaction name="actionPrint"/>
@ -96,26 +87,9 @@
</property>
<addaction name="actionProxySettings"/>
</widget>
<widget class="QMenu" name="menuView">
<property name="title">
<string>&amp;View</string>
</property>
<addaction name="actionActivateNextSubwindow"/>
</widget>
<addaction name="menuDatei"/>
<addaction name="menuEinstellungen"/>
<addaction name="menuView"/>
</widget>
<action name="actionProxyConfig">
<property name="text">
<string>&amp;Proxy Configuration</string>
</property>
</action>
<action name="actionProxyPassword">
<property name="text">
<string>Proxy Password</string>
</property>
</action>
<action name="actionReload">
<property name="enabled">
<bool>false</bool>
@ -217,44 +191,53 @@
<property name="text">
<string>&amp;Proxy...</string>
</property>
<property name="shortcut">
<string>Ctrl+P</string>
</action>
<action name="actionPrint">
<property name="text">
<string>Print ...</string>
</property>
</action>
<action name="actionActivateNextSubwindow">
<action name="actionPrintPreview">
<property name="text">
<string>Activate Next Subwindow</string>
<string>Print Pre&amp;view ...</string>
</property>
<property name="toolTip">
<string>Activate Next Subwindow</string>
</action>
<action name="actionInstantPrint">
<property name="text">
<string>Quick &amp;Print</string>
</property>
<property name="shortcut">
<string>Ctrl+Right</string>
<string>Ctrl+P</string>
</property>
</action>
<action name="actionPrint">
<action name="actionNextTab">
<property name="text">
<string>Print ...</string>
<string>Next Tab</string>
</property>
<property name="shortcut">
<string>Shift+Right</string>
</property>
</action>
<action name="actionPrintPreview">
<action name="actionPreviousTab">
<property name="text">
<string>Print Pre&amp;view ...</string>
<string>Previous Tab</string>
</property>
<property name="shortcut">
<string>Shift+Left</string>
</property>
</action>
<action name="actionInstantPrint">
<action name="actionNewTab">
<property name="text">
<string>Quick &amp;Print</string>
<string>New Tab</string>
</property>
<property name="toolTip">
<string>Add New Tab</string>
</property>
<property name="shortcut">
<string>Ctrl+T</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
<class>QWebView</class>
<extends>QWidget</extends>
<header>QtWebKit/QWebView</header>
</customwidget>
</customwidgets>
<resources>
<include location="resources.qrc"/>
</resources>

@ -4,10 +4,12 @@
#include "engine_sct.h"
#include <string>
#include <set>
#include <openssl/engine.h>
#include <QtCore/QCoreApplication>
#include <QtGui/QMessageBox>
#include <QtCore/QDebug>
#include <openssl/engine.h>
ENGINE* e=0;
enum_certs_s* certs_found=0;
@ -51,8 +53,26 @@ SmartCardAuth::~SmartCardAuth() {
ENGINE_cleanup();
}
int client_cert_cb(SSL*, X509 **x509, EVP_PKEY **pkey)
{
std::map<ssl_ctx_st*, QSslSocket*> sockets;
int client_cert_cb(SSL* ssl, X509 **x509, EVP_PKEY **pkey) {
static std::set<QString> allowedUrls;
std::map<ssl_ctx_st*, QSslSocket*>::iterator it(sockets.find(ssl->ctx));
if (it!=sockets.end()) {
if (allowedUrls.find(it->second->peerName())==allowedUrls.end()) {
if (QMessageBox::question(0, QObject::tr("Send Authentication?"),
QObject::tr("Do you want to authenticate yourself to"
" %1?")
.arg(it->second->peerName()),
QMessageBox::Yes|QMessageBox::No)
== QMessageBox::Yes)
allowedUrls.insert(it->second->peerName());
else
return 0;
}
sockets.erase(it);
}
while (!_mutex.tryLock()) QCoreApplication::processEvents();
// NB: Keep in mind that this function is called for EVERY SSL connection to be opened.
@ -128,7 +148,8 @@ int client_cert_cb(SSL*, X509 **x509, EVP_PKEY **pkey)
return 1;
}
void SmartCardAuth::extendedContextInitialization(SSL_CTX *ctx)
void SmartCardAuth::extendedContextInitialization(ssl_ctx_st *ctx,
QSslSocket *socket)
{
bool result = false;
@ -154,5 +175,6 @@ void SmartCardAuth::extendedContextInitialization(SSL_CTX *ctx)
}
#endif
sockets[ctx] = socket;
SSL_CTX_set_client_cert_cb(ctx, client_cert_cb);
}

@ -2,11 +2,9 @@
#define SMARTCARDAUTH_H
#include <QtCore/QMutex>
#include <private/qsslsocket_openssl_symbols_p.h>
#include <QtNetwork/QSslSocket>
class QWidget;
int client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
#include <openssl/ssl.h>
class SmartCardAuth: public QObject {
Q_OBJECT;
@ -18,7 +16,7 @@ class SmartCardAuth: public QObject {
private Q_SLOTS:
void extendedContextInitialization(ssl_ctx_st* ctx);
void extendedContextInitialization(ssl_ctx_st*, QSslSocket*);
};

@ -11,411 +11,389 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="37"/>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="52"/>
<location filename="browser.ui" line="42"/>
<source>toolBar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="83"/>
<location filename="browser.ui" line="73"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="95"/>
<location filename="browser.ui" line="86"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="101"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="111"/>
<source>&amp;Proxy Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="116"/>
<source>Proxy Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="128"/>
<location filename="browser.ui" line="102"/>
<source>neu laden</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="140"/>
<location filename="browser.ui" line="114"/>
<source>stoppen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="155"/>
<location filename="browser.ui" line="129"/>
<source>zurückkehren</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="173"/>
<location filename="browser.ui" line="147"/>
<source>weitergehen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="188"/>
<location filename="browser.ui" line="162"/>
<source>Startseite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="199"/>
<location filename="browser.ui" line="173"/>
<source>&amp;New Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="202"/>
<location filename="browser.ui" line="176"/>
<source>New Browser Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="205"/>
<location filename="browser.ui" line="179"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="210"/>
<location filename="browser.ui" line="184"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="213"/>
<location filename="browser.ui" line="187"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<location filename="browser.ui" line="192"/>
<source>&amp;Proxy...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="221"/>
<location filename="browser.ui" line="210"/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="215"/>
<source>Next Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<source>Shift+Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="223"/>
<source>Previous Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="226"/>
<location filename="browser.ui" line="229"/>
<source>Activate Next Subwindow</source>
<source>Shift+Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="231"/>
<source>New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="232"/>
<source>Ctrl+Right</source>
<location filename="browser.ui" line="234"/>
<source>Add New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="237"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="197"/>
<source>Print ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="247"/>
<location filename="browser.ui" line="207"/>
<source>Quick &amp;Print</source>
<oldsource>&amp;Print</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="242"/>
<location filename="browser.ui" line="202"/>
<source>Print Pre&amp;view ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="379"/>
<location filename="browser.hxx" line="145"/>
<source>The connection to the proxy server was refused (the proxy server is not accepting requests).</source>
<oldsource>the connection to the proxy timed out or the proxy did not reply in time to the request sent</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="391"/>
<location filename="browser.hxx" line="157"/>
<source>The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any).</source>
<oldsource>the Network Access API cannot honor the request because the protocol is not known</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="446"/>
<location filename="browser.hxx" line="212"/>
<source>Checking: %1</source>
<oldsource>Opening: %1</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="476"/>
<location filename="browser.hxx" line="242"/>
<source>Reading: %1</source>
<oldsource>Reading: %1%</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="489"/>
<location filename="browser.hxx" line="510"/>
<location filename="browser.hxx" line="255"/>
<location filename="browser.hxx" line="276"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="490"/>
<location filename="browser.hxx" line="256"/>
<source>Reply Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="966"/>
<location filename="browser.hxx" line="990"/>
<source>Network Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="518"/>
<location filename="browser.hxx" line="284"/>
<source>Zoom: %1%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="544"/>
<source>%1 - SwissSurfer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="573"/>
<source>&lt;html&gt;&lt;title&gt;Page Load Error&lt;/title&gt;&lt;body&gt;&lt;h1&gt;Page Load Error&lt;/h1&gt;%1&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="935"/>
<location filename="browser.hxx" line="955"/>
<location filename="browser.hxx" line="965"/>
<location filename="browser.hxx" line="959"/>
<location filename="browser.hxx" line="979"/>
<location filename="browser.hxx" line="989"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="985"/>
<location filename="browser.hxx" line="1009"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %4&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</source>
<oldsource>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="936"/>
<location filename="browser.hxx" line="960"/>
<source>Unsuported Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="80"/>
<location filename="browser.hxx" line="81"/>
<source>access to URL %1 not allowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="359"/>
<location filename="browser.hxx" line="125"/>
<source>Network connection successful, remote host can be reached.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="362"/>
<location filename="browser.hxx" line="128"/>
<source>The remote server refused the connection (the server is not accepting requests).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="365"/>
<location filename="browser.hxx" line="131"/>
<source>The remote server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="368"/>
<location filename="browser.hxx" line="134"/>
<source>The remote host name was not found (invalid hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="370"/>
<location filename="browser.hxx" line="136"/>
<source>The connection to the remote server timed out.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="372"/>
<location filename="browser.hxx" line="138"/>
<source>The operation was canceled via calls to abort() or close() before it was finished.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="375"/>
<location filename="browser.hxx" line="141"/>
<source>The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="382"/>
<location filename="browser.hxx" line="148"/>
<source>The proxy server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="385"/>
<location filename="browser.hxx" line="151"/>
<source>The proxy host name was not found (invalid proxy hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="388"/>
<location filename="browser.hxx" line="154"/>
<source>The connection to the proxy timed out or the proxy did not reply in time to the request sent.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="395"/>
<location filename="browser.hxx" line="161"/>
<source>The access to the remote content was denied (similar to HTTP error 401).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="398"/>
<location filename="browser.hxx" line="164"/>
<source>The operation requested on the remote content is not permitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="401"/>
<location filename="browser.hxx" line="167"/>
<source>The remote content was not found at the server (similar to HTTP error 404).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="404"/>
<location filename="browser.hxx" line="170"/>
<source>The remote server requires authentication to serve the content but the credentials provided were not accepted (if any).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="408"/>
<location filename="browser.hxx" line="174"/>
<source>The Network Access API cannot honor the request because the protocol is not known.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="411"/>
<location filename="browser.hxx" line="177"/>
<source>The requested operation is invalid for this protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="413"/>
<location filename="browser.hxx" line="179"/>
<source>An unknown network-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="415"/>
<location filename="browser.hxx" line="181"/>
<source>An unknown proxy-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="417"/>
<location filename="browser.hxx" line="183"/>
<source>An unknonwn error related to the remote content was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="420"/>
<location filename="browser.hxx" line="186"/>
<source>A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="423"/>
<location filename="browser.hxx" line="189"/>
<source>&lt;strong&gt;Unknown network error (code: %1).&lt;/string&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="478"/>
<location filename="browser.hxx" line="244"/>
<source>Illegal URL: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="488"/>
<location filename="browser.hxx" line="254"/>
<source>network error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="498"/>
<location filename="browser.hxx" line="509"/>
<location filename="browser.hxx" line="264"/>
<location filename="browser.hxx" line="275"/>
<source>proxy error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="499"/>
<location filename="browser.hxx" line="265"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;Proxy: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;%4&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="500"/>
<location filename="browser.hxx" line="266"/>
<source>Possible Proxy Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="511"/>
<location filename="browser.hxx" line="277"/>
<source>Connection Cannot Be Established</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="550"/>
<source>Info: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="578"/>
<source>download error</source>
<oldsource>donload error</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="580"/>
<source>done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="615"/>
<location filename="browser.hxx" line="634"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="872"/>
<location filename="browser.hxx" line="896"/>
<source>%1</source>
<comment>statusbar for hovered link %1=url</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="934"/>
<location filename="browser.hxx" line="958"/>
<source>unsupported content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="450"/>
<location filename="browser.hxx" line="216"/>
<source>Forbidden: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="451"/>
<location filename="browser.hxx" line="217"/>
<source>Access Denied</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="452"/>
<location filename="browser.hxx" line="218"/>
<source>&lt;p&gt;Access denied due to security considerations.&lt;/p&gt;&lt;p&gt;You are not allowed to connect to %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="954"/>
<location filename="browser.hxx" line="978"/>
<source>authentication required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="956"/>
<location filename="browser.hxx" line="980"/>
<source>Authentication Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="980"/>
<location filename="browser.hxx" line="1004"/>
<source>ssl error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="984"/>
<location filename="browser.hxx" line="1008"/>
<source>&lt;li&gt;%1&lt;/li&gt;</source>
<comment>single ssl error</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="988"/>
<location filename="browser.hxx" line="1012"/>
<source>SSL Error</source>
<translation type="unfinished"></translation>
</message>
@ -502,5 +480,15 @@ Try: %1 --help</source>
<source>http://swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="63"/>
<source>Send Authentication?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="64"/>
<source>Do you want to authenticate yourself to %1?</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -11,411 +11,389 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="37"/>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="52"/>
<location filename="browser.ui" line="42"/>
<source>toolBar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="83"/>
<location filename="browser.ui" line="73"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="95"/>
<location filename="browser.ui" line="86"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="101"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="111"/>
<source>&amp;Proxy Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="116"/>
<source>Proxy Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="128"/>
<location filename="browser.ui" line="102"/>
<source>neu laden</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="140"/>
<location filename="browser.ui" line="114"/>
<source>stoppen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="155"/>
<location filename="browser.ui" line="129"/>
<source>zurückkehren</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="173"/>
<location filename="browser.ui" line="147"/>
<source>weitergehen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="188"/>
<location filename="browser.ui" line="162"/>
<source>Startseite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="199"/>
<location filename="browser.ui" line="173"/>
<source>&amp;New Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="202"/>
<location filename="browser.ui" line="176"/>
<source>New Browser Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="205"/>
<location filename="browser.ui" line="179"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="210"/>
<location filename="browser.ui" line="184"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="213"/>
<location filename="browser.ui" line="187"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<location filename="browser.ui" line="192"/>
<source>&amp;Proxy...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="221"/>
<location filename="browser.ui" line="210"/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="215"/>
<source>Next Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<source>Shift+Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="223"/>
<source>Previous Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="226"/>
<location filename="browser.ui" line="229"/>
<source>Activate Next Subwindow</source>
<source>Shift+Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="231"/>
<source>New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="232"/>
<source>Ctrl+Right</source>
<location filename="browser.ui" line="234"/>
<source>Add New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="237"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="197"/>
<source>Print ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="247"/>
<location filename="browser.ui" line="207"/>
<source>Quick &amp;Print</source>
<oldsource>&amp;Print</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="242"/>
<location filename="browser.ui" line="202"/>
<source>Print Pre&amp;view ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="379"/>
<location filename="browser.hxx" line="145"/>
<source>The connection to the proxy server was refused (the proxy server is not accepting requests).</source>
<oldsource>the connection to the proxy timed out or the proxy did not reply in time to the request sent</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="391"/>
<location filename="browser.hxx" line="157"/>
<source>The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any).</source>
<oldsource>the Network Access API cannot honor the request because the protocol is not known</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="446"/>
<location filename="browser.hxx" line="212"/>
<source>Checking: %1</source>
<oldsource>Opening: %1</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="476"/>
<location filename="browser.hxx" line="242"/>
<source>Reading: %1</source>
<oldsource>Reading: %1%</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="489"/>
<location filename="browser.hxx" line="510"/>
<location filename="browser.hxx" line="255"/>
<location filename="browser.hxx" line="276"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="490"/>
<location filename="browser.hxx" line="256"/>
<source>Reply Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="966"/>
<location filename="browser.hxx" line="990"/>
<source>Network Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="518"/>
<location filename="browser.hxx" line="284"/>
<source>Zoom: %1%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="544"/>
<source>%1 - SwissSurfer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="573"/>
<source>&lt;html&gt;&lt;title&gt;Page Load Error&lt;/title&gt;&lt;body&gt;&lt;h1&gt;Page Load Error&lt;/h1&gt;%1&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="935"/>
<location filename="browser.hxx" line="955"/>
<location filename="browser.hxx" line="965"/>
<location filename="browser.hxx" line="959"/>
<location filename="browser.hxx" line="979"/>
<location filename="browser.hxx" line="989"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="985"/>
<location filename="browser.hxx" line="1009"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %4&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</source>
<oldsource>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="936"/>
<location filename="browser.hxx" line="960"/>
<source>Unsuported Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="80"/>
<location filename="browser.hxx" line="81"/>
<source>access to URL %1 not allowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="359"/>
<location filename="browser.hxx" line="125"/>
<source>Network connection successful, remote host can be reached.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="362"/>
<location filename="browser.hxx" line="128"/>
<source>The remote server refused the connection (the server is not accepting requests).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="365"/>
<location filename="browser.hxx" line="131"/>
<source>The remote server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="368"/>
<location filename="browser.hxx" line="134"/>
<source>The remote host name was not found (invalid hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="370"/>
<location filename="browser.hxx" line="136"/>
<source>The connection to the remote server timed out.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="372"/>
<location filename="browser.hxx" line="138"/>
<source>The operation was canceled via calls to abort() or close() before it was finished.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="375"/>
<location filename="browser.hxx" line="141"/>
<source>The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="382"/>
<location filename="browser.hxx" line="148"/>
<source>The proxy server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="385"/>
<location filename="browser.hxx" line="151"/>
<source>The proxy host name was not found (invalid proxy hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="388"/>
<location filename="browser.hxx" line="154"/>
<source>The connection to the proxy timed out or the proxy did not reply in time to the request sent.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="395"/>
<location filename="browser.hxx" line="161"/>
<source>The access to the remote content was denied (similar to HTTP error 401).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="398"/>
<location filename="browser.hxx" line="164"/>
<source>The operation requested on the remote content is not permitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="401"/>
<location filename="browser.hxx" line="167"/>
<source>The remote content was not found at the server (similar to HTTP error 404).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="404"/>
<location filename="browser.hxx" line="170"/>
<source>The remote server requires authentication to serve the content but the credentials provided were not accepted (if any).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="408"/>
<location filename="browser.hxx" line="174"/>
<source>The Network Access API cannot honor the request because the protocol is not known.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="411"/>
<location filename="browser.hxx" line="177"/>
<source>The requested operation is invalid for this protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="413"/>
<location filename="browser.hxx" line="179"/>
<source>An unknown network-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="415"/>
<location filename="browser.hxx" line="181"/>
<source>An unknown proxy-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="417"/>
<location filename="browser.hxx" line="183"/>
<source>An unknonwn error related to the remote content was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="420"/>
<location filename="browser.hxx" line="186"/>
<source>A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="423"/>
<location filename="browser.hxx" line="189"/>
<source>&lt;strong&gt;Unknown network error (code: %1).&lt;/string&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="478"/>
<location filename="browser.hxx" line="244"/>
<source>Illegal URL: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="488"/>
<location filename="browser.hxx" line="254"/>
<source>network error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="498"/>
<location filename="browser.hxx" line="509"/>
<location filename="browser.hxx" line="264"/>
<location filename="browser.hxx" line="275"/>
<source>proxy error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="499"/>
<location filename="browser.hxx" line="265"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;Proxy: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;%4&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="500"/>
<location filename="browser.hxx" line="266"/>
<source>Possible Proxy Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="511"/>
<location filename="browser.hxx" line="277"/>
<source>Connection Cannot Be Established</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="550"/>
<source>Info: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="578"/>
<source>download error</source>
<oldsource>donload error</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="580"/>
<source>done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="615"/>
<location filename="browser.hxx" line="634"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="872"/>
<location filename="browser.hxx" line="896"/>
<source>%1</source>
<comment>statusbar for hovered link %1=url</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="934"/>
<location filename="browser.hxx" line="958"/>
<source>unsupported content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="450"/>
<location filename="browser.hxx" line="216"/>
<source>Forbidden: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="451"/>
<location filename="browser.hxx" line="217"/>
<source>Access Denied</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="452"/>
<location filename="browser.hxx" line="218"/>
<source>&lt;p&gt;Access denied due to security considerations.&lt;/p&gt;&lt;p&gt;You are not allowed to connect to %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="954"/>
<location filename="browser.hxx" line="978"/>
<source>authentication required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="956"/>
<location filename="browser.hxx" line="980"/>
<source>Authentication Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="980"/>
<location filename="browser.hxx" line="1004"/>
<source>ssl error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="984"/>
<location filename="browser.hxx" line="1008"/>
<source>&lt;li&gt;%1&lt;/li&gt;</source>
<comment>single ssl error</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="988"/>
<location filename="browser.hxx" line="1012"/>
<source>SSL Error</source>
<translation type="unfinished"></translation>
</message>
@ -502,5 +480,15 @@ Try: %1 --help</source>
<source>http://swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="63"/>
<source>Send Authentication?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="64"/>
<source>Do you want to authenticate yourself to %1?</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -11,411 +11,389 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="37"/>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="52"/>
<location filename="browser.ui" line="42"/>
<source>toolBar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="83"/>
<location filename="browser.ui" line="73"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="95"/>
<location filename="browser.ui" line="86"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="101"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="111"/>
<source>&amp;Proxy Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="116"/>
<source>Proxy Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="128"/>
<location filename="browser.ui" line="102"/>
<source>neu laden</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="140"/>
<location filename="browser.ui" line="114"/>
<source>stoppen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="155"/>
<location filename="browser.ui" line="129"/>
<source>zurückkehren</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="173"/>
<location filename="browser.ui" line="147"/>
<source>weitergehen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="188"/>
<location filename="browser.ui" line="162"/>
<source>Startseite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="199"/>
<location filename="browser.ui" line="173"/>
<source>&amp;New Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="202"/>
<location filename="browser.ui" line="176"/>
<source>New Browser Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="205"/>
<location filename="browser.ui" line="179"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="210"/>
<location filename="browser.ui" line="184"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="213"/>
<location filename="browser.ui" line="187"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<location filename="browser.ui" line="192"/>
<source>&amp;Proxy...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="221"/>
<location filename="browser.ui" line="210"/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="215"/>
<source>Next Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<source>Shift+Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="223"/>
<source>Previous Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="226"/>
<location filename="browser.ui" line="229"/>
<source>Activate Next Subwindow</source>
<source>Shift+Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="231"/>
<source>New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="232"/>
<source>Ctrl+Right</source>
<location filename="browser.ui" line="234"/>
<source>Add New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="237"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="197"/>
<source>Print ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="247"/>
<location filename="browser.ui" line="207"/>
<source>Quick &amp;Print</source>
<oldsource>&amp;Print</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="242"/>
<location filename="browser.ui" line="202"/>
<source>Print Pre&amp;view ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="379"/>
<location filename="browser.hxx" line="145"/>
<source>The connection to the proxy server was refused (the proxy server is not accepting requests).</source>
<oldsource>the connection to the proxy timed out or the proxy did not reply in time to the request sent</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="391"/>
<location filename="browser.hxx" line="157"/>
<source>The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any).</source>
<oldsource>the Network Access API cannot honor the request because the protocol is not known</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="446"/>
<location filename="browser.hxx" line="212"/>
<source>Checking: %1</source>
<oldsource>Opening: %1</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="476"/>
<location filename="browser.hxx" line="242"/>
<source>Reading: %1</source>
<oldsource>Reading: %1%</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="489"/>
<location filename="browser.hxx" line="510"/>
<location filename="browser.hxx" line="255"/>
<location filename="browser.hxx" line="276"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="490"/>
<location filename="browser.hxx" line="256"/>
<source>Reply Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="966"/>
<location filename="browser.hxx" line="990"/>
<source>Network Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="518"/>
<location filename="browser.hxx" line="284"/>
<source>Zoom: %1%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="544"/>
<source>%1 - SwissSurfer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="573"/>
<source>&lt;html&gt;&lt;title&gt;Page Load Error&lt;/title&gt;&lt;body&gt;&lt;h1&gt;Page Load Error&lt;/h1&gt;%1&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="935"/>
<location filename="browser.hxx" line="955"/>
<location filename="browser.hxx" line="965"/>
<location filename="browser.hxx" line="959"/>
<location filename="browser.hxx" line="979"/>
<location filename="browser.hxx" line="989"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="985"/>
<location filename="browser.hxx" line="1009"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %4&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</source>
<oldsource>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="936"/>
<location filename="browser.hxx" line="960"/>
<source>Unsuported Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="80"/>
<location filename="browser.hxx" line="81"/>
<source>access to URL %1 not allowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="359"/>
<location filename="browser.hxx" line="125"/>
<source>Network connection successful, remote host can be reached.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="362"/>
<location filename="browser.hxx" line="128"/>
<source>The remote server refused the connection (the server is not accepting requests).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="365"/>
<location filename="browser.hxx" line="131"/>
<source>The remote server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="368"/>
<location filename="browser.hxx" line="134"/>
<source>The remote host name was not found (invalid hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="370"/>
<location filename="browser.hxx" line="136"/>
<source>The connection to the remote server timed out.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="372"/>
<location filename="browser.hxx" line="138"/>
<source>The operation was canceled via calls to abort() or close() before it was finished.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="375"/>
<location filename="browser.hxx" line="141"/>
<source>The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="382"/>
<location filename="browser.hxx" line="148"/>
<source>The proxy server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="385"/>
<location filename="browser.hxx" line="151"/>
<source>The proxy host name was not found (invalid proxy hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="388"/>
<location filename="browser.hxx" line="154"/>
<source>The connection to the proxy timed out or the proxy did not reply in time to the request sent.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="395"/>
<location filename="browser.hxx" line="161"/>
<source>The access to the remote content was denied (similar to HTTP error 401).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="398"/>
<location filename="browser.hxx" line="164"/>
<source>The operation requested on the remote content is not permitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="401"/>
<location filename="browser.hxx" line="167"/>
<source>The remote content was not found at the server (similar to HTTP error 404).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="404"/>
<location filename="browser.hxx" line="170"/>
<source>The remote server requires authentication to serve the content but the credentials provided were not accepted (if any).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="408"/>
<location filename="browser.hxx" line="174"/>
<source>The Network Access API cannot honor the request because the protocol is not known.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="411"/>
<location filename="browser.hxx" line="177"/>
<source>The requested operation is invalid for this protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="413"/>
<location filename="browser.hxx" line="179"/>
<source>An unknown network-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="415"/>
<location filename="browser.hxx" line="181"/>
<source>An unknown proxy-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="417"/>
<location filename="browser.hxx" line="183"/>
<source>An unknonwn error related to the remote content was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="420"/>
<location filename="browser.hxx" line="186"/>
<source>A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="423"/>
<location filename="browser.hxx" line="189"/>
<source>&lt;strong&gt;Unknown network error (code: %1).&lt;/string&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="478"/>
<location filename="browser.hxx" line="244"/>
<source>Illegal URL: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="488"/>
<location filename="browser.hxx" line="254"/>
<source>network error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="498"/>
<location filename="browser.hxx" line="509"/>
<location filename="browser.hxx" line="264"/>
<location filename="browser.hxx" line="275"/>
<source>proxy error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="499"/>
<location filename="browser.hxx" line="265"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;Proxy: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;%4&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="500"/>
<location filename="browser.hxx" line="266"/>
<source>Possible Proxy Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="511"/>
<location filename="browser.hxx" line="277"/>
<source>Connection Cannot Be Established</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="550"/>
<source>Info: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="578"/>
<source>download error</source>
<oldsource>donload error</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="580"/>
<source>done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="615"/>
<location filename="browser.hxx" line="634"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="872"/>
<location filename="browser.hxx" line="896"/>
<source>%1</source>
<comment>statusbar for hovered link %1=url</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="934"/>
<location filename="browser.hxx" line="958"/>
<source>unsupported content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="450"/>
<location filename="browser.hxx" line="216"/>
<source>Forbidden: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="451"/>
<location filename="browser.hxx" line="217"/>
<source>Access Denied</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="452"/>
<location filename="browser.hxx" line="218"/>
<source>&lt;p&gt;Access denied due to security considerations.&lt;/p&gt;&lt;p&gt;You are not allowed to connect to %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="954"/>
<location filename="browser.hxx" line="978"/>
<source>authentication required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="956"/>
<location filename="browser.hxx" line="980"/>
<source>Authentication Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="980"/>
<location filename="browser.hxx" line="1004"/>
<source>ssl error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="984"/>
<location filename="browser.hxx" line="1008"/>
<source>&lt;li&gt;%1&lt;/li&gt;</source>
<comment>single ssl error</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="988"/>
<location filename="browser.hxx" line="1012"/>
<source>SSL Error</source>
<translation type="unfinished"></translation>
</message>
@ -502,5 +480,15 @@ Try: %1 --help</source>
<source>http://swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="63"/>
<source>Send Authentication?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="64"/>
<source>Do you want to authenticate yourself to %1?</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -11,411 +11,389 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="37"/>
<source>Tab 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="52"/>
<location filename="browser.ui" line="42"/>
<source>toolBar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="83"/>
<location filename="browser.ui" line="73"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="95"/>
<location filename="browser.ui" line="86"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="101"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="111"/>
<source>&amp;Proxy Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="116"/>
<source>Proxy Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="128"/>
<location filename="browser.ui" line="102"/>
<source>neu laden</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="140"/>
<location filename="browser.ui" line="114"/>
<source>stoppen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="155"/>
<location filename="browser.ui" line="129"/>
<source>zurückkehren</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="173"/>
<location filename="browser.ui" line="147"/>
<source>weitergehen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="188"/>
<location filename="browser.ui" line="162"/>
<source>Startseite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="199"/>
<location filename="browser.ui" line="173"/>
<source>&amp;New Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="202"/>
<location filename="browser.ui" line="176"/>
<source>New Browser Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="205"/>
<location filename="browser.ui" line="179"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="210"/>
<location filename="browser.ui" line="184"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="213"/>
<location filename="browser.ui" line="187"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<location filename="browser.ui" line="192"/>
<source>&amp;Proxy...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="221"/>
<location filename="browser.ui" line="210"/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="215"/>
<source>Next Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="218"/>
<source>Shift+Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="223"/>
<source>Previous Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="226"/>
<location filename="browser.ui" line="229"/>
<source>Activate Next Subwindow</source>
<source>Shift+Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="231"/>
<source>New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="232"/>
<source>Ctrl+Right</source>
<location filename="browser.ui" line="234"/>
<source>Add New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="237"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="197"/>
<source>Print ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="247"/>
<location filename="browser.ui" line="207"/>
<source>Quick &amp;Print</source>
<oldsource>&amp;Print</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.ui" line="242"/>
<location filename="browser.ui" line="202"/>
<source>Print Pre&amp;view ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="379"/>
<location filename="browser.hxx" line="145"/>
<source>The connection to the proxy server was refused (the proxy server is not accepting requests).</source>
<oldsource>the connection to the proxy timed out or the proxy did not reply in time to the request sent</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="391"/>
<location filename="browser.hxx" line="157"/>
<source>The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any).</source>
<oldsource>the Network Access API cannot honor the request because the protocol is not known</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="446"/>
<location filename="browser.hxx" line="212"/>
<source>Checking: %1</source>
<oldsource>Opening: %1</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="476"/>
<location filename="browser.hxx" line="242"/>
<source>Reading: %1</source>
<oldsource>Reading: %1%</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="489"/>
<location filename="browser.hxx" line="510"/>
<location filename="browser.hxx" line="255"/>
<location filename="browser.hxx" line="276"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="490"/>
<location filename="browser.hxx" line="256"/>
<source>Reply Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="966"/>
<location filename="browser.hxx" line="990"/>
<source>Network Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="518"/>
<location filename="browser.hxx" line="284"/>
<source>Zoom: %1%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="544"/>
<source>%1 - SwissSurfer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="573"/>
<source>&lt;html&gt;&lt;title&gt;Page Load Error&lt;/title&gt;&lt;body&gt;&lt;h1&gt;Page Load Error&lt;/h1&gt;%1&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="935"/>
<location filename="browser.hxx" line="955"/>
<location filename="browser.hxx" line="965"/>
<location filename="browser.hxx" line="959"/>
<location filename="browser.hxx" line="979"/>
<location filename="browser.hxx" line="989"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="985"/>
<location filename="browser.hxx" line="1009"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %4&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</source>
<oldsource>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;URL: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;h3&gt;SSL Errors&lt;/h3&gt;&lt;p&gt;&lt;ul&gt;%3&lt;/ul&gt;&lt;/p&gt;</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="936"/>
<location filename="browser.hxx" line="960"/>
<source>Unsuported Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="80"/>
<location filename="browser.hxx" line="81"/>
<source>access to URL %1 not allowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="359"/>
<location filename="browser.hxx" line="125"/>
<source>Network connection successful, remote host can be reached.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="362"/>
<location filename="browser.hxx" line="128"/>
<source>The remote server refused the connection (the server is not accepting requests).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="365"/>
<location filename="browser.hxx" line="131"/>
<source>The remote server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="368"/>
<location filename="browser.hxx" line="134"/>
<source>The remote host name was not found (invalid hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="370"/>
<location filename="browser.hxx" line="136"/>
<source>The connection to the remote server timed out.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="372"/>
<location filename="browser.hxx" line="138"/>
<source>The operation was canceled via calls to abort() or close() before it was finished.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="375"/>
<location filename="browser.hxx" line="141"/>
<source>The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="382"/>
<location filename="browser.hxx" line="148"/>
<source>The proxy server closed the connection prematurely, before the entire reply was received and processed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="385"/>
<location filename="browser.hxx" line="151"/>
<source>The proxy host name was not found (invalid proxy hostname).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="388"/>
<location filename="browser.hxx" line="154"/>
<source>The connection to the proxy timed out or the proxy did not reply in time to the request sent.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="395"/>
<location filename="browser.hxx" line="161"/>
<source>The access to the remote content was denied (similar to HTTP error 401).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="398"/>
<location filename="browser.hxx" line="164"/>
<source>The operation requested on the remote content is not permitted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="401"/>
<location filename="browser.hxx" line="167"/>
<source>The remote content was not found at the server (similar to HTTP error 404).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="404"/>
<location filename="browser.hxx" line="170"/>
<source>The remote server requires authentication to serve the content but the credentials provided were not accepted (if any).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="408"/>
<location filename="browser.hxx" line="174"/>
<source>The Network Access API cannot honor the request because the protocol is not known.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="411"/>
<location filename="browser.hxx" line="177"/>
<source>The requested operation is invalid for this protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="413"/>
<location filename="browser.hxx" line="179"/>
<source>An unknown network-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="415"/>
<location filename="browser.hxx" line="181"/>
<source>An unknown proxy-related error was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="417"/>
<location filename="browser.hxx" line="183"/>
<source>An unknonwn error related to the remote content was detected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="420"/>
<location filename="browser.hxx" line="186"/>
<source>A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="423"/>
<location filename="browser.hxx" line="189"/>
<source>&lt;strong&gt;Unknown network error (code: %1).&lt;/string&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="478"/>
<location filename="browser.hxx" line="244"/>
<source>Illegal URL: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="488"/>
<location filename="browser.hxx" line="254"/>
<source>network error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="498"/>
<location filename="browser.hxx" line="509"/>
<location filename="browser.hxx" line="264"/>
<location filename="browser.hxx" line="275"/>
<source>proxy error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="499"/>
<location filename="browser.hxx" line="265"/>
<source>&lt;h2&gt;%1&lt;/h2&gt;&lt;p&gt;Proxy: %3&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;%4&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="500"/>
<location filename="browser.hxx" line="266"/>
<source>Possible Proxy Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="511"/>
<location filename="browser.hxx" line="277"/>
<source>Connection Cannot Be Established</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="550"/>
<source>Info: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="578"/>
<source>download error</source>
<oldsource>donload error</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="580"/>
<source>done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="615"/>
<location filename="browser.hxx" line="634"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="872"/>
<location filename="browser.hxx" line="896"/>
<source>%1</source>
<comment>statusbar for hovered link %1=url</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="934"/>
<location filename="browser.hxx" line="958"/>
<source>unsupported content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="450"/>
<location filename="browser.hxx" line="216"/>
<source>Forbidden: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="451"/>
<location filename="browser.hxx" line="217"/>
<source>Access Denied</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="452"/>
<location filename="browser.hxx" line="218"/>
<source>&lt;p&gt;Access denied due to security considerations.&lt;/p&gt;&lt;p&gt;You are not allowed to connect to %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="954"/>
<location filename="browser.hxx" line="978"/>
<source>authentication required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="956"/>
<location filename="browser.hxx" line="980"/>
<source>Authentication Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="980"/>
<location filename="browser.hxx" line="1004"/>
<source>ssl error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="984"/>
<location filename="browser.hxx" line="1008"/>
<source>&lt;li&gt;%1&lt;/li&gt;</source>
<comment>single ssl error</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="browser.hxx" line="988"/>
<location filename="browser.hxx" line="1012"/>
<source>SSL Error</source>
<translation type="unfinished"></translation>
</message>
@ -502,5 +480,15 @@ Try: %1 --help</source>
<source>http://swisssign.com</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="63"/>
<source>Send Authentication?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="smartcardauth.cxx" line="64"/>
<source>Do you want to authenticate yourself to %1?</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Loading…
Cancel
Save