diff options
Diffstat (limited to 'src/widgets/kristalltextbrowser.cpp')
| -rw-r--r-- | src/widgets/kristalltextbrowser.cpp | 10 |
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); +} |
