Small API adjustments of ToolTipManager as discussed with Aaron:

* clearContent() is back, but no default value to setContent();
 * delayedHide() is no more public.

After all I didn't rename it and make it full of static methods
because I noticed the following in the meantime:
1) register/unregister being still around, and passing the
QGraphicsWidget* in most methods, effectively makes it a manager;
2) all managers in libplasma use the singleton pattern, so let's
keep consistency.

CCMAIL: aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875285
This commit is contained in:
Kevin Ottens 2008-10-23 22:14:07 +00:00
parent 32fa54a46d
commit 3488fd23c7
2 changed files with 19 additions and 11 deletions

View File

@ -81,6 +81,8 @@ public :
void clearTips(); void clearTips();
void doDelayedHide();
QGraphicsWidget *currentWidget; QGraphicsWidget *currentWidget;
QTimer *showTimer; QTimer *showTimer;
QTimer *hideTimer; QTimer *hideTimer;
@ -171,11 +173,11 @@ bool ToolTipManager::isVisible(QGraphicsWidget *widget) const
} }
} }
void ToolTipManager::delayedHide() void ToolTipManagerPrivate::doDelayedHide()
{ {
d->showTimer->stop(); // stop the timer to show the tooltip showTimer->stop(); // stop the timer to show the tooltip
d->delayedHide = true; delayedHide = true;
d->hideTimer->start(250); hideTimer->start(250);
} }
void ToolTipManager::hide(QGraphicsWidget *widget) void ToolTipManager::hide(QGraphicsWidget *widget)
@ -242,6 +244,11 @@ void ToolTipManager::setContent(QGraphicsWidget *widget, const Content &data)
tooltip->updateTheme(); tooltip->updateTheme();
} }
void ToolTipManager::clearContent(QGraphicsWidget *widget)
{
setContent(widget, Content());
}
void ToolTipManager::setState(ToolTipManager::State state) void ToolTipManager::setState(ToolTipManager::State state)
{ {
d->state = state; d->state = state;
@ -409,7 +416,7 @@ bool ToolTipManager::eventFilter(QObject *watched, QEvent *event)
} }
case QEvent::GraphicsSceneHoverLeave: case QEvent::GraphicsSceneHoverLeave:
delayedHide(); d->doDelayedHide();
break; break;
case QEvent::GraphicsSceneMousePress: case QEvent::GraphicsSceneMousePress:

View File

@ -120,11 +120,6 @@ public:
*/ */
bool isVisible(QGraphicsWidget *widget) const; bool isVisible(QGraphicsWidget *widget) const;
/**
* Hides the currently showing tooltip after a short amount of time.
*/
void delayedHide();
/** /**
* Hides the tooltip for a widget immediately. * Hides the tooltip for a widget immediately.
* *
@ -172,7 +167,13 @@ public:
* is passed in, the tooltip content will be reset. * is passed in, the tooltip content will be reset.
*/ */
void setContent(QGraphicsWidget *widget, void setContent(QGraphicsWidget *widget,
const ToolTipManager::Content &data = ToolTipManager::Content()); const ToolTipManager::Content &data);
/**
* Clears the tooltip data associated with this widget, but keeps
* the widget registered.
*/
void clearContent(QGraphicsWidget *widget);
/** /**
* Sets the current state of the manager. * Sets the current state of the manager.