Commit graph

14946 commits

Author SHA1 Message Date
Linus Torvalds
594f13eeaf qt-ble: use the WAITFOR() macro rather than open-coding wait loops
This is not only much clearer (and smaller code), but it also lowers the
latency for the waiting, since we don't always wait for the full 100ms.

Get rid of the now unused "waitfor()" function that just unconditionally
waited for 100ms.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-09-23 17:29:05 -07:00
Berthold Stoeger
35b8a4f404 Core: split process_dives() in post-import and post-load versions
process_dives() is used to post-process the dive table after loading
or importing. The first parameter states whether this was after
load or import.

Especially in the light of undo, load and import are fundamentally
different things. Notably, that latter should be undo-able, whereas
the former is not. Therefore, as a first step to make import undo-able,
split the function in two versions and remove the first parameter.

It turns out the the load-version is very light. It only sets the
DC nicknames and sorts the dive-table. There seems to be no reason
to merge dives.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-09-23 11:50:53 -07:00
Dirk Hohndel
0ae57cfe92 Mobile/remember DCs: try to match device names
We only store the address part of the connection name, so don't try to find an
exact match, try to find the sub-string.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
f5411b7d68 Desktop/settings: hook up button to clear remembered DCs
And at least admit that the reset settings button isn't hooked up at all.
OOOOPS.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
b5fe44bb87 Desktop/settings: add button to forget remembered dive computers
This isn't hooked up, yet.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
a5b56d0ba0 Mobile/settings: add button to forget remembered dive computers
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
500f4c44fc Mobile/remember DCs: allow the buttons to flow
The hard grid may look nicer on bigger screens, on smaller screens it's
a problem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
f46d914ca8 Update HTML versions of manuals
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
7dbe863f10 User manual: describe the DC shortcut buttons for mobile
It would be great to have a corresponding screen shot.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
5b74fe1dc5 User manual: describe the DC shortcut buttons
It would be great to have a corresponding screen shot.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
d90f958238 Add CHANGELOG
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
52c70a3594 Mobile/remember DCs: add UI for the mobile app
This uses the same backend as the desktop version.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
0d7c1e9918 Desktop/remember DCs: avoid highlighted button
On macOS the first of the four DC buttons was highlighted for some reason.
Explicitly setting autoDefault to no solved that problem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
413b05ab89 Desktop/remember DCs: move non-UI-specific code into the core layer
This way we can use the same functionality from the mobile UI as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
4eb8ed1b29 Desktop/remember DCs: hook up the shortcut buttons
The straight forward code to update the currentIndex of the combobox doesn't
appear to work on macOS (but works fine on Linux). Calling the event loop and
then calling update afterwards seems very unintuitive, but it appears to fix
the issue in my testing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
99261775ce Desktop/remember DCs: remember dive computers that were used
The algorithm tries to keep the order of the buttons the same. So if a dive
computer was used that's already remembered, don't reorder the buttons. But if
a new dive computer is used, add it as the first one and move the others back,
potentially dropping the oldest one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
e2ee8c57df Desktop/remember DCs: base UI
Simply create the buttons that can be used as shortcuts to previously used dive
computers. This isn't hooked up at all.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Dirk Hohndel
77a5c9ac65 qPref: add ability to remember recently used dive computers
This does feel clumsy and complicated. This is a lot of special case
handling and a lot of boilerplate for something that really should be
quite simple.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-23 11:49:30 -07:00
Jocke
5b37d87e2d Update divelist when changing units
We need to explicitly refresh the divelist when switching between
metric and imperial unit systems. Or the changes will not be visible until
we restart the app or scroll outside of what's in the current cache.
This will update both the divelist view and the dive profiles to show the new units.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-09-22 14:44:59 -07:00
Berthold Stoeger
9c8deef477 Trivial: un-static function-local buffer
In visit_on_node() in core/parse-xml.c the name is extracted into
a static buffer. There seems to be no need for this being static,
as the name is only passed to the entry() function which (hopefully)
does not store a reference to the name anywhere.

If it does, this would need a *big* *fat* comment.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-09-22 14:44:34 -07:00
Linus Torvalds
d2b8088cd8 Actually create a UUID when creating a dive site during download
The existing code creates a deterministic ID (not exactly "unique") in order to
help us avoid merge conflicts in git-storage mode. But as a side effect, if we
re-download the same dive twice from a dive computer that supports GPS (right
now only the Garmin Descent Mk1) we are guaranteed to create the same dive site
uuid when we do this. So when we download a dive - whether we will actually
*use* that dive later or not - we will be filling in the dive site information
with the data we got from the dive computer.

... and in the process we will be overwriting any data that was filled in
manually. The name of the dive site, but also possibly even the GPS of the dive
site (maybe the user decided to edit that using the map, because while the
automatically downloaded GPS data was "correct", maybe the user wanted to
change it to be the actual under-water location using the satellite data,
rather than the place where you started the dive or where you surfaced).

In order to avoid this collision, this patch just makes the libdivecomputer
download not use the dive time, but "time of download" for the dive site time,
and thus effectively generate a new uuid for every download.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-22 14:17:24 -07:00
Salvador Cuñat
1a7d9881af [user-manual_es] Update to english 2a47e60c8
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-09-22 08:37:15 -07:00
Dirk Hohndel
6c2a83d973 Update to latest libdivecomputer
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-21 19:36:04 -07:00
Dirk Hohndel
83079c92df build-system: fix appdata creation on OBS
Build systems that run from tar balls and not git fail to create valid
.appdata.xml This solves the problem for tar balls that we create for
OBS via our own make-package script. It doesn't solve the problem for
Arch or Gentoo who I believe take our tar files created via git archive.
One way to fix this would be to change the process by which I create
those tar files, I guess.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-20 10:02:54 -07:00
Berthold Stoeger
21b1550739 Dive media: on import read metadata only once
On import of dive media, the timestamp is read from the
metadata to check if the image belongs to the selected dives.
The pictures are then listed in a dialog.

