OutputWindow: Activate links only on left button click

Change-Id: I650da02a6f084d1db3be3891a575d4f97df06aef
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Orgad Shaneh
2017-08-23 08:17:48 +03:00
committed by Orgad Shaneh
parent 95b5477cc4
commit a7ffd67a91

View File

@@ -61,7 +61,7 @@ public:
bool enforceNewline = false;
bool scrollToBottom = true;
bool linksActive = true;
bool mousePressed = false;
Qt::MouseButton mouseButtonPressed = Qt::NoButton;
bool m_zoomEnabled = false;
float m_originalFontSize = 0.;
int maxLineCount = 100000;
@@ -134,15 +134,13 @@ OutputWindow::~OutputWindow()
void OutputWindow::mousePressEvent(QMouseEvent * e)
{
d->mousePressed = true;
d->mouseButtonPressed = e->button();
QPlainTextEdit::mousePressEvent(e);
}
void OutputWindow::mouseReleaseEvent(QMouseEvent *e)
{
d->mousePressed = false;
if (d->linksActive) {
if (d->linksActive && d->mouseButtonPressed == Qt::LeftButton) {
const QString href = anchorAt(e->pos());
if (d->formatter)
d->formatter->handleLink(href);
@@ -150,6 +148,7 @@ void OutputWindow::mouseReleaseEvent(QMouseEvent *e)
// Mouse was released, activate links again
d->linksActive = true;
d->mouseButtonPressed = Qt::NoButton;
QPlainTextEdit::mouseReleaseEvent(e);
}
@@ -157,7 +156,7 @@ void OutputWindow::mouseReleaseEvent(QMouseEvent *e)
void OutputWindow::mouseMoveEvent(QMouseEvent *e)
{
// Cursor was dragged to make a selection, deactivate links
if (d->mousePressed && textCursor().hasSelection())
if (d->mouseButtonPressed != Qt::NoButton && textCursor().hasSelection())
d->linksActive = false;
if (!d->linksActive || anchorAt(e->pos()).isEmpty())