Commit graph

13778 commits

Author SHA1 Message Date
Oliver Schwaneberg
0ca52f868e Choose water presets from a qcombobox in planner, custom value possible
Add a combo box for water types with defaults for fresh water, sea water
and the EN 13319. All values taken from units.h, where EN 13319 was added
beforehand.
Custom values can be entered through a spinbox.
Also changed "Salinity" in TapDiveInformation.ui to "Water type".

Translation required!

Signed-off-by: Oliver Schwaneberg <oliver.schwaneberg@gmail.com>
2018-03-02 08:38:22 -08:00
Lubomir I. Ivanov
afc9dd5f38 CONTIRBUTING.md: add a note about imperative mood
Add a note in CONTIRBUTING.md that imperative mood
is the preferred way to write commit messages.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-03-02 08:24:05 -08:00
Berthold Stoeger
0fa6422a04 Warning Fix: add missing include to core/parse-xml.c
Fallout from commit #cd5e17cf79c2f1eb896efd0436c103221de446ae

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-02 02:46:31 +02:00
Stefan Fuchs
4cbf8b87a3 Updated strategy for removing cylinders
Change the strategy when to allow cylinder removal from a dive:
- Not remove when cylinder has gas switch events, in any other cases
  allow removal
- Remove this whole "cylinder with same gas" thing being a criteria
  for cylinder removal

When removing a cylinder which has corresponding pressure info in
samples, also remove this pressure info from the samples.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-27 09:17:57 +01:00
Berthold Stoeger
cd5e17cf79 Cleanup: Unify qthelper.h and qthelperfromc.h
Since all qt-helpers are defined in qthelper.cpp, there seems to be
no reason to have two include files. By unifying the two files,
duplication and inconsistencies are removed. The C++-only part is
simply compiled away with #ifdefs.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-26 19:06:02 +02:00
Willem Ferguson
e2a6b96db8 Move icd preference setting
Move the icd preference setting to the preference group that deals
with gas pressures.

I also reorganised the existing items so that the items within the
pressure widget are logically arranged according to the grid layout.
The order of items was very haphazard. No change of code at all in
this reorganisation.

Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
2018-02-26 19:05:26 +02:00
Berthold Stoeger
8251a6e980 Cleanup: remove two unused macros in tabwidgets/maintab.cpp
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-26 08:53:12 +01:00
Berthold Stoeger
7bd860f2b7 Cleanup: Use QString as parameter for [get|save]BtDeviceInfo()
Each callsite of saveBtDeviceInfo() has a QString, which is converted
to a C-string, passed and immediately converted back. Remove these
conversions by taking a reference to QString directly.

getBtDeviceInfo() is not as clear. Here, the callsite has a C-string
handed down from libdivecomputer. Nevertheless, pass a reference of
QString here as well. Firstly, for reasons of symmetry. Secondly,
to avoid multiple conversions in the getBtDeviceInfo() functions.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-26 08:52:34 +01:00
Stefan Fuchs
d9c0df0142 Correctly suppress display of ICD table if prefs.show_icd is false
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-25 02:04:30 +02:00
Stefan Fuchs
b5b5d619be For prefs option show_icd add missing call for loading
Add the missing call to load the prefs option show_icd in function
SettingsObjectWrapper::load()

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-25 02:04:30 +02:00
Salvador Cuñat
3036791d90 smtk-import: Add smtk2ssrf.desktop to sources
Without this file AppImage won't build and travisbuild.sh will fail
miserably.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
36396d0bf4 smtk-import: Upload .AppImage and .exe files
Upload windows installer and AppImage to Subsurface's repo

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
9ec6aafe51 smtk-import: Add an AppImage for smtk2ssrf
Build an AppImage for smtk2ssrf using previously build binaries.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
f6cee2ca7e smtk-import: add windows building to travis-ci
Prepare the building script to suport travis or set other automated
builds, while keeping other options to manual builds.

In before_install script, create needed directories, and dowload
mdbtools sources.

