Commit graph

13355 commits

Author SHA1 Message Date
Lubomir I. Ivanov
2c06cb027f preferences: support a pre-defined list of date formats
Add a combo-box in place of the single line text field and
support some pre-defined date formats, such as:
MM/dd/yyyy

Each long format has a corresponding short variant stored in the
QMap dateFormatShortMap and it's updated automatically once
the user selects a combo box item for the long format.

The regex for dates is slighly modified:
[^dMy/\\s:;\\.,\\-]

The user is still allowed to enter custom long / short date foramats.

Fixes #276

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-10 09:21:47 -08:00
Jan Mulder
f1437cfec7 Fix warning
Commit 9771255919 introduces a compiler warning due to mismatched
pointer types. Fixed here.

Reported-by: Stefan Fuchs <sfuchs@gmx.de>
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-10 10:31:19 +01:00
Dirk Hohndel
dd510fcea7 Travis: add missing dependency
This is a fairly big hammer to get the missing dependencies installed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
bee160a9e2 Travis: work around the way build.sh looks for private headers
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
b425d5641d Travis: use our own Qt binaries for AppImage build
This is no longer based on the upstream Qt binaries but completely on
binaries built by ourselves, trying to remove some of the features that
we don't need and trying to avoid some of the issues with certain
libraries (like different OpenSSL dependencies).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
38b2fea30f Travis: don't use relative directories
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
01cea42705 Travis: move deployment into script
And no longer use the Travis deploy mechanism - uploadtool does it all.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
35d5d7c8c7 Travis: move the before_install step into a script
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
96a3dd0001 Travis: start restructuring the build process
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
f16a488b89 Print version when run in verbose mode
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
bcabe6ec9f Add details about key libraries when showing version
Also fixed a spelling error and apparently some whitespace issue.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:31 -08:00
Lubomir I. Ivanov
76f595049b ReleaseNotes: update with the recent map changes
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-09 12:40:25 -08:00
Lubomir I. Ivanov
746874a78e map-widget: allow real-time updates of edited markers
This patch allows updating the location of map markers
while editing a dive site and updating the text in the
LocationInformationWidget in real-time.

Currently it is only possible to see the marker changes by
clicking 'Apply'.

The modification required the following changes:
- add the MapWidget::updateCurrentDiveSiteCoordinatesToMap() slot
and call it each time the GPS text updates
- separate the updateCurrentDiveSiteCoordinates(FromMap/ToMap) logic
by having the FromMap/ToMap suffix to method names
- make MapWidgetHelper::updateCurrentDiveSiteCoordinatesToMap()
call a new MapLocationModel::updateMapLocationCoordinates()
method, which updates selected location coordinates and the model
- add MapLocation::setCoordinateNoEmit() that does not emit
a signal when updating a coordinate

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-09 12:40:25 -08:00
Lubomir I. Ivanov
89ccdc3178 map-widget: use current center when editing new markers
When starting to edit a new dive location, create
a marker at the current map center instead of zooming
out and centering on the 0,0 coordinate.

This will help (and speed up) a lot the edition,
if the user needs to add numerous dive markers
at a specific location close to each other.

refs #754

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-09 12:40:25 -08:00
Jan Mulder
9771255919 CNS can be higher than 255%
I'm sure this bug has heen here forever, but the CNS clock is
not very relevant for most divers, and even some technical divers
do not care about this value.

However, doing long decompression dives, the value can easily
grow over 100%, and a lot further. For example, the OSTC computers
use 2 bytes to store the CNS value in the profile data, and I
have multiple dives in my logbook going way over 255%.

This all said. Just store the CNS value in an unsigned 16 bit.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-09 14:43:57 +01:00
Stefan Fuchs
a013e35ff4 Planner don't add minimum gas switch time more than once
Avoid adding the minimum gas switch time more than once even
if we skip some available deco gas.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-09 10:43:03 +01:00
Rick Walsh
13b909cf82 VPMB: calculate time of final ascent properly
Commit d15779a calculates final stop based on stoplevels[2], but if final stop
is 6m/20ft, we should use stoplevels[3].  This fixes it.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
05b4113609 VPMB: time_clear_ceiling is only valid after time_deep_ceiling
Some messed up logic was producing negative deco_time values for some no-deco dives. The CVA wouldn't converge and unrealistic VPMB ceilings were displayed in the profile.  This fixes it.

See #762

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
8e1ea8cd14 VPMB profile: remember deco_time when restoring deco_state
Otherwise the CVA won't iterate properly.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
b3b787db94 VPMB: final_tts may be calculated before final sample
We calculate tts every 30s, not every sample. Consider that when determining
the time that the ceiling would have cleared if it's after the surfacing time.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
fe474ac266 VPMB profile: use deco_time rather bottom_time from planner
This makes the calculations in profile.c a little simpler, especially now we
adopt consistent final ascent rate to determine deco_time since d15779a27

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
e365cac54e VPMB in profile: deepest ceiling occurs just after bottom time
This lets us calculate deco_time for real dives closer to the planner value.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
4a727c64d9 VPMB: calculate deco_time assuming final ascent always takes the same time
If we consider the actual time to ascend from the final stop when calculating
deco_time, then slowing the final ascent can lead to the final stop being
extended, which is completely nonsensical.  For consistency with the original
VPMB implementation, we can't ignore the final ascent time completely, but if
we assume it is always the same (take default ascent rate of 9m/min) then
slower the final ascent won't lead to a longer final stop.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Rick Walsh
a06848c237 VPM-B: move bottom_time into deco_state
Removing ext variable from profile.c should facilitate future performance
gains

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-11-08 15:22:32 +01:00
Jan Mulder
8d0361ff77 Do not save dive sites that are not used
As it is not possible to delete dive sites from the logbook, we
need to make sure that we never save sites that are not tied to
any dive. With this change, unused site that are currently in
the logbook will also be removed, so it will also clear up
(wrong) historical data.

