aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-09-17Separate method for heatmap color scalingGravatar Robert C. Helling
I separated out the color scaling and slightly simplified the expressions. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17Allow heat map to zoomGravatar Rick Walsh
Setting the pen to non-cosmetic means the painted width scales when zoomed Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17Adjust heat map colour scaleGravatar Rick Walsh
Make the heat map use a colour scale similar to that by Kevin Watt, as used in Simon Mitchell's presentation, Decompression Controversies https://www.youtube.com/watch?v=UY61E49lyos&t=2090&authuser=0 Undersaturated: cyan -> blue ->purple -> black Supersaturated up to M value: black -> yellow -> red Exceeding M value: red -> white Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17Cosmetic changes to Buehlmann codeGravatar Robert C. Helling
Change runtime table string from ZHL-16B to ZHL-16C to reflect he fact that we use 5min as half-time for the fastest compartment rather than 4min. Further more trade pow(2.0, ...) for exp(). Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17Introduce heat mapGravatar Robert C. Helling
This replaces the tissue percentage graph that probably nobody ever understood with a heat map like the one used in the discussion of bubble model deco. The information shown is the same but the saturation is now in the color while the tissue determines the y position. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17Preferences UI: graph tabstop order should match display orderGravatar Rick Walsh
When 'tabbing' through data fields, the order should be the same as the order displayed on the screen. Getting the order right in the .ui file fixes the tabstop order without needing to define it explicitly. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17Bump mobile versionGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17QML UI: two columns on 1024x768 iPadsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-10iOS build: no longer request location informationGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Update Subsurface-mobile manual stored in gitGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Update the README for building the iOS versionGravatar Dirk Hohndel
This still isn't quite straight forward, but at least now the README matches the process that I use again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Fix some warningsGravatar Dirk Hohndel
At least the warnings about size potentially being uninitialized seem correct and valid. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Update Subsurface-mobile version to 1.1.0Gravatar Dirk Hohndel
Just so that the iOS release has a sane starting point - and frankly, we've done a very poor job of maintaining this version number. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Update Subsurface-mobile manualGravatar Dirk Hohndel
Correctly differentiate Android and iOS features. Adapt style to be generally in the second person. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04iOS: Don't show "No GPS source available"Gravatar Dirk Hohndel
We don't support GPS on iOS right now, the message is confusing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04iOS build: re-enable building libraries for the simulatorGravatar Dirk Hohndel
We now build Kirigami as part of Subsurface-mobile itself, so the simulator builds work again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04iOS build: Fix compile failureGravatar Dirk Hohndel
Without this moc_SubsurfaceObjectWrapper doesn't compile. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Stop trying to fix up pressure sensor indexesGravatar Linus Torvalds
This removes 'fixup_dc_cylinder_index()', which was added to fix up the pressure sensor indexes from the Atomic Cobalt dive computer. Even for the Cobalt it really shouldn't matter, because the libdivecomputer backend for the Cobalt actually tries to do the right thing. See for example commit 8853a1ccd422 ("Associate the pressure samples with the primary tank.") in libdivecomputer. Some historical digging shows that the subsurface sample pressure index code came in from commit e32ba4d6d811 ("Improve tank handling for Cobalt"), dated Tue Oct 28 13:48:15 2014. And the libdivecomputer "use the right cylinder" code was around the same time (Fri Oct 10 20:29:17 2014 +0200). So I suspect that subsurface needed the fixup based on an older version of libdivecomputer. Jef's patch is a couple of weeks before, but we may not have tracked libdivecomputer religiously. The reason to remove this code is because it can (and does) mess up the sensor index when it is actually reliable, like in the multi-sensor case of the Suunto EON Steel. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Remove hacks regarding multiple gasmixes and cylindersGravatar Joakim Bygdell
Enabling cylinder edit in Subsurface-mobile our previous hacks regarding multiple cylinders and gasmixes must be removed. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04QML UI: Enable cylinder editGravatar Joakim Bygdell
This adds the option to select a cylinder when adding or editing a dive. Due to limited screen size we restrict the editing to the first cylinder only. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Settings fixup: gflow and gfhigh are intGravatar Rick Walsh
With the recent setting cleanup, gradient factors were set to bool, so were saved as 1/1, rather than say 50/80. This commit fixes that. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-29Teach 'interpolate()' about zero-sized rangesGravatar Linus Torvalds
No, they don't make sense. We should normally not have multiple samples that are on the same second. But they seem to happen on the EON Steel under some circumstances, and instead of dividing by zero when trying to interpolate across such a sample, do something sane. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-29Make sure DC_FIELD_TANK starts from a clean slate for each cylinderGravatar Linus Torvalds
We used to clear the 'dc_tank_t' for each dive, but then only clear the volume field in between each cylinder. That means that if the libdivecomputer back-end does not touch a field, it might contain the stale value from the previous tank information. I'm not sure this is actually much of an issue, since I'd expect back-ends do seem to initialize the fields fully (at least the EON Steel back-end does). But it's inconsistent. Also, the code was actually buggy because of the odd indentation: it would only ask for new tank information up to 'ntanks' tanks, but because of the final fixup that was done outside of the conditional, it would actually update the cylinder begin/end pressure data *beyond* 'ntanks', and just re-use the last libdivecomputer data for the rest of the cylinders. Again, in practice, that probably never really happened, but it is a real bug. The fixed-up code actually looks better too, imho, and is one line shorter because of the initialization now being done in one place rather than two. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-29Hacky workaround for multiple gas pressures per sampleGravatar Linus Torvalds
In subsurface, we only have one cylinder pressure per sample (well, technically two: we have a separate o2 pressure for rebreather diving). Which makes things "interesting" if the dive computer can actually have multiple pressure sensors, and can report them all concurrently. Like the Suunto EON Steel. We used to just take the last one (each sensor reading would just overwrite any previous ones), and this quick hack just changes the logic to prefer the "current" cylinder instead. It's wrong, and it's stupid, but it's the best we can do without major surgery. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Settings update: Fix git_local_only loadingGravatar Tomaz Canabrava
Thanks to the unittesting. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Add the beginning of the Preferences testGravatar Tomaz Canabrava
And it actually helped me to find a bug. yey. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Settings update: Fix cloud_git_urlGravatar Tomaz Canabrava
I was freeing data segment, sigh. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Add renumber test as a dependency for running the testsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Settings update: Fix loading "show pictures" in profile testsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Android build: don't try to bundle libssh2, eitherGravatar Dirk Hohndel
Since we don't link against it, no need to bundle it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Android build: don't link against libssh2Gravatar Dirk Hohndel
We don't use ssh-based git in Subsurface-mobile, so there's no reason to link against it. This should hopefully fix the current issues with the Android APK on some devices. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Fix missing groups and Language initializationGravatar Tomaz Canabrava
There's one function named uiLanguage() that should return the current uiLanguage() that subsurface is running, but it actually sets a whole lot of preferences, I think that the general idea of that function is okay, but it seems broken for me. still, I used it to load the correct language from the preferences since it's what this function is currently doing right now. Also, a lot of missing groups where added. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Only set if value changed + bugfixes.Gravatar Tomaz Canabrava
Only set the settings if it actually changes, when the user clicked on the save button on the preferences, the code would run in every dialog saving each preferences on disk, but this is uneeded if the value didn't changed. Also, while doing that, I found a couple of places where I used the wrong field, which are now fixed. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Fix compile for Subsurface-mobileGravatar Dirk Hohndel
The Settings update series didn't make the corresponding changes for Subsurface-mobile. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Fix broken UpdateManger logicGravatar Dirk Hohndel
In commit b76c1846bbfd ("Settings update: Simplify Update Manager") the logic for when to show the UpdateManger question to the user got broken. Unintuitively, a boolean setting actually has three possible values. True, False, and Unset. This patch fixes things to work as designed again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Remember to load the "UpdateManager" settingsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Move loadPreferences out of qt-helper.cppGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Use the Settings to store the plannersettingsGravatar Tomaz Canabrava
Instead of settings things manually in the code. (btw, if we use lambdas the code can be quite smaller) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Organize the connect calls per object.Gravatar Tomaz Canabrava
Just to make it easy on the eyes. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Move preferences sync / initializationGravatar Tomaz Canabrava
Move Preferences sync / initialization out of the planner widget prerferences to the ObjectWrapper. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Fix Facebook Widget to use the SettingsObjectWrapperGravatar Tomaz Canabrava
Fix facebook widget to use the SettingsObjectWrapper instead of figthing our complementary Settings each call. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Simplify code by using the SettingsObjectHelperGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Some code cleanupGravatar Tomaz Canabrava
The only block of code that I removed here is because the QSettings preferences that is being read is the exact one that we populate on the prefs. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Remove uneeded includesGravatar Tomaz Canabrava
and comment out questionable code. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Correct commentGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Remove unused include and add FIXME commentGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Add "Dive Computer" settings to SettingsObjectWrapperGravatar Tomaz Canabrava
For some reason, the dive computer settings weren't in the settings prefs. This moves it, makes the boilerplate on Settings ObjectWrapper and make things compile. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Remove unused include & variable.Gravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Simplify Update ManagerGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27Settings update: Add UpdateManagerSettings to SettingsObjectWrapperGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>