Add smtk2ssrf build script to travisbuild.sh

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
d303a589e6 smtk-import: fit build script to run in travis builds
Set an "automatic" mode via parameter (or auto detected if running in
travis environment) to skip the user prompt.
Install the built binary, in automated builds, under the usual
INSTALL_ROOT folder.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
142c60ff88 smtk-import: Support SmartTrak import in travis builds
1.- Include needed dependencies (glib-2.0 and mdbtools) in .travis.yml
2.- Call smtk2ssrf-build.sh script *after* subsurface is done and
AppImage is built, as the script will override subsurface's binary.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Dirk Hohndel
361d8abb5b Add Derek control file
I want to start using Derek to check for Signed-off-by (or, more explicitly,
the DCO) in pull requests.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-02-24 12:07:24 -08:00
Stefan Fuchs
4d377926e0 Whitespace cleanup in core/divelogexportlogic.cpp
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24 11:45:17 -08:00
Stefan Fuchs
862e121532 Correct comments for struct temperature_t value range
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24 11:45:17 -08:00
Stefan Fuchs
ca4ccadcc4 Use duration_t for total_sac_time in struct stats_t
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24 11:45:17 -08:00
Stefan Fuchs
95a23cf470 Use temperature_t for temperatures in struct stats_t
Use struct temperature_t for temperatures in struct stats_t and
use get_temperature_string() when printing these temperatures for
statistics and HTML export.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24 11:45:17 -08:00
Jan Mulder
928e7ed869 QML UI Mobile: correct margins on log page
Also a developer likes to see a nicely formatted page, so correct
some bugs in margin handling on the log page. There was a strange
multi-line whitespace on the top of the list, and the total width
of the page was (initially) a little smaller than full page, so
showing a small strip of the page left on the pageStack. This
just looks weird. So again, cosmetics only.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24 11:39:49 -08:00
Jan Mulder
76a7c860f1 Mobile QML UI: wideScreen property change
See also 15cdcdbc6. There, we introduced the wideScreen (set to true)
to evade a (cosmetic) bug in (most likely) Kirigami. The top dive
was partially obscured on the start of the app. And by setting the
wideScreen to true, the application header became of a fixed height.

Numerous changes further in Kirigami, we can now set this property to
false. This results in a correctly displayed divelist at the start of
the app, and *also* an application header that correcly hides itself
when scrolling up, and displays itself again when scrolling down. So,
a behavior that is common to, for example, mobile brouwsers.

This all said. I still believe this is a workround for strange behavior.
In fact, we should not need to set this wideScreen property at all,
and Kirigami should behave correct in all cases (true, false, unset
at our end). It behaves correctly when set to true or false, but
still displays a partially hidden top item in the dive list when
unset.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24 11:39:49 -08:00
Jan Mulder
cd0b911fe8 Mobile: new Kirigami SHA
And sync again with Kirigami master. All safe QML improvements.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24 11:39:49 -08:00
Jan Mulder
564e134bba Revert "Mobile QML UI: fix more background colors (gpslist)"
This worked correctly while compiled against Qt 5.10.0, but after
installing Qt 5.10.1 the behavior was just wrong. And as there
seems no way to color the background of a Kirigami SwipeListItem,
just revert this, and accept the (slightly) inconsistent coloring
of the page (for now).

This reverts commit 6700715b5d.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24 11:39:49 -08:00
Jan Mulder
7e0e87cf78 Android build: use Qt 5.9.3
At least, now the Travis builds use the same Qt version as the
production builds from Dirk that go to the AppStores.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24 11:37:56 -08:00
Stefan Fuchs
f08e24d65b Exit add_plan_to_notes() in plannernotes.c always via label finished
Replace an early "return" in add_plan_to_notes() with a "goto finished;"
This was the initial idea of doing it plus it fixes a potential memory
leak (missing free for icdbuffer).

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-22 21:48:46 +02:00
Stefan Fuchs
4b2f289e4f In configure DC dialogs don't use a space between values and units
In the configure dive computer dialogs remove all the spaces between
values and units. This makes it consistent with the standard used
all over the Subsurface UI.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-22 21:48:05 +02:00
Stefan Fuchs
a7372d9340 Remove space between pressure value and pressure unit in profile
Bring one more value plus unit pair which is the pressure value printed
in the profile in accordance with the coding style/UI style rule of
not having a space between value and unit.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-22 21:48:05 +02:00
Jan Mulder
f9aa67a399 Build system: correctly find libdivecomputer includes
Fully unsure when this got broken, but we tried to find the
libdivecomputer includes based on the include file "hw.h".
Interestingly, that file does not exisist (any more?) in
libdivecomputer, so the search for the include fails. This
is annoying, as the initial cmake fails on this in case of
developer builds from QtCreator (which do not compile all
dependencies like our home grown build scripts).

The solution is simple: just find the includes for
libdivecomputer based on exiting files in this lib.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-20 14:29:47 +01:00
Robert C. Helling
818ab36b24 Indicate direction of transition in verbatim plan
Replace "Transition to" by "Ascent to" or "Descend to"

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2018-02-20 14:29:31 +01:00
Jan Mulder
394054ebc1 QML UI: do not overflow right margin on BT text
Trivial and cosmetics only fix. The width of the rescan button
was forgotten, and this pushed the right margin to the right,
causing the combo menus to overflow the right margin.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-19 19:30:26 +01:00
Stefan Fuchs
e7ae749d52 Consistently use the famous l for liters in info tab
For salinity in info tab change the l character to the famous
Subsurface "ℓ".

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-17 19:48:50 -08:00
Berthold Stoeger
5c248d91cd Coding-style: remove superfluous parentheses
Mostly replace "return (expression);" by "return expression;" and one
case of "function((parameter))" by "function(parameter)".

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-17 19:38:52 -08:00
Jan Mulder
36b8594cce Mobile: again new Kirigami SHA
While we are at this, just go to current master. Only QML
improvements, and safe to upgrade.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Jan Mulder
6700715b5d Mobile QML UI: fix more background colors (gpslist)
And another one. The SwipeListItem also needs to have a set
background color. Unfortunately, the lines between the
individual SwipeListItem disappeared, so, set the
smallest possible border on these items.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Jan Mulder
e7ccb7d4d9 Mobile QML UI: color the application header correctly
Also, this got broken after the Kirigami to verion 2.2 in main.qml.
So, set the header background color according to our theme setting.

