diff options
author | Michael Andreen <harv@ruin.nu> | 2013-07-30 23:36:20 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-08-05 06:55:18 +0200 |
commit | 069f588d9dfc6ae6b93d19364846e8a6ed4af6a2 (patch) | |
tree | 671a2d252229fedc00524bd5f6e2a2956447a7ee /qt-ui/profilegraphics.cpp | |
parent | 396b2d10317e49de029def1f4061e03e383c9040 (diff) | |
download | subsurface-069f588d9dfc6ae6b93d19364846e8a6ed4af6a2.tar.gz |
Support more than one event of the same type in Qt tooltip.
Since the tooltip text was used as key in the map, two events of the
same type, close to eachother, would cause one of them to not be
removed.
Since ToolTip::removeToolTip() isn't used, we don't need a QMap and can
use a QList instead, so all tooltips are properly cleared.
Signed-off-by: Michael Andreen <harv@ruin.nu>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/profilegraphics.cpp')
-rw-r--r-- | qt-ui/profilegraphics.cpp | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/qt-ui/profilegraphics.cpp b/qt-ui/profilegraphics.cpp index e2604c684..e85bfc5e1 100644 --- a/qt-ui/profilegraphics.cpp +++ b/qt-ui/profilegraphics.cpp @@ -1190,32 +1190,10 @@ void ToolTipItem::addToolTip(const QString& toolTip, const QIcon& icon) textItem->setPos(SPACING + ICON_SMALL + SPACING, yValue); textItem->setBrush(QBrush(Qt::white)); textItem->setFlag(ItemIgnoresTransformations); - toolTips[toolTip] = qMakePair(iconItem, textItem); + toolTips.push_back(qMakePair(iconItem, textItem)); expand(); } -void ToolTipItem::removeToolTip(const QString& toolTip) -{ - ToolTip toBeRemoved = toolTips[toolTip]; - delete toBeRemoved.first; - delete toBeRemoved.second; - toolTips.remove(toolTip); - - int toolTipIndex = 0; - - // We removed a toolTip, let's move the others to the correct location - Q_FOREACH(ToolTip t, toolTips) { - double yValue = title->boundingRect().height() + SPACING + toolTipIndex * ICON_SMALL + SPACING; - - // Icons can be null. - if (t.first) - t.first->setPos(SPACING, yValue); - - t.second->setPos(SPACING + ICON_SMALL + SPACING, yValue); - toolTipIndex++; - } -} - void ToolTipItem::refresh(struct graphics_context *gc, QPointF pos) { clear(); |