diff options
author | 2023-01-26 21:47:14 +0530 | |
---|---|---|
committer | 2023-01-26 21:59:39 +0530 | |
commit | 0eb7ea05aa2eaeb451b713efa901eb7597c99b51 (patch) | |
tree | 2ac1bee1685ebbd5a233411e6e3a497cda12d58f /src/mainwindow.cpp | |
parent | ee519bcceeb5620b9ad55eabded794844ea6b483 (diff) | |
download | whatsie-0eb7ea05aa2eaeb451b713efa901eb7597c99b51.tar.gz whatsie-0eb7ea05aa2eaeb451b713efa901eb7597c99b51.zip |
fix: prevent zoom with ctrl+mouse
- set zoomfactor using settings
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r-- | src/mainwindow.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5cf7916..3d01ba0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -965,6 +965,7 @@ void MainWindow::handleLoadFinished(bool loaded) { updatePageTheme(); handleZoom(); injectMutationObserver(); + injectPreventScrollWheelZoomHelper(); injectFullWidthJavaScript(); injectClassChangeObserver(); injectNewChatJavaScript(); @@ -974,6 +975,28 @@ void MainWindow::handleLoadFinished(bool loaded) { } } +void MainWindow::injectPreventScrollWheelZoomHelper() { + QString js = R"( + (function () { + const SSWZ = function () { + this.keyScrollHandler = function (e) { + if (e.ctrlKey) { + e.preventDefault(); + return false; + } + } + }; + if (window === top) { + const sswz = new SSWZ(); + window.addEventListener('wheel', sswz.keyScrollHandler, { + passive: false + }); + } + })(); + )"; + webEngine->page()->runJavaScript(js); +} + void MainWindow::injectClassChangeObserver() { QString js = R"( const observer = new MutationObserver(() => { |