CompileOutput: Activate links only on left button click

Complements a7ffd67a91.

Change-Id: I3e70cf635774db3e126984dd70362aa0d3baa82a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Orgad Shaneh
2017-08-24 08:32:13 +03:00
committed by Orgad Shaneh
parent 119ff05ccc
commit e59874f531

View File

@@ -110,8 +110,8 @@ private:
protected: protected:
void mouseMoveEvent(QMouseEvent *ev) void mouseMoveEvent(QMouseEvent *ev)
{ {
int line = cursorForPosition(ev->pos()).block().blockNumber(); const int line = cursorForPosition(ev->pos()).block().blockNumber();
if (m_taskids.value(line, 0)) if (m_taskids.contains(line) && m_mousePressButton == Qt::NoButton)
viewport()->setCursor(Qt::PointingHandCursor); viewport()->setCursor(Qt::PointingHandCursor);
else else
viewport()->setCursor(Qt::IBeamCursor); viewport()->setCursor(Qt::IBeamCursor);
@@ -121,23 +121,27 @@ protected:
void mousePressEvent(QMouseEvent *ev) void mousePressEvent(QMouseEvent *ev)
{ {
m_mousePressPosition = ev->pos(); m_mousePressPosition = ev->pos();
m_mousePressButton = ev->button();
QPlainTextEdit::mousePressEvent(ev); QPlainTextEdit::mousePressEvent(ev);
} }
void mouseReleaseEvent(QMouseEvent *ev) void mouseReleaseEvent(QMouseEvent *ev)
{ {
if ((m_mousePressPosition - ev->pos()).manhattanLength() < 4) { if ((m_mousePressPosition - ev->pos()).manhattanLength() < 4
&& m_mousePressButton == Qt::LeftButton) {
int line = cursorForPosition(ev->pos()).block().blockNumber(); int line = cursorForPosition(ev->pos()).block().blockNumber();
if (unsigned taskid = m_taskids.value(line, 0)) if (unsigned taskid = m_taskids.value(line, 0))
TaskHub::showTaskInEditor(taskid); TaskHub::showTaskInEditor(taskid);
} }
m_mousePressButton = Qt::NoButton;
QPlainTextEdit::mouseReleaseEvent(ev); QPlainTextEdit::mouseReleaseEvent(ev);
} }
private: private:
QHash<int, unsigned int> m_taskids; //Map blocknumber to taskId QHash<int, unsigned int> m_taskids; //Map blocknumber to taskId
QPoint m_mousePressPosition; QPoint m_mousePressPosition;
Qt::MouseButton m_mousePressButton = Qt::NoButton;
}; };
} // namespace Internal } // namespace Internal