summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Michael Andreen <harv@ruin.nu>2013-07-30 23:36:20 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-08-05 06:55:18 +0200
commit069f588d9dfc6ae6b93d19364846e8a6ed4af6a2 (patch)
tree671a2d252229fedc00524bd5f6e2a2956447a7ee /qt-ui
parent396b2d10317e49de029def1f4061e03e383c9040 (diff)
downloadsubsurface-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')
-rw-r--r--qt-ui/profilegraphics.cpp24
-rw-r--r--qt-ui/profilegraphics.h3
2 files changed, 2 insertions, 25 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();
diff --git a/qt-ui/profilegraphics.h b/qt-ui/profilegraphics.h
index f030ff1a8..0bcbf7529 100644
--- a/qt-ui/profilegraphics.h
+++ b/qt-ui/profilegraphics.h
@@ -35,7 +35,6 @@ public:
void expand();
void clear();
void addToolTip(const QString& toolTip, const QIcon& icon = QIcon());
- void removeToolTip(const QString& toolTip);
void refresh(struct graphics_context* gc, QPointF pos);
bool isExpanded();
void persistPos();
@@ -48,7 +47,7 @@ public slots:
private:
typedef QPair<QGraphicsPixmapItem*, QGraphicsSimpleTextItem*> ToolTip;
- QMap<QString, ToolTip > toolTips;
+ QList<ToolTip> toolTips;
QGraphicsPathItem *background;
QGraphicsLineItem *separator;
QGraphicsSimpleTextItem *title;