KToolTipHelper

Search for usage in LXR

#include <KToolTipHelper>

Inheritance diagram for KToolTipHelper:

Public Member Functions

virtual bool eventFilter (QObject *watched, QEvent *event) override
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo () const const
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

Static Public Member Functions

static KToolTipHelperinstance ()
 
static const QString whatsThisHintOnly ()
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

An event filter used to enhance tooltips.

Example: Without this class, a tooltip of a QToolButton of a "New" action will read something like "New File". Using this class, the tooltip can be enhanced to read something like "New File (Ctrl+N)" and in the next line smaller "Press Shift for help.". Pressing Shift will open the "What's This" context help for that widget. If a hyperlink in that help is clicked, the corresponding event will also be filtered by this class and open the linked location.

The extra text added to tooltips is only shown when available and where it makes sense. If a QToolButton has no associated shortcut and an empty QWidget::whatsThis(), this class won't tamper with the requested tooltip at all.

This class also activates tooltips for actions in QMenus but only when it makes sense like when the tooltip isn't equal to the already displayed text.

If you want the "Press Shift for help." line to be displayed for a widget that has whatsThis() but no toolTip() take a look at KToolTipHelper::whatsThisHintOnly().

The enhanced tooltips can be enabled at any time after the QApplication was constructed with

qApp->installEventFilter(KToolTipHelper::instance());

Therefore, to de-activate them you can call

qApp->removeEventFilter(KToolTipHelper::instance());

any time later.

If you want KToolTipHelper to not tamper with certain QEvents, e.g. you want to handle some tooltips differently or you want to change what happens when a QWhatsThisClickedEvent is processed, first remove KToolTipHelper as an event filter just like in the line of code above. Then create your own custom EventFilter that handles those QEvents differently and for all cases that you don't want to handle differently call

return KToolTipHelper::instance()->eventFilter(watched, event);
virtual bool eventFilter(QObject *watched, QEvent *event) override
Filters QEvent::ToolTip if an enhanced tooltip is available for the widget.
virtual bool event(QEvent *e)
QList< T > findChildren(Qt::FindChildOptions options) const const

KMainWindow will have this EventFilter installed by default from framework version 5.84 onward so if you want to opt out of that, remove the EventFilter in the constructor of your MainWindow class inheriting from KMainWindow.

See also
QToolTip
Since
5.84

Definition at line 68 of file ktooltiphelper.h.

Member Function Documentation

◆ eventFilter()

bool KToolTipHelper::eventFilter ( QObject * watched,
QEvent * event )
overridevirtual

Filters QEvent::ToolTip if an enhanced tooltip is available for the widget.

Filters the QEvent::KeyPress that is used to expand an expandable tooltip. Filters QEvent::WhatsThisClicked so hyperlinks in whatsThis() texts work.

See also
QObject::eventFilter()
QHelpEvent

Reimplemented from QObject.

Definition at line 58 of file ktooltiphelper.cpp.

◆ instance()

KToolTipHelper * KToolTipHelper::instance ( )
static

Definition at line 28 of file ktooltiphelper.cpp.

◆ whatsThisHintOnly()

const QString KToolTipHelper::whatsThisHintOnly ( )
static

Use this to have a widget show "Press Shift for help." as its tooltip.

widget->setToolTip(KToolTipHelper::whatsThisHintOnly());
static const QString whatsThisHintOnly()
Use this to have a widget show "Press Shift for help." as its tooltip.

KToolTipHelper won't show that tooltip if the widget's whatsThis() is empty.

Returns
a QString that is interpreted by this class to show the expected tooltip.

Definition at line 79 of file ktooltiphelper.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 3 2024 11:52:03 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.