Commit graph

13432 commits

Author SHA1 Message Date
Berthold Stoeger
f8fcd65bc4 Prevent signed/unsigned comparison warning
Change an unsigned integer to a signed integer in profilewidget2.cpp,
because commit 1f8506c changed the definition of duration_t from
unsigned to signed.

Since this value represents the number of seconds since a dive started,
there is no possible chance of overflow problems.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-18 21:50:43 +01:00
Berthold Stoeger
1f651a7b83 Prevent annoying signed/unsigned comparison warning
Commit d6c013f303 introduced a cast to avoid a signed/unsigned
comparison warning for all translation units that included
core/dive.h.

Commit 1f8506ce64 then changed the definition of duration_t from
unsigned to signed, inverting the effect of d6c013f303.

Thus, revert d6c013f303 to allow compilation with -Wall without
flooding.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-18 21:50:43 +01:00
Dirk Hohndel
f034121bef build.sh: fix comparison
This prevented googlemaps from building in some circumstances.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-18 08:10:37 -08:00
Dirk Hohndel
f691593e65 Switch back to upstream uploadtool
In commit e643589233 ("Travis: setup up the desired release message
right away") we temproarily switched to my fork of uploadtool to take
advantage of a new feature that I had implemented there. This has
already been merged upstream, so let's switch back to upstream.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-18 08:05:50 -08:00
Dirk Hohndel
e643589233 Travis: setup up the desired release message right away
Instead of using the default release message and then trying to fix it up
in the after_success section of one of the builds that we test, let's just
always use the message that we want, regardless which build finishes first.

This currently requires my fork of the uploadtool - the changes have been
submitted upstream and I hope they'll get merged there so we can switch
back to the upstream version of uploadtool.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-18 16:17:40 +01:00
Dirk Hohndel
cd9805904a Travis: include the symlink in the zip of Mac .app
Don't try to follow the (recursive) symlink.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-18 16:17:40 +01:00
Stefan Fuchs
478a784792 Release notes: Cleanup, pressure graphs, VPM-B ceiling
Remove old 4.7.2 headline.
Add pressure graphs improvement.
Add VPM-B ceiling improvement.

Suggested-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-17 16:01:24 -08:00
Dirk Hohndel
46e1f5e36a Travis: update the release message
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-17 12:41:29 -08:00
Dirk Hohndel
9f1fde4794 Travis: don't edit Release info if this is a PR
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-17 12:21:13 -08:00
Jan Mulder
35194c7002 mobile: black and white backgrounds on starting
This very simple commit has a long story. See the mailing list
subject "mobile: android splash screen (and issue 513) opacity
weirdness".

There is even more. I found the following deccription on Internet:
https://falsinsoft.blogspot.nl/2017/07/qml-show-android-native-splash-screen.html
and tried to implement this with the potentially nice Qt functionality
(since 5.8) to manually get rid of the splash screen. Unfortunately,
this does not work. Notice that there are subtile differences in
the here found internet page, and the method originally implemented
in commit 04e994b575.

This fix is as mimimalistic as it can be. Just do not set black but
white for the initial background. Unfortunately, there is still
a small position change of the icon. It is known why, but solving
is left as an exercise to the reader.

Fixes: #513

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-17 15:45:45 +01:00
Berthold Stoeger
5ad6e168c6 Fix memory leaks in SettingsObjectWrapper.cpp
Free a bunch of C-style strings before assigning newly copied strings.
One case was particularly buggy:
  prefs.locale.use_system_language = copy_string(qPrintable(value));
Note that prefs.locale.use_system_language is a bool, which of course
always evaluates to true! Probably nobody noticed because a restart
is required when changing locale.

Moreover remove a few double-semicolons.
2017-11-17 15:32:38 +01:00
Berthold Stoeger
9ec7aa7fd7 Fix typo: LENGHT -> LENGTH 2017-11-17 15:29:42 +01:00
Linus Torvalds
7fa5fcfa1d Don't show cylinder pressures for other dive computers
Stefan Fuchs points out that sometimes you get cylinder duplication when
you merge dives, particularly with a planned dive.  For example, if we
had different manual pressures in the two different dives, the cylinders
will be kept separate.

But that also means that we don't want to plot the pressures from those
other cylinders that came from another dive and are now associated with
another dive computer.

Change the "seen" logic for the cylinder to ignore cylinders that are
only mentioned by other dive computers than the active one.

Reported-by: Stefan Fuchs <sfuchs@gmx.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 15:25:26 +01:00
Linus Torvalds
2e82a5d2ed Properly declare 'has_gaschange_event()' function
It's already used in core/gaspressures.c where it was declared
privately, and we'll have a new user in the profile code, so just
declare it in a proper header file like it should have been.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 15:25:26 +01:00
Linus Torvalds
8136c2d78b Clean up confusing code in setup_gas_sensor_pressure()
The "prev" cylinder can never be negative since commit 56c206d19f
("For more manual gas pressure details"), so remove stale code that
checks for a case that cannot happen any more.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-17 15:25:26 +01:00
Jan Mulder
c8a7712ea5 Show all autocompletes after entry of comma in tag list
The almost 3 year old commit e1db5f21b1 introduced the behavior
that you need to type at least 1 character for a tag to show any
autocompleted data. While this went unnoticed for years, there
is always a user that notices this changed behavior.

The solution is rather simple. Do allow the 0 lenght string
to act as seed for autocompletion instead of just returning, and
doing no autocomplete at all.

As the afore mentioned commit was explicitly meant to prevent over
active firing of the tag list autocompleter, this (simple) change
is carefully tested on this, and no adverse effects are visible.

Fixes: #605 (wrt the 1 character issue)

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-17 09:19:03 +01:00
Stefan Fuchs
010f5f2abc In maintab disable correct label when dive trip selected
Until now accidentally the dateLabel was disabled and the timeLabel
was enabled. Changed this the other (correct) way round.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-16 11:34:12 -08:00
Lubomir I. Ivanov
adb0adb1d2 github: update PR template with 'documentation-change'
Add a 'Documentation change' section to the PR body.
This instructs the PR submitter to edit the section
with notes for the team editing the documentation.

If a PR has such notes, a maintainer should then
apply the needs-documentation-change label, so
that the documentation team can easily filter
such PRs by label.

Suggested-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 11:32:58 -08:00
Anton Lundin
063aadd166 android: Add android build on travis-ci
This adds a android-apk-build which runs on travis-ci. This is using a
quite ugly trick, building in a docker container, basically just to get
a newer cmake. The cmake in trusty is way to old to work with android
builds.

A good side-effect is that this is a complete copy-paste for anyone who
would like to build android-binaries them self on Linux. All the
uglyness is hidden away in a docker container.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
c92a86f898 android: Don't re-clone subsurface in android-build-wrapper.sh
Just use the source tree you where called from instead.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
65b825286c android: Correct path to Qt binaries
Back in 6451adfec1, the path to the qt
binaries was changed. The current binaries are back on the old urls, so
this reverts half of 6451adfec1.

The other half is still true.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
9dd87bac03 android: Remove unneeded extra argument parsing
This is handled by build.sh, which handles it correctly for running with
set -u.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
f3924aea29 android: Install android sdk on a different way
This way we can auto-accept all the licenses.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
3f4f160552 android: Terminate build.sh on unknown arguments
Previous code ended up in a eternal loop on unknown arguments.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
f9c85fa755 android: Ensure rm exits zero
This is to comply with set -e

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
cfa241036c android: Remove unset variable VERSION
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
e87a9e1454 android: Increase BUILDNR with zero exit status
This increases BUILDNR in a way that keeps exit status as zero, so the
script doesn't abort due to set -e.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
aa7208049f android: Allow Qt install in headless mode
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Anton Lundin
49d46255fd android: make android-build-wrapper.sh executable 2017-11-16 10:23:00 -08:00
Lubomir I. Ivanov
f34f1d41d8 ReleaseNotes: update about the new combo-box is BT dialog
from PR #809

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 14:39:59 +01:00
Berthold Stoeger
aca4a3a4fa Introduce mode field in Bluetooth device selection dialog
Some BT devices support both, classical and LE, modes. Users could
choose either by prepending or removing "LE:" in the device address
field. After commit d23bd46a1b, the
device field is always disabled in Bluetooth mode.

Therefore, add a mode combo box to the Bluetooth device selection
dialog. In the default mode (auto), the old code path (based on
the Qt device flags) is used. The two other modes (force LE, force
classical) allow the user to force the preferred behavior.

This feature is meant as a stop-gap measure until a more refined
transport choice is implemented. Therefore, the value of the new
combo box is not saved in the settings, to avoid cluttering of
the preferences with soon to be obsolete entries.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-16 14:26:51 +01:00
Lubomir I. Ivanov
a95825e95c ReleaseNotes: update about the Win32 logging fixes
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 14:26:14 +01:00
Lubomir I. Ivanov
a8fbceac17 subsurface-startup: expose print_version() in the header
The Windows auto-verbose + log file creation if starting
from a non-terminal has the problem that the print_version()
call is never made becase 'verbose' is updated programatically
in windows.c and not by the user (by passing -v).

To work around the issue:
- move the windows console creation call before *everything* else
- then immediatelly install the message handler
- then see if 'verbose' is set and explicitly call print_version()

print_version() now also has a flag (version_printed), to avoid
printing the version multiple times, if the user decided to add
an extra -v to the Desktop shortcut.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 14:26:14 +01:00
Lubomir I. Ivanov
f2911f64ba dekstop-main.cpp: install a message handler
This way the Windows binaries can properly write to
log files.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 14:26:14 +01:00
Lubomir I. Ivanov
6161ca2083 windows.c: enable verbose level 1 for desktop usage
If the user has not started Subsurface from a terminal
make sure that verbosity is enabled (verbose = 1), so that
the log files are populated with information useful for
debugging.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 14:26:14 +01:00
Lubomir I. Ivanov
6632c263d9 github: improve the issue template
1) Add new description types:
- 'Code cleanup'
- 'Build system change'

