summaryrefslogtreecommitdiffstats
path: root/src/webview.h
diff options
context:
space:
mode:
authorSimon Rettberg2017-07-07 16:15:55 +0200
committerSimon Rettberg2017-07-07 16:15:55 +0200
commitfc7ec7a877ce088d0ed9879af5791b3c3e3ee241 (patch)
tree56bbbb1445bf0c83f59a2624eab5599e49bf9c95 /src/webview.h
parentcmake 2.8.12 compat (diff)
downloadslxbrowser-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.h19
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