Commit graph

19284 commits

Author SHA1 Message Date
Berthold Stoeger
2e6d65ef08 profile: add local time to profile tooltip
This is a user request: add local time of dive to the tooltip.

Showing a localized time was surprisingly complex. First I had
to add a function that decomposes a timestamp into h/m/s. Then
the QLocale time-string has to be stripped of the timezone.

Fixes #3469.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-31 22:37:23 +02:00
Berthold Stoeger
4989041efd profile: directly format QString for tooltip
Instead of rendering in a membuffer, directly format into the
QString. We have the qasprintf_loc() function, which is equivalent
to put_format_loc(). Thus, this is a manual search/replace job.

However, this means that the formatting is done in UTF-8 and
then piecewise transformed into QString's (inane) UTF-16.
In the future we might think about directly using QString's
formatting function.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-31 22:37:23 +02:00
Berthold Stoeger
1cc57eaaa4 profile: don't use format strings in translations of "tooltip"
Format strings of the type "SAC: %.*f%s/min" were put through
the translation machinery. This seems like a bad idea, and indeed
we had crashes owing to translators messing these up.

Therefore, translate only actual words/abbreviations, in the
case above "SAC" and "min". This has one significant advantage:
compile-time checking of the parameters.

However, it also has one significant disadvantage: lack of support
of right-to-left languages (e.g. semitic languages). If these
should be supported, I would suggest to use QString-style format
strings, i.e. "SAC: %1%2/%3" with appropriate documentation strings.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-31 22:37:13 +02:00
Berthold Stoeger
ebfefbc736 core: move formatting of plot info to string-format.cpp
Arguably, string handling in C is painful. Move the function
that formats the "tooltip" of the current spot on the profile
to the C++ string-format.cpp.

Note: the actual code stays C with a few necessary adaptions
concerning the translation machinery.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-31 22:27:08 +02:00
Berthold Stoeger
1faad2c1f1 cleanup: cleanup profile tooltip code
This was a mess of plain pointers. For example to generate
the "entryToolTip", an item in the "toolTips" vector was
created, then deep-copied and then the "toolTips" vector
was cleared.

Instead, replace the "addToolTip" by a "makeToolTip" function
and replace plain pointers by unique_ptrs. Makes this thing
a bit more manageable.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-31 22:27:08 +02:00
Berthold Stoeger
f302be8798 cleanup: remove dead if-branches
In divetooltipitem.cpp, the pointer entryToolTip.first is tested
for NULL twice, but it is always initialized in the constructor.
This makes no sense - remove the dead code.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-31 22:27:08 +02:00
Dirk Hohndel
8a9359a03c mobile: update version to 3.4.6
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 12:12:02 -07:00
Dirk Hohndel
05ed2e70b5 build-system: impish is EOL
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 12:11:19 -07:00
Dirk Hohndel
8831a364ff update list of supported dive computers
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 12:07:45 -07:00
Dirk Hohndel
067ed39503 build-system: try to hack around Qt 5.15.3 in Jammy
The Qt Company apparently didn't feel the need to have the correct
tags in all of the module directories. So this now has to manually
pick the correct SHA. What a pain.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 10:26:25 -07:00
Dirk Hohndel
8a6a03f89f prepare for 5.0.9 release
Update README and move CHANGELOG to ReleaseNotes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 10:26:25 -07:00
Dirk Hohndel
ec9829bbd6 build-system: move to Ubuntu Jammy
Impish is EOL.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 10:26:25 -07:00
Dirk Hohndel
e92b1a5692 Update libdivecomputer
Merge upstream changes from Jef Driesen:
     - New dive computer support:
        - Ratio iX3M 2
        - Sherwood Amphos Air 2.0
     - Cleanups and fixes

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 10:26:25 -07:00
Dirk Hohndel
fd1b22a417 Latest translations from Transifex
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 10:26:25 -07:00
Jon Massey
53fa568b90 fix: translate email/pw warning
pass email/pasword format warning QString to translate method

Signed-off-by: Jon Massey <jon.massey@thedatalab.org>
2022-07-24 16:56:36 +02:00
Jon Massey
10b4cc9149 Improve UX for cloud email/password checking
State requirements for email address and
password format within cloud preferences UI