2) Add a 'Release note' section:
The idea with this is that if you make a change
which is worthy of a release note in ReleaseNotes.txt,
it would be best to outline it here but also in the .txt.

This basically means that the PR should also touch
ReleaseNotes.txt with an extra patch.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-16 08:38:57 +01:00
Stefan Fuchs
72129289a8 During DC import reset cns, ndl, other values inbetween dives
Reset cns and heartbeat to 0
Reset ndl and bearing to -1

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-16 08:32:46 +01:00
Stefan Fuchs
85d00d1e7c For surface samples init ndl and compass bearing from prev sample
This avoids printing useless info to the XML file.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-16 08:32:46 +01:00
Stefan Fuchs
0895bccf49 libdivecomputer.c init sticky values for samples for current sample
When filling samples with values during DC import fill sticky values
like CNS, NDL, stoptime,... immediately into current sample.
Otherwise we will not fill the sticky values into the last sample
created.
Add two new sticky values: heartbeat and bearing

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-16 08:32:46 +01:00
Lubomir I. Ivanov
249b758b0d cmake: make sure to only handle objcopy from MXE
The native Windows build does not use the MXE tools
and call such as `i686-w64-mingw32.shared-objcopy`
can fail.

Attempt to first find if the program exists using
`find_program()` and only then call it.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-15 23:13:17 +01:00
Lubomir I. Ivanov
bd9dad7371 MXE: move the objcopy calls to cmakelists.txt
The objcopy calls to strip the debug symbols out of
subsurface.exe need to happen before the installer is
created (staged).

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-15 12:28:51 +01:00
Dirk Hohndel
f02388d6b7 Travis: test more variations of the build
On Linux we want to test both desktop and mobile, and both the full
feature set as well as a build without BT and without WebKit.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 22:18:10 -08:00
Dirk Hohndel
d4f6773b27 Travis: use the correct version in release announcement
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:56:31 -08:00
Dirk Hohndel
533098980a Travis: update the release message to mention Mac
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:41:42 -08:00
Dirk Hohndel
9c3a45af95 Travis: add Mac build
This adds a -skip-googlemaps option to the build script since for some
reason trying to build the googlemaps plugin in the Travis mac
environment causes an error with a missing stack-protector-strong
feature.

