aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/WebView.cpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-04-20 22:57:32 +0530
committerAkshay Nair <phenax5@gmail.com>2025-05-02 16:17:49 +0530
commit3f5325f59ba7f8552d093fdafd9674b713f3cad9 (patch)
tree481c26e17714fd673c024aba3c3514586f0fe3bb /src/widgets/WebView.cpp
parent1dd6332756b38bf4bbffeef9db6599320c03ca9a (diff)
downloadnull-browser-3f5325f59ba7f8552d093fdafd9674b713f3cad9.tar.gz
null-browser-3f5325f59ba7f8552d093fdafd9674b713f3cad9.zip
Add scrolling controls
Diffstat (limited to 'src/widgets/WebView.cpp')
-rw-r--r--src/widgets/WebView.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/widgets/WebView.cpp b/src/widgets/WebView.cpp
index aead605..0ec2a74 100644
--- a/src/widgets/WebView.cpp
+++ b/src/widgets/WebView.cpp
@@ -21,3 +21,25 @@ void WebView::open_devtools() {
page()->setDevToolsPage(devtools_window->page());
}
+
+void WebView::scroll_increment(int deltax, int deltay) {
+ auto code = QString(R"((() => {
+ const $el = document.scrollingElement;
+ $el.scrollTo($el.scrollLeft + %1, $el.scrollTop + %2);
+ })())")
+ .arg(deltax)
+ .arg(deltay);
+
+ page()->runJavaScript(code);
+}
+
+void WebView::scroll_to_top() {
+ auto code = QString(R"(document.scrollingElement.scrollTo(0, 0))");
+ page()->runJavaScript(code);
+}
+
+void WebView::scroll_to_bottom() {
+ auto code =
+ QString(R"(document.scrollingElement.scrollTo(0, document.scrollingElement.scrollHeight))");
+ page()->runJavaScript(code);
+}