If email address or password entered in cloud
preferences, raise a warning within a
QMessageBox instead of the less-visible
report_error method

Signed-off-by: Jon Massey <jon.massey@thedatalab.org>
2022-07-24 16:56:36 +02:00
Berthold Stoeger
50ff94eb8f filter: normalize text of fulltext search to base letters
The liter symbol is written as 'ℓ'. To allow searching for
that, normalize unicode strings to their base letter. This
corresponds to the 'compatibility' mode.

We might also think about stripping diacritics.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2022-07-08 11:38:44 -07:00
Dirk Hohndel
4bac5dbb66 build-system: allow adaptive building without WebKit
This should avoid build failures on platforms where we don't know if
QtWebKit will be available or not.

The options for printing and user manual are awkward to work with. This
all needs to be cleaned up at some point. Right.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-07 10:19:22 -07:00
Dirk Hohndel
21de82144a update libdivecomputer
Initial support for Shearwater Petrel 3 and Perdix 2

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-14 14:18:12 -07:00
Dirk Hohndel
eb1284683a core: add new Shearwater dive computer names
The code works ok falling back to just Perdix and Petrel 2, but
it looks confusing to the user to see an incorrect name in the
connection drop down.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-14 11:15:53 -07:00
Dirk Hohndel
e41d877e53 build-system: don't wait for copr builds
This really only matters for my build automation setup, but since I
build from the files in the repo... I have to push this into master.
Otherwise my build processes stall until the builds on the COPR site
finish. Which isn't useful.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-14 10:46:24 -07:00
Dirk Hohndel
76985d554f Latest translations from Transifex
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-14 10:38:44 -07:00
Dirk Hohndel
ee708a904c core: consistent naming of the new Aqualung i200C models
It's confusing to have the same name refer to two different models.
Unfortunately, that's what Aqualung is doing by simply changing the
model number and serial number, but not the external branding.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-14 10:28:29 -07:00
Dirk Hohndel
d0a4bc331c update to experimental libdc
Initial support for new version of Aqualung i200C

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-14 16:35:05 +00:00
Dirk Hohndel
49f69947e3 mobile: update version to 3.4.5
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-13 03:40:00 +00:00
Dirk Hohndel
7ff1683ec9 BLE: add newer model for Aqualung i200C
At least one user has an i200C that shows a GI.... serial number and
BLE name.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-13 03:31:21 +00:00
Dirk Hohndel
9e1c04344b mobile: enable MAP_SUPPORT
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-13 03:30:01 +00:00
Dirk Hohndel
3629a87fcc Change semantic for editing cylinders for multiple dives
Instead of trying to find matching cylinders, trigger on the cylinder
number first and then only edit that n-th cylinder if it matches the one
in the current dive.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-09 16:29:03 -07:00
Dirk Hohndel
19b221d203 core: add missing properties to the dive merge
In a sign how few people use these additional properties AND use multiple
dive computers, this took a couple of years to get noticed... but yes, we
do need to merge those properties as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-08 13:29:37 -07:00
Dirk Hohndel
cf216ec9e4 Update translation source strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-05 16:42:08 -07:00
Dirk Hohndel
5ee1a4fe17 update libdivecomputer
Add support for the Seac Screen and Action
Add support for the Cressi Michelangelo

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-05 16:37:16 -07:00
Robert C. Helling
0f2cdd16dc Deal with negative variation times
When computing plan variations, deco can get shorter when
staying longer when the last step is actually already at
off gasing depth. FRACTION forces unsiged, so this introduces
a sign aware version of FRACTION that returns a sign character
in addition.

Reported-by: Patrick Naujoks <p.naujoks@me.com>

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2022-06-04 14:19:05 -07:00
Dirk Hohndel
404365c24a update libdivecomputer
Garmin: decode dive mode

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-06-01 08:56:47 -07:00
Vlad A
30a964c508 Added option to choose between different depth grid quantization schema.
This allows having 3m depth grid for metric users.

* All original properties ( named diferently ) were renamed to three_m_based_grid everywhere to be consistent.
* Plus other small changes requested during review.

