From 37f631193ed627936fba1fbc1b2bbab34e2eaa06 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Sat, 4 Jan 2014 10:55:29 +0100 Subject: [PATCH] Some work on newspaper and webpage. --- resources/skins/base/involutus.xml | 2 +- src/core/webpage.cpp | 13 +++++++++++++ src/core/webpage.h | 3 +++ src/gui/webbrowser.cpp | 2 +- src/gui/webbrowser.h | 4 ++-- src/gui/webview.h | 1 - 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/resources/skins/base/involutus.xml b/resources/skins/base/involutus.xml index 0d1a74e6e..10680e548 100644 --- a/resources/skins/base/involutus.xml +++ b/resources/skins/base/involutus.xml @@ -1,6 +1,6 @@ - vergilius + involutus Martin Rotter rotter.martinos@gmail.com diff --git a/src/core/webpage.cpp b/src/core/webpage.cpp index de0bf6592..904b24bb2 100644 --- a/src/core/webpage.cpp +++ b/src/core/webpage.cpp @@ -17,6 +17,19 @@ WebPage::WebPage(QObject *parent) WebPage::~WebPage() { } +bool WebPage::acceptNavigationRequest(QWebFrame *frame, + const QNetworkRequest &request, + QWebPage::NavigationType type) { + if (type == QWebPage::NavigationTypeLinkClicked && + frame == mainFrame()) { + // Make sure that appropriate signal is emitted even if + // no delegation is enabled. + emit linkClicked(request.url()); + } + + return QWebPage::acceptNavigationRequest(frame, request, type); +} + QWebPage *WebPage::createWindow(WebWindowType type) { return QWebPage::createWindow(type); } diff --git a/src/core/webpage.h b/src/core/webpage.h index 0f79e0d93..91bf9c51c 100644 --- a/src/core/webpage.h +++ b/src/core/webpage.h @@ -14,6 +14,9 @@ class WebPage : public QWebPage { protected: QWebPage *createWindow(WebWindowType type); + bool acceptNavigationRequest(QWebFrame *frame, + const QNetworkRequest &request, + NavigationType type); }; #endif // BASEWEBPAGE_H diff --git a/src/gui/webbrowser.cpp b/src/gui/webbrowser.cpp index 1fb959ede..0cc4e1e67 100644 --- a/src/gui/webbrowser.cpp +++ b/src/gui/webbrowser.cpp @@ -151,7 +151,7 @@ void WebBrowser::onTitleChanged(const QString &new_title) { } } -void WebBrowser::updateUrl(const QUrl &url) { +void WebBrowser::updateUrl(const QUrl &url) { m_txtLocation->setText(url.toString()); } diff --git a/src/gui/webbrowser.h b/src/gui/webbrowser.h index 5a08379f8..29ce7c59b 100644 --- a/src/gui/webbrowser.h +++ b/src/gui/webbrowser.h @@ -25,7 +25,7 @@ class WebBrowser : public TabContent { public: // Constructors and destructors. explicit WebBrowser(QWidget *parent = 0); - ~WebBrowser(); + virtual ~WebBrowser(); // Reloads icons for all buttons. void setupIcons(); @@ -60,7 +60,7 @@ class WebBrowser : public TabContent { void navigateToUrl(const QString &url); void navigateToUrl(const QUrl &url); - // Navigates to message. + // Navigates to single message. void navigateToMessage(const Message &message); // Navigates to messages via "newspaper" view. diff --git a/src/gui/webview.h b/src/gui/webview.h index 104d19bfb..1b54a6516 100644 --- a/src/gui/webview.h +++ b/src/gui/webview.h @@ -35,7 +35,6 @@ class WebView : public QWebView { bool decreaseWebPageZoom(); bool resetWebPageZoom(); - protected slots: // Executes if loading of any page is done. void onLoadFinished(bool ok);