aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/kristalltextbrowser.cpp
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-29 00:16:34 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-29 00:16:34 +0200
commit1360cbe9cd11c99a23847600c820a900897dd381 (patch)
treed19a5a151cb4813369e67742acc984a37665c719 /src/widgets/kristalltextbrowser.cpp
parent741c71adff886f590081501932ec1520058d7def (diff)
downloadkristall-1360cbe9cd11c99a23847600c820a900897dd381.tar.gz
Makes Ctrl-LMB on a link open into a new tab.
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);
+}