Currently, the metadata is read twice if images are outside
of a dive: once in picture_check_valid() and if it turns
out that the picture is not valid again in picture_get_time()
to display the proper timestamp.

Even though metadata-extraction is reasonably fast, this is
a bit of an embarrassment.

Instead, read the timestamps only once in the constructor of
the dialog and from then on only used these timestamps. Keep
the timestamps in a QVector. Rename the picture_check_valid()
function to picture_check_valid_time() and pass a timestamp
instead of a filename.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-09-19 14:44:34 -07:00
Berthold Stoeger
92deb7aa70 Cleanup: make surface sample in merge_one_sample() non-static
The merge_one_sample() function adds a sample to the destination
dive if dives are merged. For long periods between samples at surface
depths, it adds a surface interval.

To decrease the number of global objects, make the sample structure
non-static. Of course, initialization of an on-stack structure is
slower. Therefore move it into the corresponding if. Thus, the
structure will be initialized only once per surface-interval.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-09-19 14:43:54 -07:00
Jocke
95e2c29827 Update Changelog
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 14:41:43 -07:00
Jocke
148bc8fbf1 Mobile: always update the preferences when set_unit_system is called
Unit_system is read from git storage but units are set from locale when the
app starts. To prevent a miss-match between unit and unit_system we have to
always update the preferences variable when set_unit_system is called so that
the user doesn't end up with imperial units when the preferences say metric.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 14:41:34 -07:00
Jocke
09e7fdc253 Mobile: git prefs overrules locale
The unit types are set from system locale when the app starts.
We need to explicitly set the units to match the unit system that is saved in
the git repo. Or we end up with situations where the preferences and git say
"metric" but the units are "imperial".

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 14:41:23 -07:00
Jocke
5cb31d6adb Mobile: set units system in "No cloud mode"
When starting the app  in "No cloud mode" we need to make sure that the units
and unit_system match.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 14:41:11 -07:00
Jocke
a63be142b5 Mobile: add units selection to settings page
Add the option for the user to set the desired unit system for
Subsurface-mobile regardless of system locale

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 14:41:03 -07:00
Jan Mulder
c11a4e4633 Mobile: rename UI string for webservice
Trivial rename of a UI string. The string "Subsurface GPS data webservice"
reminds me too much of the legacy webservice.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-19 14:05:14 -07:00
Dirk Hohndel
4fc0d9ee13 User manual: update bundled HTML
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 08:06:03 -07:00
Dirk Hohndel
c1025fd37b Update mobile version
Apple app store rules prevent even testing a binary with the same version as one
that has been submitted for release.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-19 08:03:15 -07:00
Dirk Hohndel
338829231e Update to latest libdivecomputer
This fixes the incorrect parsing of surface pressure on the Teric

Fixes #1701

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-18 15:12:33 -07:00
Jan Mulder
a3cf62af8d Documentation: major update of NL user manual
As the base EN user manual went forward, the NL translation was hardly
updated fror almost a year. Do I took all the changes over this period
and corrected the NL translation accordingly. So, its synced and up-to-date
to version 4.8.2 of the software (assuming the EN version is).

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-18 10:37:21 -07:00
Jan Mulder
2a47e60c8c Documentation: tiny fix in US user manual
Commit a4f04589c7 did forget to delete 1 line related the
Companion app. Deleted here.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-18 10:37:21 -07:00
Dirk Hohndel
ded7802a88 One more translation
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-17 13:21:31 -07:00
Dirk Hohndel
976d1d4b34 Update list of supported dive computers
And adjust ReleaseNotes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-17 09:43:49 -07:00
Dirk Hohndel
6df01eaddd Update README
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-17 09:06:19 -07:00
Dirk Hohndel
be2e3c90db Move CHANGELOG entries to ReleaseNotes
Sort and edit them in the process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-17 09:04:39 -07:00
Dirk Hohndel
0845d71944 Latest translations from Transifex
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-17 08:42:39 -07:00
Jan Mulder
d3f66bad6d User Manual: scale recently changed image
The MobileGpsMenu.jpg image was way to big in the generated html and pdf
versions of the manual. Corrected here.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-17 11:14:31 +02:00
Dirk Hohndel
8fbcb4309b user manual: one more update to the latest HTML
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-16 08:17:01 -07:00
willemferguson
9037df76be user manual: additional updates and new images
These changes complete (I hope) the updates to the user manual to reflect
the use of media including video. Nine images are replaced.
Some more updates in the user-manual.txt to reflect on video files
and not only photographs.

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-16 08:17:01 -07:00
Robert C. Helling
84480aa201 Manual entry of export anonymization
This should be accompanied by an updated screen shot.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2018-09-16 08:10:44 -07:00
Anton Lundin
1da9235cdf Always return status from ftdi_open when called
Using dc_serial_open as a fallback to ftdi_open is just wrong, and will
never work, just mask the real error and introduce read herrings.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-09-16 08:09:24 -07:00
Miika Turkia
4b42dcc6af Changlog update for DLF import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-09-16 08:07:54 -07:00
Jan Mulder
7efcb0594c Desktop UI: small layout correction export dialog
2 UI items where poorly aligned. Fixed here.

Reported-by: willemferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-16 08:07:33 -07:00
Dirk Hohndel
9e8afe90d9 user manual: update dates and add latest HTML
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-16 08:04:24 -07:00