diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2012-04-13 17:10:50 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2012-05-05 10:20:52 +0200 |
commit | 3793fa09ff920fc720dfad3738f105d2c9563662 (patch) | |
tree | 87e3a01f4fb1dea5c692d87fad087774fa2fbad7 /src/qt/guiutil.h | |
parent | 4c9183e8bb6dc3faf80e301cf07c2d4d3abff405 (diff) |
Allow Qt to wrap long tooltips (fixes #1063)
Implemented without having to touch any translation: by listening for QEvent::ToolTipChange events, then rewriting the tooltips to prefix `<qt/>` if it is not yet rich text.
Diffstat (limited to 'src/qt/guiutil.h')
-rw-r--r-- | src/qt/guiutil.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index ea1a4795c0..8e9aae1cb0 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -2,6 +2,7 @@ #define GUIUTIL_H #include <QString> +#include <QObject> QT_BEGIN_NAMESPACE class QFont; @@ -69,6 +70,23 @@ namespace GUIUtil // Determine whether a widget is hidden behind other windows bool isObscured(QWidget *w); + /** Qt event filter that intercepts ToolTipChange events, and replaces the tooltip with a rich text + representation if needed. This assures that Qt can word-wrap long tooltip messages. + Tooltips longer than the provided size threshold (in characters) are wrapped. + */ + class ToolTipToRichTextFilter: public QObject + { + Q_OBJECT + public: + ToolTipToRichTextFilter(int size_threshold, QObject *parent); + + protected: + bool eventFilter(QObject *obj, QEvent *evt); + + private: + int size_threshold; + }; + } // namespace GUIUtil #endif // GUIUTIL_H |