Review Request 119710: Don't close navigation tool-tips when the user tries to interact with them

Denis Steckelmacher steckdenis at yahoo.fr
Mon Aug 11 09:49:07 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119710/
-----------------------------------------------------------

Review request for KDevelop.


Repository: kdevplatform


Description
-------

Some navigation tool-tips can contain interactive elements, like scroll-bars (displayed if the documentation of a declaration is very long) or QtQuick elements (used in QML/JS). Event handling in Qt5 is a bit special and some care is needed in order to prevent the tool-tips from being closed when the user clicks in them:

* No need to handle focusIn/focusOut in the ContextBrowser plugin, the tool-tip already handles that and has more information. For instance, if the tool-tip gains focus, KateView will lose it, but the tool-tip should not be closed.
* When the tool-tip is activated by a click on it, QEvent::WindowDeactivate is sent to nearly every widget of the KDevelop main window (menu bars, buttons, Kate views, etc). This patch removes support for this event because it is not really needed: if a window deactivates, another one will activate or the mouse will go out of the tool-tip.


Diffs
-----

  plugins/contextbrowser/browsemanager.cpp d31df7c 
  plugins/contextbrowser/contextbrowser.cpp f9324da 
  util/activetooltip.cpp 2833c77 

Diff: https://git.reviewboard.kde.org/r/119710/diff/


Testing
-------

Opening navigation tool-tips with a scroll-bar works and the scroll-bar can be used. Quick-based interactive navigation widgets of QML/JS can also be used. The tool-tips are properly closed when the mouse goes out of them or when I alt-tab to another window.


Thanks,

Denis Steckelmacher

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140811/c42852c0/attachment-0001.html>


More information about the KDevelop-devel mailing list