Signed-off-by: Vlad A. <elf128@gmail.com>
Signed-off-by: Vlad A <elf128@gmail.com>
2022-05-21 17:29:40 -07:00
Dirk Hohndel
15f3918171 build-system: small fixes for Fedora copr build
The extra trailing 'dot' broke the cmake build on Rawhide.
This also tries to give more consistent Summary and Description text for
the Subsurface and Subsurface-test repos on copr.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-17 10:25:30 -07:00
Dirk Hohndel
c2f0a6f3e1 update libdivecomputer
Garmin: Handle file names in short format

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-14 11:09:40 -07:00
Dirk Hohndel
c1e7cd1428 build-system: consistently mark git directories safe
Even on platforms that don't have the new git version, yet.
And using the convoluted way to create an environment variable that should
point to our checked out tree in the GitHub Action. The more obvious ways
have resulted in failed builds for obscure reasons.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-14 10:28:56 -07:00
Dirk Hohndel
8ead205c8c build-system: initial spec file for Fedora copr build
This should allow us to automate builds using the Fedora infrastructure.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-12 11:10:02 -07:00
Dirk Hohndel
df5c715afa build-system: work around git change in Fedora 35 build
Not sure why I didn't include that earlier.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-12 11:09:12 -07:00
Jim Wobser
89c6015cde Handle Mulitple Seac Computers colliding during import
The Seac importer was getting samples based only on dive number,
which was causing samples from different computers but with the
same dive number to become interleaved.

To correct this, the SQL statement was updated to use the
dive_id to query for samples. The table schema uses dive_id
as a primary key, which will enforce uniqueness.

Additionally, deviceid is hashed from the the device_id string.

Reported-by: David Brebera <david.brebera@gmail.com>
Signed-off-by: Jim Wobser <james.wobser@gmail.com>
2022-05-12 11:07:03 -07:00
Michał Sawicz
ef0a6b7bee [gha] refresh linux-snap.patch
Signed-off-by: Michał Sawicz <michal@sawicz.net>
2022-05-07 14:49:17 -07:00
Michał Sawicz
c7242a37be [snap] refresh for core20 and add Wayland support
Signed-off-by: Michał Sawicz <michal@sawicz.net>
2022-05-07 14:49:17 -07:00
Robert C. Helling
34b61ad288 Use 10ft as deco step size in imperial units in profile
The calculation of the deco steps shown in the profile
infobox is somewhat independent of the planner. When
set to imperial units, the distance between deco stops
should be 10ft rather than 3m as 15m is only 49ft.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2022-05-06 14:17:29 -07:00
Linus Torvalds
bdeeba4a67 core: fix detection of used cylinders
The cylinder_with_sensor_sample() function only tests "do we have a mapping to
this cylinder for this sample". It also needs to test if there are any tank
pressure readings for that cylinder.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-28 12:30:10 -07:00
Dirk Hohndel
51590853eb build-system: macOS universal builds imply Qt6 builds
Qt5 doesn't support the m1.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-27 22:03:37 -07:00
Dirk Hohndel
efdc525a22 cmake: try harder to find the cmake modules we install
While I clearly recall that in the past the couple of cmake modules
that were installed when building the dependencies were found, in my
latest tests on macOS 12 with the latest cmake this seems to fail.

This seems like a cheap quick way to ensure that things behave as
expected.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-27 22:03:37 -07:00
Dirk Hohndel
f0d819a842 build-system: fix building fat binaries on x86_64
It does seem a bit odd, but the arch command actually doesn't
return a reasonable architecture on macOS. So let's use the
uname -m command to get the right answer that makes this script
work both on an m1 and an Intel Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-27 22:03:37 -07:00
Dirk Hohndel
e7ea951122 update INSTALL instructions for macOS
And tiny whitespace fixes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-27 22:03:37 -07:00
Dirk Hohndel
a73fd0ed60 cleanup: compile fix for latest Xcode
I'm not sure why these headers are needed here and nowhere else...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-27 22:03:37 -07:00
Dirk Hohndel
8d9730f74f core: avoid crash when merging dive with no cylinders
Arguably every dive should at least have one cylinder, but an imported
dive from divelogs.de might end up without one. Sadly, that breaks
assumptions that we make in the cylinder remapping.

To work around it, force at least on cylinder to be assumed in the merge
code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-24 08:00:36 -07:00