Commit graph

16229 commits

Author SHA1 Message Date
Doug Junkins
4613321e3e Add backend support for statistics by depth and temperature
Added stats_t structures to summarize dive statistics by depth and
by temperature.

Process each dive to add the dive stats to the proper depth and
temperature bucket. Buckets are defined using constants
STATS_MAX_DEPTH, STATS_DEPTH_BUCKET, STATS_MAX_TEMP, and
STATS_TEMP_BUCKET which are defined in statistics.h

Signed-off-by: Doug Junkins <junkins@foghead.com>
2019-03-12 00:53:51 +01:00
Rolf Eike Beer
62c6a19744 CMake: get rid of QT_EXTRA_LIBRARIES
This can be easily derived from QT_EXTRA_COMPONENTS.

Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-09 09:51:55 -08:00
Rolf Eike Beer
17211acc53 remove obsolete workaround for libdivecomputer includes of libusb
This has been fixed in revision b1d434f0ea9a2958613da9bed32ff3ff3318065e there.

Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-09 09:51:55 -08:00
Rolf Eike Beer
3664cc4ee6 Android: factor out duplicate version string search
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
9bbb6f785c CMake: just tell CMake to not find HTTP_Parser
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
aa7f9a18f2 simplify sed hacking of Qt CMake files
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
f667129ed9 CMake: simplify check if library was found
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
f555fa787f CMake: simplify writing qt.conf on Windows
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
b702e8e225 CMake: tell the Intel compiler to use the correct C/C++ standards
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
47e9a771ba CMake: do not expand variables in if-expressions
CMake will do the expansion internally itself. Not doing it here is not only
less code, it also makes sure one does not accidentially get a double expansion.

Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Rolf Eike Beer
69508d7123 CMake: simplify checking if policy can be set
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-05 13:27:54 -08:00
Berthold Stoeger
9b5f6e16e1 Import: fix infinite loop
Owing to a variable reuse in a nested loop, importing dive logs
with new trips could lead to an infinite loop. Use a fresh index "j".

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-03-05 13:03:43 -08:00
willemferguson
e4a1991e0c User manual: Text for Filter Tool
The description of the Filter tool is brought up to date.
One image is replaced elsewhere in the manual to reflect the
new Subsurface window top bar that indicates number of dives.
In total, 4 images added and text for user-manual updated.
The location of the filter text in the usermanual has been
changed.

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
2019-03-05 13:03:13 -08:00
Doug Junkins
a29f7b7b32 Add support to compile from source on a Raspberry Pi
Update CMakeLists.txt to test if the CMAKE_SYSTEM_PROCESSOR variable is
either armv6l or armv7l. If so, add libGLESv2 to the list of libraries
to be linked to support openGL on embedded systems.

Update INSTALL file to list the packages needed to be installed on
Raspian Stretch or Ubuntu Mate to successfully compile subsurface from
source.

Signed-off-by: Doug Junkins <junkins@foghead.com>
2019-03-05 09:01:22 -08:00
Willem Ferguson
10e7835290 Filter panel: add suit and notes search fields
All the field in the Notes Panel of the main window are now supported.
This needs some testing especially for the Notes field that may contain
markup. It appears ok to me for single term searches. One would like
to think about the default search option for the Notes.
There is a vertical spacer in the Filter panel that I moved downwards
and whose function I am not quite sure of.