Supposed to fix #786

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-08 14:07:36 +01:00
Simon Peter
20510d4ff7 Include git SHA as part of the AppImage filename
Closes #787

Signed-off-by: Simon Peter <probono@puredarwin.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-07 11:57:27 -08:00
Jan Mulder
828f608b2b Save font_size in correct group
A change of the font_size in preferences ended up in the wrong
preferences group (the GeneralSettings group), appearing to the
user as a non-saved preference. Fix is simple. Just set the
the correct group before saving a change in font_size.

Fixes: #780

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-07 18:36:28 +01:00
Dirk Hohndel
3ab016bfda Travis AppImage: hide warning messages about GStreamer plugins
We don't use GStreamer and we really should try to build a QtWebKit
version without that dependency, but for now this should work to just
silence all these annoying warnings.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 15:50:19 -08:00
Dirk Hohndel
8307957a70 Travis: upload the AppImage.zsync file as well
This should allow incremental updates of the AppImage.
Unfortunately right now this requires on us not messing with the file
names - which means we are losing the SHA embedded there...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 14:05:37 -08:00
Berthold Stoeger
77aaaa787b BT device selection dialog: make Save the default button
When a user presses enter, they probably want their selection saved,
not discarded.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-06 14:05:26 -08:00
Berthold Stoeger
cfc05f2a05 Add "Aladin" to the list of recognized BT names.
Recognize Aladin as the Bluetooth name of the Scubapro Aladin Sport
Matrix. Note that the Scubapro Aladin H Matrix most likely also
identifies itself using this BT name. But it probably uses the same
BT protocol (i.e. the G2 protocol) and therefore this should not pose
a problem. Ultimately a common name should be found.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-06 14:05:26 -08:00
Berthold Stoeger
20922e261a Remove unnecessary == NULL test.
Test not necessary, because the QString in question is not a pointer
and the string is tested for emptiness (which also flags null-strings).

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-06 14:05:26 -08:00
Dirk Hohndel
087900b643 Only considered annotated/signed tags for version
This works around confusion with the 'continuous' tag that we now use
for the CI AppImage builds.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 13:45:00 -08:00
Dirk Hohndel
d09d12efc7 Update translation source strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 12:07:44 -08:00
Stefan Fuchs
aa5b017bea Fix typo which prevented correct translation of word "Density"
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-06 12:07:06 -08:00
Dirk Hohndel
988d5bc1b8 Travis: fix typo
I hate it when I do that.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 09:47:18 -08:00
Dirk Hohndel
f24b6d461d Travis AppImage: work around OpenSSL issue
The Qt binaries that we use for the continues build of the AppImage reference
libcrypto.so.1.0.1e, but we bundle libcrypto.so.1.0.0. On distros that have
libcrypto.so.1.0.1e that gets loaded in addition to the one that we bundle
which causes a conflict. More details are explained in the issue below.

Fixes #779

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 09:42:07 -08:00
Dirk Hohndel
588425e3eb Update ReleaseNotes
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 03:53:03 -08:00
Dirk Hohndel
5196b46e99 Travis: upload continuous build AppImages as well
The latest is always under tag 'continuous'.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 21:29:35 -08:00
Dirk Hohndel
90ca1e351c Travis: automatically create AppImage for releases
This uploads the AppImage as Release whenever there's a new tag.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 20:07:55 -08:00
Dirk Hohndel
61dc1411ae Travis: add Grantlee plugins
With this we appear to have a fully functional AppImage.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 19:46:10 -08:00
Dirk Hohndel
f32b431a6d Travis: find the Qt plugins when running tests
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 19:37:23 -08:00
Dirk Hohndel
2f81a6927b Travis: get our own Qt and build with WebKit enabled
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 19:37:23 -08:00
Dirk Hohndel
8c98386732 build.sh: fix typo that caused us to build Grantlee tests
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 15:50:11 -08:00
Dirk Hohndel
a08fa138b8 Travis: remove special handling for MapWidget
Thanks to commit 956b45ddfd ("map-widget: move the widget and its resources to
'map-widget'") this is no longer needed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 14:50:20 -08:00
probonopd
6fd00fac1d Fix name to uppercase 2017-11-05 14:49:14 -08:00
probonopd
cc4ca76ea0 Build AppImage on Travis CI
https://github.com/Subsurface-divelog/subsurface/issues/769
2017-11-05 14:49:14 -08:00
Lubomir I. Ivanov
956b45ddfd map-widget: move the widget and its resources to 'map-widget'
Move all the map widget platform agnostic files to the
<subsurface-root>/map-widget folder.

This avoids the confusion about the desktop version of subsurface
using mobile components. The map widget is planned as a shared
component between the mobile and desktop versions.

desktop-widgets/mapwidget[.h/.cpp] still remain as those are specific
to the desktop version.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-05 14:48:56 -08:00
Dirk Hohndel
6ce4239884 build.sh: add option to create appdir
This makes it easier to create an AppImage from the build artifacts.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 13:16:23 -08:00
Dirk Hohndel
138f0255f8 build.sh: always install Subsurface
We had not done this on Linux as it was just as easy to run from the build
environment, but we need to install in order to be able to create an AppImage
on Travis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 13:15:53 -08:00