diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-07-01 12:07:38 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-07-01 14:08:20 -0700 |
commit | 3c7bb789afd69bb0163f6d3002ac7ea2ee529817 (patch) | |
tree | 8864bc45ee85ecb1f3b19ab909c1163e9fef53fb | |
parent | 81f8ed901fbb1743fe3ae57476d2f453783cd7a7 (diff) | |
download | subsurface-3c7bb789afd69bb0163f6d3002ac7ea2ee529817.tar.gz |
Don't show gaschange events at the beginning of a dive
The initial gas change event is really special - it just specifies the gas
mix from the dive computer. So don't show it as an event if that already
matches the initial gas.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/profile/diveeventitem.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/qt-ui/profile/diveeventitem.cpp b/qt-ui/profile/diveeventitem.cpp index 73d58a672..aacb0af73 100644 --- a/qt-ui/profile/diveeventitem.cpp +++ b/qt-ui/profile/diveeventitem.cpp @@ -4,6 +4,7 @@ #include "animationfunctions.h" #include "libdivecomputer.h" #include "dive.h" +#include "planner.h" #include "profile.h" #include <QDebug> #include "gettextfromc.h" @@ -107,8 +108,22 @@ void DiveEventItem::eventVisibilityChanged(const QString &eventName, bool visibl bool DiveEventItem::shouldBeHidden() { + struct event *event = internalEvent; + + /* + * Gas change events - particularly at the beginning of a dive - are + * special. It's just the dive computer specifying the initial gas. + * + * Don't bother showing them if they match the first gas already + */ + if (!strcmp(event->name, "gaschange") && !event->time.seconds) { + struct gasmix *mix = get_gasmix_from_event(event); + struct dive *dive = current_dive; + if (dive && get_gasidx(dive, mix) <= 0) + return true; + } for (int i = 0; i < evn_used; i++) { - if (!strcmp(internalEvent->name, ev_namelist[i].ev_name) && ev_namelist[i].plot_ev == false) + if (!strcmp(event->name, ev_namelist[i].ev_name) && ev_namelist[i].plot_ev == false) return true; } return false; |