[Dirk Hohndel: small adjustments]

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-28 15:45:42 -08:00
Berthold Stoeger
01e8a54f58 Cleanup: remove DownloadFromDCThread::tripTable
Since ff9506b21b the downloaders don't
add dives to a new trip and therefore the tripTable field of
DownloadFromDCThread became pointless. Remove it.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 15:31:48 -08:00
Berthold Stoeger
65267599f7 Cleanup: remove outdated comment in libdivecomputer.h
The comment was mentioning a "progressbar_t", which doesn't exist
anymore.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 15:31:48 -08:00
Berthold Stoeger
91ff7b68f0 Cleanup: remove dc_user_device_t::preexisting
This field appears to be unused for a long time.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 15:31:48 -08:00
Berthold Stoeger
8cde21a41d Cleanup: remove dc_user_device_t::trip
Since ff9506b21b the downloaders don't
add dives to a new trip and therefore the trip field of dc_user_device_t
became pointless. Remove it.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 15:31:48 -08:00
Berthold Stoeger
a729911893 Uemis: remove trip deletion on dive deletion
Since ff9506b21b the downloaders don't
add dives to a new trip, but the import code does. Remove the
code in the Uemis downloader that would remove a dive from the trip.
The code has been broken recently anyway (instead of testing for trip,
it tested for the notrip flag, which make no sense whatsoever).

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 15:31:48 -08:00
willemferguson
2cda456282 Append the dive mode as a tag that is seen by the filter tool.
This allows one to filter dives by divemode, e.g. by typing
"CCR" or "Open circuit" in the tags textbox of the filter tool.
Quite useful if one dives using more than one dive mode. For the
purpose of the filter tool only the dive mode attribute is added
to the list of tags for the specific dive being considered. The
tag list for the same dive (in the XML dive log) is not affected
in any way.

Provide for translation in alternative languages (Response to
bstoeger's suggestion).

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
2019-02-28 07:29:15 -08:00
Alexander Wilms
22f98b0a16 Update appdata screenshots
Signed-off-by: Alexander Wilms <f.alexander.wilms@gmail.com>
2019-02-28 07:28:01 -08:00
Berthold Stoeger
416401a301 Cleanup: put all function declarations in file.h in extern "C"
Some of the functions declarations were not in 'extern "C"',
despite being C functions. This worked only because they weren't
called from C++. Nevertheless, it seems like a dangerous proposition
to have the same function declared once as C and once as C++.
Therefore, always put them in extern "C" (if compiling in C++ mode,
evidently).

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:27:10 -08:00
Berthold Stoeger
155260e6d9 Cleanup: make dt_dive_parser() local to datatrak.c
The function is only used in this translation unit.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:27:10 -08:00
Berthold Stoeger
dd0ded1a9e Cleanup: remove deletion of webservice dive sites
In the XML and git savers, unchanged webservice-dive sites were
deleted. Since the webservice is not functional anymore, remove
this code.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:27:10 -08:00
Berthold Stoeger
3c2dd7f7c6 Cleanup: move get_divesite_idx() to divesite.c
This function was defined in divelist.c, whereas it's better located
in divesite.c. Move it.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:27:10 -08:00
Berthold Stoeger
9c87c0dafd Cleanup: make dive_set_geodata_from_picture() local to dive.c
The function dive_set_geodata_from_picture() is only used in
dive.c. Make it local to that translation unit.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:27:10 -08:00
Berthold Stoeger
0893f87beb Cleanup: uninline get_dive_site_by_uuid
There seems to be no compelling reason to have this function inlined.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:27:10 -08:00
Berthold Stoeger
f6957c54af Autogroup: make notrip flag work again.
6bf4120dbb replaced the trip flag by
a notrip boolean. This was supposed to signal that the user removed
the dive from a trip and therefore it shouldn't be autogrouped again.

Sadly, the commit removed the feature. Reinstate it.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-28 07:24:09 -08:00
Alex Ellis
2d2603c0bc Fix usage of Derek features
- The features in .DEREK.yml were not correctly stated as per
the user guide. They caused no harm, but may have been misleading
the features removed are all part of the "comments" feature.
- The new "pr_description_required" is turned on which helps
reduce maintainer fatigue when a contributor deletes the whole
text area / description of a new PR. Derek will advise as per:
https://github.com/alexellis/derek/blob/master/USER_GUIDE.md
- This version of Derek also includes the ability to use a slash
command in place of the text "Derek" i.e. "/add label" or
"/set milestone"

Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2019-02-28 17:18:58 +02:00
Berthold Stoeger
5033c02a11 Filter: change default mode for location to any-of
Since a dive has only one location all-of makes little sense. It
*can* make sense if the user enters two substrings (e.g. Tofo and Reef),
but generally it won't. Therefore change the default to any-of.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-20 09:04:56 -08:00
Dirk Hohndel
f78e686b35 Desktop: remove checkmark from Filter divelist entry in Log menu
That's redundant with the information that we show in the window title (and
only risks going out of sync, as it is right now).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Dirk Hohndel
c1aaea8d76 Desktop: show filter button explanation in the widget
Since the filter numbers are now shown in the window titlebar, we can use this
space for an explanation of the two button (they already have tooltips, but
this is even easier for the user).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Dirk Hohndel
3ff131b27d Desktop: show the filter information in the window title
Instead of using the filter widget itself to show the information how many
dives are displayed, put it in the window title where it's visible even if the
filter widget isn't shown.

