aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/kristalltextbrowser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kristalltextbrowser.cpp')
-rw-r--r--src/widgets/kristalltextbrowser.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/widgets/kristalltextbrowser.cpp b/src/widgets/kristalltextbrowser.cpp
new file mode 100644
index 0000000..0843905
--- /dev/null
+++ b/src/widgets/kristalltextbrowser.cpp
@@ -0,0 +1,28 @@
+#include "kristalltextbrowser.hpp"
+
+#include <QMouseEvent>
+
+KristallTextBrowser::KristallTextBrowser(QWidget *parent) :
+ QTextBrowser(parent)
+{
+
+}
+
+void KristallTextBrowser::mouseReleaseEvent(QMouseEvent *event)
+{
+ this->last_button = event->button();
+ if(event->button() == Qt::MiddleButton) {
+ // Fake a middle-click event here
+ QMouseEvent fake_event {
+ event->type(),
+ event->localPos(),
+ Qt::LeftButton,
+ event->buttons(),
+ event->modifiers()
+ };
+
+ QTextBrowser::mouseReleaseEvent(&fake_event);
+ } else {
+ QTextBrowser::mouseReleaseEvent(event);
+ }
+}