aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/profile
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-14 10:39:18 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-14 10:39:18 -0800
commitb800530bcdd7779126bd623532ad8f6add852425 (patch)
treefc6bb9e8d7740d4d91a0af32461ff49a741624ed /qt-ui/profile
parent87575a24c2aad61b4e0b4e4b4493d581f9fc1b41 (diff)
downloadsubsurface-b800530bcdd7779126bd623532ad8f6add852425.tar.gz
Don't show a pixmap for heading event
Some dive computers appear to have heading data in every sample. In order to avoid a completely cluttered dive profile we no longer show a flag for every heading event but instead show a basically transparent pixmap (which is invisible to the user) that allows us to report the heading information in the tooltip but leaves the profile uncluttered. Fixes #586 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/profile')
-rw-r--r--qt-ui/profile/diveeventitem.cpp11
-rw-r--r--qt-ui/profile/diveeventitem.h1
2 files changed, 11 insertions, 1 deletions
diff --git a/qt-ui/profile/diveeventitem.cpp b/qt-ui/profile/diveeventitem.cpp
index 38f359908..5ceb4693b 100644
--- a/qt-ui/profile/diveeventitem.cpp
+++ b/qt-ui/profile/diveeventitem.cpp
@@ -20,6 +20,12 @@ DiveEventItem::DiveEventItem(QObject *parent) : DivePixmapItem(parent),
internalEvent(NULL)
{
setFlag(ItemIgnoresTransformations);
+ // create a narrow but somewhat tall, basically transparent pixmap
+ // that allows tooltips to work when we don't want to show a specific
+ // pixmap for an event, but want to show the event value in the tooltip
+ // (e.g. if there is heading data in every sample)
+ transparentPixmap = new QPixmap(4, 20);
+ transparentPixmap->fill(QColor::fromRgbF(1.0, 1.0, 1.0, 0.01));
}
@@ -70,7 +76,10 @@ void DiveEventItem::setupPixmap()
} else if (internalEvent->type == SAMPLE_EVENT_BOOKMARK) {
setPixmap(EVENT_PIXMAP(":flag"));
} else if (strcmp(internalEvent->name, "heading") == 0) {
- setPixmap(EVENT_PIXMAP(":flag"));
+ // some dive computers have heading in every sample...
+ // set an "almost invisible" pixmap
+ // so we get the tooltip but not the clutter
+ setPixmap(*transparentPixmap);
} else if (event_is_gaschange(internalEvent)) {
if (internalEvent->gas.mix.he.permille)
setPixmap(EVENT_PIXMAP_BIGGER(":gaschangeTrimix"));
diff --git a/qt-ui/profile/diveeventitem.h b/qt-ui/profile/diveeventitem.h
index f358fee6d..2657b3b50 100644
--- a/qt-ui/profile/diveeventitem.h
+++ b/qt-ui/profile/diveeventitem.h
@@ -29,6 +29,7 @@ private:
DiveCartesianAxis *hAxis;
DivePlotDataModel *dataModel;
struct event *internalEvent;
+ QPixmap *transparentPixmap;
};
#endif // DIVEEVENTITEM_H