If the filter is not active, simply show the total number of dives.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Dirk Hohndel
208b3bb9af Desktop: don't clear the filter when the widget is hidden
Only clear the filter when the user explicitly resets it. This way the user can
toggle between the map and the filter widget without losing the filter state.

Fixes #1952

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Dirk Hohndel
106c682c03 Desktop: track if the filter widget is active
This is not perfect - if you open the filter, set some criterion and then
remove it again (without resetting the filter), this variable will give you a
false positive).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Dirk Hohndel
0d7d347952 Adjust CHANGELOG for 4.8.5 release
These features where already included there (but that happened on a branch, so
they are still listed in the CHANGELOG on master).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Dirk Hohndel
26d14c8b33 Add Bluetooth filter to CHANGELOG
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19 12:02:58 -08:00
Berthold Stoeger
e550a788f0 Filter: implement any-of mode
Add an additional mode to the tags, people and location filters: any_of.
Replace the original invert-bool by an enum.
Move the common code into a distinct function.

Reported-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-19 12:02:15 -08:00
Berthold Stoeger
ce669adc53 CHANGELOG.md update
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-18 12:57:13 -08:00
Berthold Stoeger
68b5493c14 Edit: use correct offset when changing dive times
The undo-work reversed the direction of the offset. This was apparently
only fixed when using the menu entry, but not when editing dives directly.
Invert the offset to get the correct time.

While doing so, remove a redundant if: First it checked whether the
dates are the same, then whether the offset is non-zero.

Fixes #1975.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-18 12:57:13 -08:00
Dirk Hohndel
9d582c5512 Mobile: only show dive computers in the Bluetooth connection list
And offer an option to show all devices in the settings. This is intentionally
not stored in the preferences as this should never be needed. We don't support
BT or BLE dive computers that we don't recognize. This is a last resort in case
a new firmware were to change the name or some other weird issue causes us not
to recognize a dive computer - and that should be fixed instead of worked
around.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-14 09:05:58 -08:00
Dirk Hohndel
f35a0f3b09 Desktop: only show dive computers in the Bluetooth device list
By default we'll only show devices that we believe to be dive computers,
but the user can override that with the recently introduced check box.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-14 09:05:58 -08:00
Dirk Hohndel
7b0cfb1772 Desktop: add checkbox to show all BT devices
Which right now is of course what we do by default, the goal is to only show
what we think are dive computers, but allow to see all of them if the user
wants to.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-14 09:05:58 -08:00
Dirk Hohndel
2ae33376f7 Desktop: show filter panel with maximized dive list
This way we can filter both in the default layout and in the dive list layout.

Fixes #1951

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-11 12:29:07 -08:00
Dirk Hohndel
7b61cd7452 Small whitespace fix
Simply because it bugged me.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-11 12:29:07 -08:00
willemferguson
56e667f05f Changes to user manual (V4.8.4)
1) remove Facebook integration (Dirk)
2) rewrite section about filter (Dirk)
3) insert section about bailout checkbox (Robert)
4) finalise section about surface GF in info box (Robert)
5) add export of profile graphic to .png (Robert)
6) update import of dives using universal import dialog (Miika)
7) some typos corrected and Robert's requests implemented
8) Factual info as wellas typos and corrections raised by
   Miika and Dirk

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
2019-02-10 22:50:28 +01:00
Dirk Hohndel
3693fe253b core: move updatecheck to its own domain
This make it easier to move backend services around.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-09 10:37:55 -08:00
Berthold Stoeger
2743e59415 Cleanup: remove unsused function clear_dive_site()
The last caller was removed in 11a211fb02

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-09 10:36:01 -08:00
Berthold Stoeger
28234ec58d Cleanup: remove unused function create_dive_site_from_current_dive()
The last caller was removed in 11a211fb02

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-09 10:36:01 -08:00