auto-hide feature in KTextEdit does not shown the mouse pointer again on mouse moves
David Faure
faure at kde.org
Tue Dec 18 21:23:56 GMT 2007
On Thursday 09 August 2007, David Faure wrote:
> On Monday 06 August 2007, Nico Kruber wrote:
> > I noticed that once the mouse pointer is hidden within a KTextEdit it is not
> > shown again by moving the mouse alone as it was described and should probably
> > work.
> > I tried to look into this and figured that mouse events in a QTextEdit are
> > handled by its viewport and send to the specific QTextEdit::mouseMoveEvent()
> > etc. methods but not processed any further so installing an event filter on
> > the KTextEdit does not get the mouse events. Installing it on its viewport
> > does not help either because this one does not get key events so the cursor
> > is not hidden by them.
> > I tried reimplementing the viewportEvent() method and call
> > KCursor::autoHideEventFilter() manually from there but this method always
> > complained about that an event filter was not applied yet ( there probably is
> > already an event before the "KCursor::setAutoHideCursor( this, true,
> > false );" in the constructors ).
> >
> > My final fix was to install an event filter on the viewport and call it from
> > there. I put the eventfilter() method into the KTextEdit class - probably not
> > the right way you want it to be, but I don't know where else without creating
> > a new class which kinda seems unnecessary for one method.
> >
> >
> > I hope this helps resolving this issue - there might be more classes which
> > need that modification in order to get the auto-hide function working - and I
> > also hope I got the right mailing list.
>
> From your patch, I would say the bug is in KCursor. It should handle scrollareas
> all by itself, without the need for such a change in the widget itself (e.g. KTextEdit).
>
> I didn't test the attached patch, but how about something like this?
> Or do you think that both the widget and the viewport need an event filter
> because some events are sent to one and some events are sent to the other?
> That's quite possible... But in that case, too, the fix has to be done inside KCursor[PrivateAutoHideEventFilter],
> not inside KTextEdit.
Fixed in KCursor now, see http://bugs.kde.org/show_bug.cgi?id=153241 for details.
--
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
More information about the kde-core-devel
mailing list