diff options
author | Simon Rettberg | 2017-07-07 16:15:55 +0200 |
---|---|---|
committer | Simon Rettberg | 2017-07-07 16:15:55 +0200 |
commit | fc7ec7a877ce088d0ed9879af5791b3c3e3ee241 (patch) | |
tree | 56bbbb1445bf0c83f59a2624eab5599e49bf9c95 /src/webview.h | |
parent | cmake 2.8.12 compat (diff) | |
download | slxbrowser-fc7ec7a877ce088d0ed9879af5791b3c3e3ee241.tar.gz slxbrowser-fc7ec7a877ce088d0ed9879af5791b3c3e3ee241.tar.xz slxbrowser-fc7ec7a877ce088d0ed9879af5791b3c3e3ee241.zip |
Block downloads with user feedback
Diffstat (limited to 'src/webview.h')
-rw-r--r-- | src/webview.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/webview.h b/src/webview.h index 753c984..9d7e28d 100644 --- a/src/webview.h +++ b/src/webview.h @@ -3,6 +3,10 @@ #include <QStack> #include <QWebView> +#include <QNetworkRequest> + +class QNetworkReply; +class QTimer; /** * Make sure pages that want to load in a new tab are actually loaded in the same page, @@ -10,19 +14,28 @@ */ class WebView : public QWebView { - Q_OBJECT +Q_OBJECT public: - WebView(QWidget* parent = NULL) : QWebView(parent) { - connect(page(), SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested())); + WebView(QWidget* parent = NULL); + bool wasAbortedDownload() { + bool r = _abortedDownload; + _abortedDownload = false; + return r; } + protected: QWebView *createWindow(QWebPage::WebWindowType); protected slots: void windowCloseRequested(); + void unsupportedContent(QNetworkReply*); + void downloadRequest(QNetworkRequest); + void downloadDeniedMessage(); private: QStack<QUrl> _urls; + QTimer *_timer; + bool _abortedDownload; }; #endif |