Commit graph

11482 commits

Author SHA1 Message Date
Stefan Fuchs
ce420d7720 Prevent overflow in minimum gas calculation
For the "crazy" long and deep dives in "TestPlan" an overflow happened here.
Rearranged the calculation to have more margin.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-03-19 17:11:52 -07:00
Dirk Hohndel
220d25588f QML UI: enable caching of the details view
This way the dive on either side should be cached.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
783f9ee565 QML UI: don't explicitly position view
Instead have the view follow the currentItem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
7ffc619f4c QML UI: make profile drawing less verbose
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
10842b3eb3 QML UI: don't unset the currentIndex in the dive list
It's unclear why this code was added in the first place - removing it
makes the highlight of the selected dive in the dive list work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
dd1d90b529 QML UI: don't clip
At least that's what the QML documentation recommends.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
a2bc3e02f8 QML UI: small cleanups
Remove unused signal handler.
Small whitespace cleanup.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
9389fd0049 QML UI: don't access members of undefined objects
If we don't have a currentItem, don't try to access its members.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
33df10cbaa QML UI: small clarification
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Stefan Fuchs
2e2ccc1c52 Prefix and suffix changes in preferences and planner preferences
In preferences->profile:
Move "bar" from text description to entry field (5x)
Move "l/min" from text description to entry field
Add suffix "%" to GF values
Rename VPM-B conservatism

In planner preferences:
Add prefix "+" to VPM-B conservatism

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-03-18 08:34:04 -07:00
Salvador Cuñat
e2fe196d82 smtk-import fix is_same_cylinder()
Add return value to the gasmix condition, and fix the rest of the
conditions.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
5c757d5c38 smtk-import - Change cylinder import logic
Until now, we did the cylinder import based on its initial pressure (a
tank without pressure is an unused tank). Based in this assumption, we
just dropped those tanks whose initial press was 0, losing user
introduced tank definitions  and getting some duplicities due to one
cylinder being numbered (e.g.) 2 by libdivecomputer and 3 by SmartTrak.

The new workflow is: get every single tank reported by SmartTrak (giving
preference to libdivecomputer parsed data), then clean the cylinder
table reverse order, dropping tanks without description and  init or end
pressures, and checkig them against the previous cylinder to do a merge,
if they look the same, and try to avoid duplicities.

The new logic assumes a heavier workload for the benefit of lower data
loss (e.g. a user may get his/her tanks descriptions despite he/she
hasn't recorded their pressures because forgot the values or had an issue
with the gas transmitter).

Suggested-by: Alessandro Volpi <volpial@gmail.com>
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
16d37c254c smtk-import - Remove tank number limitation
In the past subsurface managed up to 8 tanks, but now it manages up to
20.  SmartTrak manages 10 (3 in older no trimix versions) so there is no
more need to drop the last tanks.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
20b348579b smtk-import rework smtk_build_tank_info()
The cylinder info is built one by one. This way, instead of passing dive
and tank number parameters, just passing a pointer to the tank been
worked seems preferable.

It also introduces lrint() in the function to round the doubles values
obtained from libmdb for tank size and workingpressure.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
36658d87f3 smtk-import - Add helper funcs to manage tank info
Framed in a full rework of the cylinders info import management, this
funcs will be used in next patches.

Functions merge_cylinder_type(), merge_cylinder_mix() and
merge_cylinder_info(), have been shamelessly copied from dive.c as they
have been removed by 162767aa dated 2017-03-11 just when I was going to
use them.

Macros MERGE_MAX() and MERGE_MIN() have just been copied from dive.c,
but they could be moved to dive.h so they could be used elsewhere if
needed.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
2cef8395b5 smtk-import Use lrint() when rounding to integer values
As commented on mailing list. Most numerical values from libmdb are
doubles obtained via strtod(), so, rounding them instead of just
truncating seems the correct way.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
9ddf2d2ad8 smtk-import Add smarttrak bookmarks parse capability
User can manually add bookmarks on the profile display of SmartTrak.
These are stored in a table with column names which made me think of
cartesian spatial coordinates. In the end the X coordinate is the time.
This makes possible to build subsurface events in those moments of the
dive. The other interesting data is just the text entered by the user.

Suggested-by: Alessandro Volpi <volpial@gmail.com>
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
9073c3a860 smtk-import - Add function smtk_free()
Group some reiterative freeing task under the imaginative function name
of smtk_free().

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Salvador Cuñat
1413b910a2 smtk-import - Fix memory leaks
Fixes some memory leaks, most of them excesive use of copy_string() in
places where it was unnecesary.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-03-18 08:33:31 -07:00
Jan Mulder
4f3a8dd693 user manual: code changes influencing manual (Preferences)
Commits 25dcee139 and 6305361d14 change the user interface, and this
needs to be adapted in the user manual too.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
4a067bde1b user manual: update dive computer configure screendump
The currect one was too old, and not in line with the current 4.6.3
situation.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
8cd2be27ee user manual: update list of supported dive computers to configure
Update the list of supported dive computers to configure. It
was a little out of sync to the code.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
1097ea1c61 user manual: be less verbose on Dropbox
The section on Dropbox is too verbose to my liking. The Subsurface
manual is not the place to elaborate extensively on something
external as Dropbox.

