From 79ff338a3427a236ef53adf806c56616faa3426c Mon Sep 17 00:00:00 2001 From: "Felix (xq) Queißner" Date: Sat, 30 May 2020 02:58:43 +0200 Subject: Initial commit: Basic Gemini client. --- geminiwebpage.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 geminiwebpage.cpp (limited to 'geminiwebpage.cpp') diff --git a/geminiwebpage.cpp b/geminiwebpage.cpp new file mode 100644 index 0000000..3ac41aa --- /dev/null +++ b/geminiwebpage.cpp @@ -0,0 +1,34 @@ +#include "geminiwebpage.hpp" + +GeminiWebPage::GeminiWebPage(QObject *parent) : QWebEnginePage(parent) +{ + +} + +bool GeminiWebPage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) +{ + switch(type) + { + // link navigation + case QWebEnginePage::NavigationTypeLinkClicked: { + bool result = false; + emit this->navigationRequest(url, result); + return result; + } + + // manual navigation + case QWebEnginePage::NavigationTypeTyped: + return true; + + // we do this by hand! + case QWebEnginePage::NavigationTypeFormSubmitted: + case QWebEnginePage::NavigationTypeBackForward: + case QWebEnginePage::NavigationTypeReload: + return false; + + // forbidden by default + case QWebEnginePage::NavigationTypeOther: + case QWebEnginePage::NavigationTypeRedirect: + return false; + } +} -- cgit v1.2.3