The build relies on a custom build Qt and a cached homebrew environment.
And the result is of course not a DMG with a signed app but a zip file
with an unsigned app - so it's a bit harder to consume.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:39:15 -08:00
Dirk Hohndel
65e65272ce Travis: set better release message
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 08:34:45 -08:00
Dirk Hohndel
de3d6b5327 Travis: make AppImages follow our naming pattern
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 08:34:45 -08:00
Stefan Fuchs
a8d4ff308d New fixup function fixup_dc_ndl
Fixup the NDL value to '-1' at the very beginning of a dive.
Some dive computer report a NDL of 0 at the very beginning of a dive
and then only some 10 seconds later they report the correct value
like 240 min for the first time.
Translate this 0 at the beginning of a dive into our internal '-1'
for no info available.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-13 20:50:10 -08:00
Stefan Fuchs
adbc71f9da Init every struct sample with default values
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-13 20:50:10 -08:00
Stefan Fuchs
1f8506ce64 Display values in info box only if value is interesting
Type duration_t changed from uint to int.

Default value of '-1' introduced for some of the values in struct sample:
NDL used -1 as default.
Bearing uses -1 as default (no bearing set).

Display pXX, EAD, END, density, MOD only if values are larger than 0.

In profile don't display data from two first and two last plot_data
entries in info box.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-13 20:50:10 -08:00