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.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/widgets/kristalltextbrowser.cpp b/src/widgets/kristalltextbrowser.cpp
index 0843905..c813b05 100644
--- a/src/widgets/kristalltextbrowser.cpp
+++ b/src/widgets/kristalltextbrowser.cpp
@@ -5,12 +5,11 @@
KristallTextBrowser::KristallTextBrowser(QWidget *parent) :
QTextBrowser(parent)
{
-
+ connect(this, &QTextBrowser::anchorClicked, this, &KristallTextBrowser::on_anchorClicked);
}
void KristallTextBrowser::mouseReleaseEvent(QMouseEvent *event)
{
- this->last_button = event->button();
if(event->button() == Qt::MiddleButton) {
// Fake a middle-click event here
QMouseEvent fake_event {
@@ -21,8 +20,15 @@ void KristallTextBrowser::mouseReleaseEvent(QMouseEvent *event)
event->modifiers()
};
+ this->signal_new_tab = true;
QTextBrowser::mouseReleaseEvent(&fake_event);
} else {
+ this->signal_new_tab = event->modifiers().testFlag(Qt::ControlModifier);
QTextBrowser::mouseReleaseEvent(event);
}
}
+
+void KristallTextBrowser::on_anchorClicked(const QUrl &url)
+{
+ emit this->anchorClicked(url, this->signal_new_tab);
+}