aboutsummaryrefslogtreecommitdiff
path: root/src/qt/guiutil.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2012-04-13 17:10:50 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2012-05-05 10:20:52 +0200
commit3793fa09ff920fc720dfad3738f105d2c9563662 (patch)
tree87e3a01f4fb1dea5c692d87fad087774fa2fbad7 /src/qt/guiutil.h
parent4c9183e8bb6dc3faf80e301cf07c2d4d3abff405 (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.h18
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