浏览代码

Add Back/Forward mouse buttons handler.

Denis Shemanaev 4 年之前
父节点
当前提交
328c374e07
共有 1 个文件被更改,包括 17 次插入0 次删除
  1. 17 0
      src/ui/EventFilter.cpp

+ 17 - 0
src/ui/EventFilter.cpp

@@ -7,6 +7,7 @@
 #include "settings/SettingsComponent.h"
 #include "input/InputKeyboard.h"
 #include "KonvergoWindow.h"
+#include <QQuickItem>
 
 #include <QKeyEvent>
 #include <QObject>
@@ -85,6 +86,22 @@ bool EventFilter::eventFilter(QObject* watched, QEvent* event)
         }
       }
     }
+
+    if (event->type() == QEvent::MouseButtonPress)
+    {
+      QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(event);
+
+      if (mouseEvent) {
+        QQuickItem* webView = window->findChild<QQuickItem*>("web");
+
+        if (mouseEvent->button() == Qt::BackButton)
+          QMetaObject::invokeMethod(webView, "goBack");
+
+        if (mouseEvent->button() == Qt::ForwardButton)
+          QMetaObject::invokeMethod(webView, "goForward");
+      }
+    }
+
     return QObject::eventFilter(watched, event);
   }