Commit graph

13106 commits

Author SHA1 Message Date
Stefan Fuchs
c56c7bd2e6 Release notes update: Cylinder depth from planner, merging dive info
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-29 15:18:41 +01:00
Martin Měřinský
ef38d15c2b Sort items in subsurface.qrc.
Signed-off-by: Martin Měřinský <mermar@centrum.cz>
2017-11-29 11:46:35 +01:00
Martin Měřinský
92e9c6606f Use consistent aliases for all icons.
Icon aliases were inconsistent mess. Underscores vs. hyphens vs. camelCase.
With vs. without filename suffix. Lower vs. upper case. "icon" suffix vs.
prefix vs. nothing. Some were duplicated, eg warning vs. warning-icon. Some
icons didn't have alias at all.

This changes all icon aliases to one, easy grep-able style which complies
to Freedesktop Icon Naming Specification (Guidelines).

Signed-off-by: Martin Měřinský <mermar@centrum.cz>
2017-11-29 11:46:35 +01:00
Martin Měřinský
b0d98f6e26 Use icons relative path.
Icon paths are defined in one place only - application's embedded resources.

Signed-off-by: Martin Měřinský <mermar@centrum.cz>
2017-11-29 11:46:35 +01:00
Lubomir I. Ivanov
6437a2e18e release-notes: use CHANGELOG.md
Add a file CHANGELOG.md in the root Subsurface directory
and track this file with the `-text merge=union` attribute.

This prevents merge conflicts if release notes are added
on top of the file by different commits.

Also, make ReleaseNotes/ReleaseNotes.txt point to that file.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-28 19:05:04 -08:00
Miika Turkia
d031fbf2ea Remove commented out code
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-29 01:22:17 +01:00
Miika Turkia
8f16ae6289 Move Divinglog DB import into its own file
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-29 01:22:17 +01:00
Miika Turkia
c2342304db Move Cobalt DB import to its own file
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-29 01:22:17 +01:00
Miika Turkia
4325ae8d24 Move Shearwater DB import into its own file
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-29 01:22:17 +01:00
Miika Turkia
1a9484207b Move Suunto DB import into its own file
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-29 01:22:17 +01:00
Stefan Fuchs
006a0ebb39 Don't change visibility of depth and duration UI field when no dive
After one selected a dive and then selects NO dive don't touch
the visibility of UI fields for depth and duration.
So if previously selected dive was a manually added dive, keep them
visible. If it was no manually added dive keep them invisible.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-29 01:22:01 +01:00
Stefan Fuchs
a95cc2b1c5 Merging dives: Improve merging of divemaster, buddy and notes
Change the merging behavior for the following information:

Divemaster, buddy, suit:
From "(a) or (b)" to "a, b"

Notes:
From "(a) or (b)" to "a\n--\nb"

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-28 23:58:35 +01:00
Stefan Fuchs
b7806d1b94 Correctly handle dive notes in maintab.cpp
Remove duplicate and incorrect setPlainText call via macro for dive notes.
Deal correctly with ASCII line breaks "\n" in dive notes with html
markup (replace them with <br>).

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-28 23:58:35 +01:00
Anton Lundin
00e3346835 android: Add new usb vid/pid's to manifest
This adds vid/pid of the recently added usb devices.

* EON Steel core
* Scubapro G2
* Scubapro Aladin Square

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-28 11:25:55 -08:00
Stefan Fuchs
d500969918 Rename "tank bar" to "gas bar" in EN documentation source
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-28 20:22:07 +01:00
Stefan Fuchs
d5c28e61a4 Rename string "tank bar" to "gas bar" in UI
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-28 20:22:07 +01:00
Guillaume GARDET
61771264bd Documentation: Merge and update french translations
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
2017-11-28 13:53:14 +01:00
Martin Měřinský
fa7b93ba5b Fix typo connot > cannot.
Signed-off-by: Martin Měřinský <mermar@centrum.cz>
2017-11-28 11:36:19 +02:00
Dirk Hohndel
a3754ecada iOS build fix
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-27 21:06:57 -08:00
Lubomir I. Ivanov
837ed67d86 mapwidget.qml: return early instead of doing branching
The centerOn*() functions can just return early
for invalid input, instead of branching the conditions.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
1d80b08a8f mapwidget.qml: more minor improvements
- Add the helper coordIsValid() and use it in centerOnCoordinate().
This checks for NaN coordinates and prevents an infinite while() loop.
- Use '-= 1.0' instead of '--' to be more clear that the decremented
variable is a float
- Store the current center with 'centerStored' in
centerOnCoordinate(). Fixes a possible zoom out glitch.
- use Math.floor() to convert 'zoomLevel' to integer when estimating
zoomOut in centerOn*()

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
449c92801b mapwidget.qml: remove unused zoom-out function
The zoom out function is no longer used as we don't zoom
out when a dive doesn't have dive site coordinates.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
1bc91bfb67 mapwidget.qml: make pan and zoom-in have the same duration
There was a problem with the current different duration
for pan and zoom. Ideally the pan should before the zoom:
Map zooms out -> pan to new center starts -> zoom in

