|
|
|
@ -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; |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|