Removed a section.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
70aa8d30b1 user manual: dive list instead of dive profile
Selecting dives is done in the dive list, not in the dive profile.
Simple textual mistake.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
ba6ffc624c user manual: improved wording
Some change of wording. The split of a 10 dive trip in one of 4 and one
of 6 dives is just an example.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
44046126b0 user manual: remove paragraph
The removed paragraph is not really correct. You do not have to select a trip
to access trip manipulation context menu items, and the behaviour of +/- buttons
is so well known and commonplace that the paragraph before is more than enhough
to explain this trivial feature.

Solution: remove paragraph

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
ad62d8a731 user manual: TTS does not depend on SAC
This one little sentence confuses me: TTS is calculated assuming an ascent
surface air consumption (SAC) for the gas currently used.

Time to surface is a decompression + ascent time calculation only. Obviously, the diver
should plan to have suffient gas for this, but TTS is not a function of SAC. There is
the "remaining air time, RAT) some dive computers can calculate which uses TTS in
combination with SAC to assist the diver to start his ascent, but RAT != TTS.

Solution: remove the confusing sentence.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
3c2aaaf29c user manual: info box does not change
The info box for the dive profile is said to change to minimal when the
mouse pointer is outside the profile window. Testing this in 4.6.3 shows
that this is not the case. The info box does not change on window leave
of the pointer.

It might have worked that way before, but it is no big deal, so better to
change the manual to reflect the current working.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
acb38c9e00 user manual: pSCR is not driven from back gas by default
Generalize the wording. pSCRs are typically configured with a swichblock,
allowing insertion a any gas in the unit, equivalently with a gas change
on open circuit.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
0398af341d user manual: not typically nitrox
The fact that a pSCR is typically driven using nitrox is just flat wrong. A
pSCR can be considered as universal gas extender for any depth, so any driving gas.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
5a8f884390 user manual: the sections deals with pSCR so title it like that
As this section (almost exclusively) deals with pSCR reflect
that in the title.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
87860291c1 user manual: correct left and right clicking and a typo
left and right clicking where stated incorrectly, so corrected this.

Also, a 1 letter typo on the same area corrected, not justifying a seperate commit.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
1eec41b6cf user manual: cannot edit other characteristics
The edit option of a dive location only allows for edit of the name,
not any other attribute. Corrected text.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
0c688a4d19 user manual: the companion app deals with dive locations
The corrected text suggests that the Companion app deals with dives, but
it deals with locations of dives.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
97ee1dd3a0 user manual: correct very unclear/erroneous sentence
It said: Now select the appropriate locations, then select the
tab in the upper right, afterAndroid device.

Unclear to me, so corrected to what is intended here.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Jan Mulder
6a6cc7af40 user manual: remove sentence
The sentence: "Check the indicator at the top of the mobile screen for
internet activity, indicating the transfer of information" suggests something
that is very dependent on specific Android version and esp. settings of the
topbar icons.

Imho is better to remove this.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-17 09:36:52 -07:00
Martin Měřinský
8e1dec434b htttp > http 2017-03-13 10:28:06 -07:00
Martin Měřinský
6305361d14 Settings Graph is about dive Profile. 2017-03-13 10:28:06 -07:00
Martin Měřinský
25dcee139e Settings Defaults > General
These are more general options, than default values.
2017-03-13 10:28:06 -07:00
Martin Měřinský
3d89914633 Use GFLow, GFHigh (not GFlow, GF Low, GF low). 2017-03-13 10:28:06 -07:00
Martin Měřinský
71d48142ac Planner uses "Conservatism level", do the same for Settings. 2017-03-13 10:28:06 -07:00
Martin Měřinský
4f96afff99 Safetystop > Safety stop 2017-03-13 10:28:06 -07:00
Martin Měřinský
0b5f33f3ef PO₂ > pO₂ 2017-03-13 10:28:06 -07:00
Stefan Fuchs
8834fc0443 Correctly trigger update of cylinder table trash icons in planner
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-03-13 10:26:18 -07:00
Martin Měřinský
2b5a2352ea Remove unused DateWidget with its icon. 2017-03-13 10:25:51 -07:00
Dirk Hohndel
4db42808f6 Update translation source strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-12 09:22:27 -07:00
Lubomir I. Ivanov
b2c13f4178 qtserialbluetooth.cpp: mark qt_serial_get_transmitted() as unused
The function is unused, to silence the warning add the "unused"
GCC attribute to the function declaration.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-12 09:19:08 -07:00
Lubomir I. Ivanov
7bfeb95613 planner.c: fix a couple of float -> int cast warnings
Use lrint() to fix both:

1)
core\planner.c:902:23: warning: conversion to 'int' from 'doub
le' may alter its value [-Wfloat-conversion]

2)
core\planner.c:907:21: warning: conversion to 'int32_t' from '
double' may alter its value [-Wfloat-conversion]

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-12 09:19:06 -07:00
Lubomir I. Ivanov
e43e98686c templateedit.ui: give the layout for "Border width" unique name
Warning introduced in e8c918622f:
desktop-widgets\templateedit.ui: Warning: The name 'horizontal
Layout_3' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_31'.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-12 09:19:03 -07:00
Lubomir I. Ivanov
bcad5ddd38 Only enable -Wmissing-field-initializers for Clang
The following pragma is Clang specific:

It produces a warning:
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]

Only enable it for Clang by checking the __clang__ macro.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-12 09:18:59 -07:00