The problem with this is that if the map pans out too much it
loses it's center and the above scheme would not work.

To solve the problem, make the duration of pan and zoom
the same this is not idea, but prevents the case where
the map would not zoom-in at the correct center.

Also remove the easing function.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
f39e900186 ReleaseNotes: update with the recent map changes
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
a084ea5b26 locationinformation: don't update map location on typing
Currently when the user is typing new coordinates the
marker on the map changes location right away. Disable that and
add a 'flag' button that should be pressed instead. Also make the
coordinates update when pressing Enter or when the text
field loses focus.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
fe69b304b2 map-widget: interrupt map animations on new interactions
When the map is performing zoom/pan animation and the
user performs an action that would trigger a new zoom/pan
animation, but some glitches can occurs. An example
would be when one clicks a dive in the dive list -
the zoom/pan animation will trigger, so that the map
is centered on the dive site, but if the user clicks the
[+] button to zoom-in, while the animation is running
the map will glitch.

This patch prevents such glitches by stopping
all running animations in progress when the user:
- single clicks the map
- uses the mouse-wheel to zoom
- presses the [+] / [-] buttons

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
8bc61f42cb map-widget: use 'getter' function coordinate() for MapLocation
Avoid using qvariant_cast() with getRole() in favor of
MapLocation::coordinate() in MapWidgetHelper::reloadMapLocations().

This makes the code more readble.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
b564debe21 map-widget: start dive site editing with coords pre-entered
Once the user starts editing a dive site, make sure to pass
coordinates of either the current map center (if a new MapLocation
is being added) or the coordinates of the existing MapLocation.

The "Dive site management" coordinates text field would receive
these new coordinates after the displayed_dive_site struct
is updated and the coordinatesChanged() signal is emitted.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Lubomir I. Ivanov
d9cfcae88b map-widget: move the map with the edited dive site
Once the user starts editing the coordinates by hand
(from the "Dive site management" UI) make sure to
update the map to center on those user entered
coordinates.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-27 22:59:22 +01:00
Miika Turkia
e18df84936 Hopefully fix Android build
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
b1b2638720 Move Cobalt and Divinglog DB parsing to parse-db.c
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
8be626d2c1 Move atoi_n to parse.c
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
b3605de93e Move Shearwater DB parsing into parse-db.c
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
568db03228 Move metric variable to parse.c
This is required when moving Shearwater DB parsing into parse-db.c

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
ddb9dba66c Move add_dive_site to parse.c
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
1c6e189c2b Move Suunto DB imports into parse-db.c
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
02c80a60b0 Refactore parse-xml.c into parse.c and parse-xml.c
This should help us to move parsing that is not XML related to other
files, hopefully making the code cleaner.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
0c564a4579 Fix test parsing as new DC appears in the XML files
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
e17ad1b0e0 Add test for DM5 import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
63f1c84e38 Add imported version of DM5 test dive
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Miika Turkia
25afbdaa89 Test dives in DM5 database format
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-11-27 13:42:10 -08:00
Dirk Hohndel
6b396c45bc Clone breeze icons from GitHub
anongit.kde.org appears to have problems.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-27 13:41:15 -08:00
Stefan Fuchs
8d2bc595c7 Code cleanup: Move index declarations into for loop
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
07bd8e6455 After edit the cylinders of a dive copy the full samples
After editing the cylinder table (e.g. deleting a cylinder) and
accepting the changes copy the whole dc samples for the dive edited.
This is important because the sensor idx in the samples may have changed.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
8212a923b2 Use MAX_CYLINDERS consistently
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
b17f1e2d30 Use MAX_SENSORS define everywhere
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
276fd441b5 When replanning logged dive call CylindersModel->updateDive
reset_cylinder may transform unused cylinders into zombie cylinders
inside the planner because it adds a depth info and therefore the
planner will use them.
By calling CylindersModel->updateDive these cylinders will become visible
and can be deleted by the user.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
8a92484b0c Add debug function dump_cylinders
This function can be used to dump print all cylinder data.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
4e36b2509c Compile dump_tissues function only if needed based on define
Compile it only when DECO_CALC_DEBUG is defined.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 22:40:16 +01:00
Stefan Fuchs
46004c39e2 Store and load the planner related depth info of a cylinder in logfile
Store cylinder.depth in XML files and in git storage.
This info is in fact the gas switch depth of a specific gas/cylinder
in the planner.
This change avoids the need of typing in a user specific depth value
again when replanning an existing planned dive.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-27 11:49:08 -08:00