Notice, that there is a remaining issue here. We could color the
text color in the header, but now, this seems impossible (or I
do not understand how and where to set this).

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Jan Mulder
65d80d3cd0 Mobile QML UI: fix background colors
For some reason, after the update of the main.qml to version 2.2,
all Kirigami Pages and scrollablePages show up plain white.

So now, set a proper background for these pages.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Jan Mulder
01188905ae Mobile QML UI: Divelist hover/selected colors
This is subtle one. With the changing of the theme color, it
appeared that the hover and selected colors in the divelist
where wrong (as in, always blue-ish). This is easily solved
by setting the activeBackgroundColor to our theme color, and
Kirigami does the rest (tint and opaque settings for the
different states a selected dive can be in).

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Jan Mulder
bd10a8442a Mobile QML: main.qml to Kirigmi 2.2
This is a long standing issue. I wish to keep up with Kirigami developments
including new versions of their controls, but this is not always easy.
While we upgraded to Kirigmi 2.2 for most of our QML earlier, using this
new version of main.qml breaks numerous stuff. In fact, so much that
we just needed to wait.

With the progress in Kirigmi, it is now possible to upgrade, with still
some issues on our side to be fixed, but this is manageble now.

The main show-stopper was a construct to set our theme colors, for example:
Kirigami.Theme.highlightColor = Qt.binding(...)
This is not posssible any more, as the Kirigami.Theme has made these
readonly on their end.

This commit just removes the assignments to the now readonly theme
items. And the setting of a correct theme color for the action button.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Berthold Stoeger
d5d830eac0 Cleanup: Save hash from filename-to-hash map to git repository
This unifies behavior of XML & git saving. Now, in both cases, the
picture hash is extracted from the filename-to-hash map instead of
using the picture structure.

This seems more robust, because the picture structure is not necessarily
updated by learnHash(). The latter may operate on a copy of the picture
structure.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-17 11:06:30 -08:00
Berthold Stoeger
e880948d73 Cleanup: return copied string from hashstring()
The following statement in the hashstring() function:
  return hashOf[QString(filename)].toHex().data();
returns data of the temporary QByteArray generated by toHex().
Thus, the caller will access released memory, which could lead to
data corruption.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-17 11:06:30 -08:00
Jan Mulder
88d0ce499d Build: do include modules instead of files
Cleanup only. It seems a little weird to first define a
CMAKE_MODULE_PATH search path and then explicitly include
files including a hard coded path instead of letting the
include command search for the modules we like to include.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-15 21:23:28 +01:00
Jan Mulder
e507b123b5 Mobile: fix build after new Kirigami sha
This is definitely a hack.

Do not include the Kirigami resources (on static build). It causes
double defined symbols in our setting. I would like a nicer fix for this
issue, but failed to find one. For example, not adding the resource in
our build causes the qrc file not to be generated. Manual generation
of the resource file (using rcc) introduces the double symbols again.
so it seems some Kirigami weirdness (but their staticcmake example compiles
correctly).

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-15 21:23:28 +01:00
Jan Mulder
068d55b79d Mobile build: new Kirigami SHA
While most new commits are QML improvements, there is a change
in the Kirigami build related to static building (like we do),
and Cmake restyles to make things more Qt compliant.

As now the (generated) qrc_kirigami.cpp is included from
kirigamiplugin.cpp, for static builds, our build failes on
double defined symbols.

Following commit deals with this fail.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-15 21:23:28 +01:00
Miika Turkia
d4eb2ba1a1 UDCF import comment to changelog
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-02-15 17:54:05 +02:00
Miika Turkia
b0eca5cb32 Convert cylinder volume to metric
This is a rough conversion from cuft to liters. Should be close enough
when we don't have working pressure to do the real calculation. (As far
as I know, this is the case with UDCF.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-02-15 17:54:05 +02:00
Miika Turkia
006e00ebc4 Case insensitive string comparison for units
Not really surprising, but a sample log that I received used different
case for unit than I had expected.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-02-15 17:54:05 +02:00
Miika Turkia
f8360eeddd Convert imperial pressures to metric
This will convert cylinder start and end pressures from imperial to
metric, when necessary.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-02-15 17:54:05 +02:00
Miika Turkia
0f3057d7d0 Add imperial unit support for temperature
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-02-15 17:54:05 +02:00