diff options
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(() => { |