Commit graph

11410 commits

Author SHA1 Message Date
Sergey Starosek
1ef149652a Add/update preference screen icons
Defaults and language icons were missing, and graph/profile
icon was not readable.

All icons except "language.png" were taken from Google's
Material Design Icon pack which is distributed under Apache 2.0 license
(see https://github.com/google/material-design-icons)

Language icon is from http://languageicon.org site. If their
license isn't permissive enough, then we can switch to a language icon
from Material Design pack (globe).

Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com>
2017-02-19 15:30:07 -08:00
Robert C. Helling
bd89e33e76 Fix typo in saturation/desatureation rates
This patch eliminates the difference between the saturation and
desaturation rates. This was probably once meant as a conservative
measure but the desaturation rate was increased rather than the
saturation rate (which is probably a typo, as reported by Stefan).

Since there is no good basis for this anyway, this patch sets
both factors to 1.0 (and if accepted the whole factor business
should be removed).

This makes our deco times slightly longer. But in the past,
we had introduced a 1.2% fudge factor in the critical radius
calculation to add conservatism and match the benchmark better.

Removing this fudge factor brings us close to the benchmarks.
Expected test values updated.

Reported-by: Stefan <sjti@gmx.net>
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-02-19 15:29:40 -08:00
Robert C. Helling
dc55ee4a23 Update exif.cpp from upstream
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-02-19 15:29:40 -08:00
Linus Torvalds
4a550e4d7d Properly handle dive sites loaded from XML
We used to always create a new dive site structure when loading dive
site data from XML.

That is completely bogus, because it can (and does) create duplicate
dive sites with the same UUID.  Which makes the whole UUID pointless.

So instead, look up the existing dive site associated with the UUID
loaded from the XML, and try to merge the data properly if we already
had dive site information for that UUID.

Reported-by: Alessandro Volpi <volpial@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-19 15:23:46 -08:00
Linus Torvalds
fc55620d2d dive merging: merge water temperature too, not just air temperature
I have no idea why we only merged air temperatures.  But it was very
explicit (even the function doing the merging was named
"merge_airtemp()"), and water temperatures were left alone.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-19 15:23:46 -08:00
Dirk Hohndel
bd82940b03 Add Greek as supported translation
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-19 12:01:50 -08:00
Dirk Hohndel
c6ee9c04e4 Latest translations
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-19 12:01:49 -08:00
Dirk Hohndel
9945a926ac Update README and ReleaseNotes for 4.6.2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-18 17:26:40 -08:00
Dirk Hohndel
0ac7cafdf5 Update translation source strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-18 16:24:06 -08:00
Dirk Hohndel
d5ecc96ed6 About dialog: hook up Credits button 2017-02-18 16:22:39 -08:00
Dirk Hohndel
53d0eecb94 About dialog: add Credits button
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-18 13:51:40 -08:00
Miika Turkia
1cd4f3dbb2 Add geolocation to divelogs.de export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-02-18 10:48:33 -08:00
Miika Turkia
4375a87598 Include geolocation info on export XML (divelogs.de)
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-02-18 10:48:33 -08:00
Linus Torvalds
0cf4104dc6 Handle negative dates (before the epoch) better
The Qt model sorting for the dive date was using a unsigned number,
which doesn't work for dates before 1970.

Also, the dive date parsing got the year 1900 wrong.  Not that we really
care, because other parts of date handling will screw up with any date
before the year 1904.  So if you claim to be diving before 1904, you get
basically random behavior.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-17 15:08:38 -08:00
Dirk Hohndel
c5b9cfcaf6 Pull latest translations
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-16 23:06:43 -08:00
Stefan Fuchs
93763f3164 Always use emitDataChanged() in diveplannermodel.cpp
Use the function in every place instead of once using it and once copying the code again.
No functional change.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-02-15 21:47:46 -08:00
Linus Torvalds
83aff9f777 Fix crash when merging dives with a missing dive computer model
The test for the dive being a planned dive was completely bogus:

 - it should use "same_string()" which correctly checks for NULL

 - the string it checks for is obviously spelled wrong anyway.

Reported-by: Alessandro Volpi <volpial@gmail.com>
Fixes: a031dbbbd ("When merging planned dives keep all cylinders")
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-15 21:46:15 -08:00
Anton Lundin
78059d4010 Update altitude limits on unit change
The limits set in diveplanner.ui is intended for the unit set there,
meters. If we move between units we need to update the limits to.

This fixes #201

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-02-14 07:29:52 -08:00
Sergey Starosek
78150a4ed5 Re-align sections to fix asciidoc HTML conversion
Also minor spelling fixes.

Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com>
2017-02-13 21:46:40 -08:00
Dirk Hohndel
f56ec71d3a Two more translation updates
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-12 12:23:21 -08:00
Dirk Hohndel
374e765000 Reorder entries and add more structure for ReleaseNotes
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-12 12:22:30 -08:00
Dirk Hohndel
34dde44540 Latest translations
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-12 11:34:47 -08:00
Dirk Hohndel
d4482349da Trying to remind myself to not mess up translation source
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-12 11:30:31 -08:00
Sergey Starosek
049866df02 Update russian translation of user manual for v4.6
Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-12 11:24:31 -08:00
Stefan Fuchs
2a6dd24a6e Add VPM-B change for repetitive dives to ReleaseNotes
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-02-12 11:21:51 -08:00
Dirk Hohndel
42f5c5ce1d Update latest translations
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-11 13:22:49 -08:00
Dirk Hohndel
e7f3a0f273 Update translation source strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-11 10:59:26 -08:00
Dirk Hohndel
9f470046ba Add hacky script to push translation source
This at least duplicates the numerusform lines.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-11 10:59:26 -08:00
Robert C. Helling
e31714d9b2 Set up gaslist only in the beginning of diveplan
In the beginning of the diveplan, divedatapoints of zero
duration indicate available gases with the depth giving
the suggested switch depth. Zero-duration datapoints in
the middle of the dive do not have this meaning and should
thus be ignored when composing the gaslist.

The tests should have these gas defining segments in the beginning.

This fixes a problem when replanning a dive that would change
to random gases during deco.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-02-11 08:31:42 -08:00
Robert C. Helling
057419fa85 Always show manually added gaschanges in notes
In the manually entered part, we dont wait until the next stop.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-02-11 08:31:42 -08:00
Dirk Hohndel
fef07750ac Update translation strings
These have also been pushed to Transifex

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-10 20:40:25 -08:00
Dirk Hohndel
b53fdc0157 Prepare README and ReleaseNotes for 4.6.1
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-10 20:36:58 -08:00
Salvador Cuñat
8b2de77f91 smtk-import-change mktime with timegm
There were 1 or 2 hour differences between real dive time and the
imported time  because of the time zones and energy saving in some locales.
Using timegm() ensures us UTC times instead of localized times.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-02-10 20:30:58 -08:00
Salvador Cuñat
f7045c57cd smtk-import-improve smtk_time_to_secs()
Can't remember what I was thinking when wrote that crappy thing. A
simple sscanf call will do the job, and a sanity check, off course.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-02-10 20:30:58 -08:00
Salvador Cuñat
7c91cdd89e smtk-import-Fix crash due to localization issues
Libmdbº:xturns localized strings while parsing the data bases. This is
bad for time calculations as we may end with different strings formats
(e.g. en_US vs almost the rest of the world). Solution is simple: set a
fixed locale and parse only this format.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-02-10 20:30:58 -08:00
Robert C. Helling
032c3258ed Reset VPM-B state between repetitive dives
This resets the maximum crushing pressures and the maximal
ambient pressure between repetitive dives to prevent anomalies
that a dive produces a shorter deco when following another one
than without.

Reported-by: sfuchs@gmx.de
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-10 06:41:24 -08:00
Dirk Hohndel
ec20d36f3c Add test for merging multiple cylinders
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-09 22:22:12 -08:00
Cristian Ionescu-Idbohrn
e8923a9bad Simplify some tests
Because `[ "$foo" != "" ] is equivalent to `[ "$foo" ]'
in all POSIX shells.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-09 21:31:11 -08:00
Cristian Ionescu-Idbohrn
1c33951ce6 Remove useless quotes
Don't quote if you don't have to.  Spend those cpu cycles on doing
something more useful, instead.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-09 21:31:11 -08:00
Cristian Ionescu-Idbohrn
9470278e87 Use `command' (shell builtin and POSIX) instead
The `which' command is a fork and possible not standard in various
distributions, or builtin in certain (odd)? shells, like `zsh'.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-09 21:31:11 -08:00
Linus Torvalds
0e7d8993a2 Make cylinder merging a bit more careful
This makes some further updates to the new cylinder merging code:

 - avoid re-using the cylinder if the usage type (OC/diluent/O2) is
   different between the two dives, even if the gasmix might be the
   same.

 - avoid re-using a cylinder if the user has manually added pressure
   data for it (and the pressures don't match)

 - when deciding to reuse a cylinder, make sure that we merge as much of
   the type information as makes sense.

This will potentially result in more cylinders that might need manual
cleanup, but at least we won't be throwing out user data.  And in most
cases where merging happens, none of this is an issue (because the data
comes fresh from a dive computer, and won't have been manually edited to
trigger the new rules).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-09 21:30:49 -08:00
Linus Torvalds
e2bbd0ceec Rewrite cylinder merging code from scratch
The old cylinder merging code depended on the preferred dive having all
the cylinders, and the newly merged dive was just forced to pick from
that existing set of cylinders.

That worked ok if you have a "main" dive computer that you have all the
gases programmed for, and you download that first, and then you download
any secondary data later.

But it completely messed up if the second dive computer had gases that
the first one didn't know about, and just basically ended up doing
random things.

This rewrites the whole thing to actually try to create a union of the
two sets of cylinders when merging, with sane matching so that if the
cylinders match you won't get duplicates.

Miika Turkia hit this when he only used one gas, but had several gases
defined in his OSTC that he downloaded after his Vyper (with had just
the single gas defined).

This should fix that case (at least it does for my xml merging test-case
that showed the same problem after some munging).

Reported-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-09 21:30:49 -08:00
Dirk Hohndel
8f97c4a8eb Reenable all of TestParse
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-09 16:54:48 -08:00
Miika Turkia
0630d584f4 Fix dive number comparison for Seabear import tests 2017-02-09 09:41:56 -08:00
Miika Turkia
d3cc3f371b Add numberField parameter for parse testing 2017-02-09 09:22:30 -08:00
Miika Turkia
19a2c28b1a Fix typo on parse testing 2017-02-09 09:22:30 -08:00
Miika Turkia
d23717523b Define numberField variable on CSV import
We need to define the import variables that we use. This should fix the
Seabear HUDC import and thus the corresponding test case.
2017-02-09 09:22:30 -08:00
Anton Lundin
24f61e8b3d travis: Correct infrastructure for tests on mobile
In the previous code, there was a mistake in how cwd in travis works.
This solves that by just using make -C instead.

The only issue is that the tests currently fail.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-07 07:48:31 -08:00
Anton Lundin
40620aca0b travis: actually build the mobile version to
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-07 07:48:07 -08:00
Anton Lundin
9aacc41a48 travis: Run a xfvb for TestPreferences
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-07 07:48:00 -08:00