From edf545b3b36b6b9957719a65b36e49764f5d67cd Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Fri, 7 Nov 2014 14:05:34 +0100 Subject: [PATCH 1/2] Change mouseMarks only when needed. This might be useful if an application wants to be notified of the event. --- lib/TerminalDisplay.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index c5997c7..2f21544 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -2450,8 +2450,10 @@ void TerminalDisplay::setWordCharacters(const QString& wc) void TerminalDisplay::setUsesMouse(bool on) { - _mouseMarks = on; - setCursor( _mouseMarks ? Qt::IBeamCursor : Qt::ArrowCursor ); + if (_mouseMarks != on) { + _mouseMarks = on; + setCursor( _mouseMarks ? Qt::IBeamCursor : Qt::ArrowCursor ); + } } bool TerminalDisplay::usesMouse() const { From 6f9d9a3c11cdbf082174b308e88e275ac7d9e9f6 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Fri, 7 Nov 2014 14:10:24 +0100 Subject: [PATCH 2/2] Add event to notify the application that the shell application uses mouse. Conflicts: lib/TerminalDisplay.h --- lib/TerminalDisplay.cpp | 1 + lib/TerminalDisplay.h | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 2f21544..654cce0 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -2453,6 +2453,7 @@ void TerminalDisplay::setUsesMouse(bool on) if (_mouseMarks != on) { _mouseMarks = on; setCursor( _mouseMarks ? Qt::IBeamCursor : Qt::ArrowCursor ); + emit usesMouseChanged(); } } bool TerminalDisplay::usesMouse() const diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index c32d799..b298010 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -571,6 +571,7 @@ signals: void termLostFocus(); void notifyBell(const QString&); + void usesMouseChanged(); protected: virtual bool event( QEvent * );