diff options
author | Thorbjørn Martsum <tmartsum@gmail.com> | 2013-06-23 08:46:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-25 14:12:54 +0200 |
commit | 241ba7dc071e563ca89ac681a4aafbee555bef36 (patch) | |
tree | 5a29f5f0376272cbc48dcf268b9402552656bb36 /src/widgets/kernel | |
parent | b11cb96f282fb1037ad31fbafe279c9a8a8dfeda (diff) |
QWidget - add property toolTipDuration
This adds a property that specifies how long a tooltip is displayed.
This partly solves:
Task-number: QTBUG-1016
Change-Id: Ieea218bbcb869f6b48e72913d967e74fa792f2e2
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 29 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.h | 3 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget_p.h | 1 |
3 files changed, 32 insertions, 1 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index cfccce7c41..3eb949f814 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -243,6 +243,9 @@ QWidgetPrivate::QWidgetPrivate(int version) #if !defined(QT_NO_IM) , imHints(Qt::ImhNone) #endif +#ifndef QT_NO_TOOLTIP + , toolTipDuration(-1) +#endif , inheritedFontResolveMask(0) , inheritedPaletteResolveMask(0) , leftmargin(0) @@ -8193,7 +8196,7 @@ bool QWidget::event(QEvent *event) #ifndef QT_NO_TOOLTIP case QEvent::ToolTip: if (!d->toolTip.isEmpty()) - QToolTip::showText(static_cast<QHelpEvent*>(event)->globalPos(), d->toolTip, this); + QToolTip::showText(static_cast<QHelpEvent*>(event)->globalPos(), d->toolTip, this, QRect(), d->toolTipDuration); else event->ignore(); break; @@ -10410,6 +10413,30 @@ QString QWidget::toolTip() const Q_D(const QWidget); return d->toolTip; } + +/*! + \property QWidget::toolTipDuration + \brief the widget's tooltip duration + \since 5.2 + + Specifies how long time the tooltip will be displayed, in milliseconds. + If the value is -1 (default) the duration is calculated depending on the length of the tooltip. + + \sa toolTip +*/ + +void QWidget::setToolTipDuration(int msec) +{ + Q_D(QWidget); + d->toolTipDuration = msec; +} + +int QWidget::toolTipDuration() const +{ + Q_D(const QWidget); + return d->toolTipDuration; +} + #endif // QT_NO_TOOLTIP diff --git a/src/widgets/kernel/qwidget.h b/src/widgets/kernel/qwidget.h index f90f2ee5f5..f579dbb9cd 100644 --- a/src/widgets/kernel/qwidget.h +++ b/src/widgets/kernel/qwidget.h @@ -178,6 +178,7 @@ class Q_WIDGETS_EXPORT QWidget : public QObject, public QPaintDevice Q_PROPERTY(bool windowModified READ isWindowModified WRITE setWindowModified DESIGNABLE isWindow) #ifndef QT_NO_TOOLTIP Q_PROPERTY(QString toolTip READ toolTip WRITE setToolTip) + Q_PROPERTY(int toolTipDuration READ toolTipDuration WRITE setToolTipDuration) #endif #ifndef QT_NO_STATUSTIP Q_PROPERTY(QString statusTip READ statusTip WRITE setStatusTip) @@ -376,6 +377,8 @@ public: #ifndef QT_NO_TOOLTIP void setToolTip(const QString &); QString toolTip() const; + void setToolTipDuration(int msec); + int toolTipDuration() const; #endif #ifndef QT_NO_STATUSTIP void setStatusTip(const QString &); diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h index 50f32af8b0..111dd7f9c5 100644 --- a/src/widgets/kernel/qwidget_p.h +++ b/src/widgets/kernel/qwidget_p.h @@ -644,6 +644,7 @@ public: QRegion dirty; #ifndef QT_NO_TOOLTIP QString toolTip; + int toolTipDuration; #endif #ifndef QT_NO_STATUSTIP QString statusTip; |