aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/compileoutputwindow.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@theqtcompany.com>2015-09-18 14:29:59 +0200
committerDaniel Teske <daniel.teske@theqtcompany.com>2015-09-18 13:18:10 +0000
commit897718be05f712c84d847d518c485f91007d5c3b (patch)
treec719a41206b8b09172030da404dc6aec6a68e234 /src/plugins/projectexplorer/compileoutputwindow.cpp
parente298500379839b23e503d0aaa25df90cfaa83f8e (diff)
CompileOutputWindow: Tweak clicking on "links"
Change the cursor to a HandCursor if hoovering over a link, and make it single-click instead of double click. Task-number: QTCREATORBUG-7542 Change-Id: I606510141eceece1f2b65f6ec1c6fffa838f2788 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/compileoutputwindow.cpp')
-rw-r--r--src/plugins/projectexplorer/compileoutputwindow.cpp29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp
index 56126631e4..09cbfe319e 100644
--- a/src/plugins/projectexplorer/compileoutputwindow.cpp
+++ b/src/plugins/projectexplorer/compileoutputwindow.cpp
@@ -85,6 +85,8 @@ public:
connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested,
this, &CompileOutputTextEdit::saveSettings);
+
+ setMouseTracking(true);
}
void saveSettings()
@@ -109,17 +111,36 @@ private slots:
}
protected:
- void mouseDoubleClickEvent(QMouseEvent *ev)
+ void mouseMoveEvent(QMouseEvent *ev)
{
int line = cursorForPosition(ev->pos()).block().blockNumber();
- if (unsigned taskid = m_taskids.value(line, 0))
- TaskHub::showTaskInEditor(taskid);
+ if (m_taskids.value(line, 0))
+ viewport()->setCursor(Qt::PointingHandCursor);
else
- QPlainTextEdit::mouseDoubleClickEvent(ev);
+ viewport()->setCursor(Qt::IBeamCursor);
+ QPlainTextEdit::mouseMoveEvent(ev);
+ }
+
+ void mousePressEvent(QMouseEvent *ev)
+ {
+ m_mousePressPosition = ev->pos();
+ QPlainTextEdit::mousePressEvent(ev);
+ }
+
+ void mouseReleaseEvent(QMouseEvent *ev)
+ {
+ if ((m_mousePressPosition - ev->pos()).manhattanLength() < 4) {
+ int line = cursorForPosition(ev->pos()).block().blockNumber();
+ if (unsigned taskid = m_taskids.value(line, 0))
+ TaskHub::showTaskInEditor(taskid);
+ }
+
+ QPlainTextEdit::mouseReleaseEvent(ev);
}
private:
QHash<int, unsigned int> m_taskids; //Map blocknumber to taskId
+ QPoint m_mousePressPosition;
};
} // namespace Internal