aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-05-26Compute and display gas densityGravatar Robert C. Helling
This appears to be critical for work of breathing so it might be worthwhile to compute. So far only in infobox. For background, see https://www.youtube.com/watch?v=QBajM3xmOtc Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Creation of dive duration string and surface interval stringGravatar Stefan Fuchs
Update the function to create the dive duration string in a way that it can be used also in info and stats tab and added some more flexibility. Changed layout for <1h freedives to "0:05:35" (w/o units) or "5:35min" (with units and :) or "5min 35sec" (with units with space). Add a new function to create the surface interval string. Completely remove old function get_time_string() and get_time_string_s(). Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-05-26Fix right boundary when moving last handle in plannerGravatar Robert C. Helling
There was a bug in the old code due to confusion between minutes and seconds as the unit of the time axis. But rather than limiting the time for the last handle in terms of the time axis (which potentially includes long deco and allowing that for bottom time quickly leads to dives many many hours long) limit it to 150% of the previous bottom time. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Adopt planner state caching to new structGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Assemble global state of planner in a structGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Move planner notes to separate fileGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-20Adapt build.sh if qmake is already in PATH on a MacGravatar Thiago Macieira
Some people (like me) have Qt elsewhere. So long as qmake is in PATH, we should be able to support it. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-12Update Subsurface-mobile versionGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-12Latest translationsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-12Rounding imperial export for profileGravatar Miika Turkia
Precision for the rounding is more than makes sense, but this satisfied the test case. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-12Test case for CSV profile export to imperial and backGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-09Allow weight system name to be editedGravatar Jan Mulder
Issue #272 lead to the introduction of a new private property of the ComboBoxDelegate class (editable). This new property was not correctly set when creating the weight system delegate. This corrects the (trivial) error, and now allows edit of the weight system name. Fixes: #392 Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-05-07Include some extradata info on Seabear importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Merge branch 'seabear-refactor'Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-07Datatrak import rework: Add another memory size ckeckGravatar Salvador Cuñat
As a last minute addition, and for peace of mind and soul, add just another size check, to run before reading values from buffer. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: main functionsGravatar Salvador Cuñat
datatrak_import() is the main function called from parse_file(), but dt_dive_parser() is where the hard work is done, for both, drop file seeking/reading and use memory pointers instead. datatrak_import() now returns 0 on success or 1 on failure and abort import if parser function fails instead of keeping on trying. dt_dive_parser() emits a warning if libdc_model is zero (manual dives). Do not parse profiles if libdc_model is zero, for unknown models we set a fake 0xEE value coverted to Aladin Air X/Z libdc model number. Func now takes a pointer to a buffer and moves along the dive, when done returns a pointer to the actual memory position or NULL if something went wrong. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: modify parsing macrosGravatar Salvador Cuñat
Change how parsing macros work to use memory pointers instead of file descriptors. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: changes on helper funcsGravatar Salvador Cuñat
Remove dtrak_profile() profile parsing func as this work is left to libdivecomputer. Simplifies read_file_header() to return the number of dives in the log file as we don't use the rest of header data. Add dtrak_prepare_data() to achieve a device_data_t structure and get the correct libdc model number for the device. Remove checking macro substituted with JUMP in header file. Add dt_libdc_buffer() to get a buffer parseable with libdivecomputer. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: initial changesGravatar Salvador Cuñat
Remove dtrakheader structure. In the end, we only make use of the number of dives in the log file. Define a models_table_t table which strores the known Uwatec's Aladin models and its equivalence with libdivecomputer known models. Add a macro to check that movements in memblock buffer don't get out of the allocated memory. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: changes of file.c and file.hGravatar Salvador Cuñat
Datatrak import is called from parse_file() in file.c. This function reads the full file to be imported into a memblock structure. It's easier and more secure, to parse this buffer instead of the file itself. These are the necessary changes in function datatrak_import() declaration and call. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Update Seabear test data to use proper timesGravatar Miika Turkia
Now that we parse them... Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Change test case to use new Seabear parsing functionGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Fix NDL and TTS for Seabear importGravatar Miika Turkia
Apparently the refactoring changed these values to be returned directly in seconds. Not sure why, but luckily we have test cases that discovered the change. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Remove debug outputGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Make parsing of Seabear header more robustGravatar Miika Turkia
This should work even if some header line is missing from some DC. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Add dive mode support for Seabear importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Import dive number from Seabear CSV fileGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Refactor Seabear importGravatar Miika Turkia
Moving the GUI independent Seabear import functionality to Subsurface core. This will allow Robert to call it directly from download from DC. Tested with H3 against released and daily versions of Subsurface. The result differs somewhat, but it is actually fixing 2 bugs: - Temperature was mis-interpreted previously - Sample interval for a dive with 1 second interval was parsed incorrectly Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Move intdup to qthelperGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Consistently show dive duration based on preferencesGravatar Dirk Hohndel
We now respect the settings in the preferences and also only show the duration as minutes and seconds if the dive is a free dive. Fixes #361 Fixes #362 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Wire up duration units preference UIGravatar Dirk Hohndel
Now we track the preference, but we don't act on it, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Add UI for duration preferenceGravatar Dirk Hohndel
This isn't hooked up, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Save tags when manually adding diveGravatar Dirk Hohndel
Tags are handled differently from other fields, we need to call the special handling after the new dive was added and marked as the current dive. Fixes: #369 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Fix some warningsGravatar Dirk Hohndel
Two unused variables and one case of sign confusion. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Check if we have an instance before dereferencing itGravatar Dirk Hohndel
If we don't have a GPS service userid in the preferences and the GpsLocation class isn't instantiated, this would cause a crash. Fixes #367 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Test for adding a picture with data after JFIF EOI to a diveGravatar Stefan Fuchs
Add one more picture to the already existing test. This new picture is a JPEG and has data after JFIF EOI tag. Suggested-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Stefan Fuchs <sfuchs@gmx.de> Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-05-06File selector should filter images we can actually handle.Gravatar Robert C. Helling
So better ask Qt about image formats known to it. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-06Image import: Make Exif handling more tolerant, better info,...Gravatar Stefan Fuchs
Changes to the "Add pictures to dive" function: - Make Exif handling more tolerant by removing the JPG sanity check for EOI - Give info to user if exif.cpp can't identify a Exif date/time - Restrict file dialog filter for correct picture time by DC photo to JPG because Exif is only available from JPG Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-05-06More robust UDDF export test modeGravatar Miika Turkia
When doing the xslt transformation for UDDF export, the C source does actually give a parameter units with value 0. Thus we need to treat that case as normal mode. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Enable test mode in UDDF export testGravatar Miika Turkia
Using the units parameter to indicate test mode on UDDF export. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Add test mode support for UDDF export XSLTGravatar Miika Turkia
The current code that calls the export transformation supports parameter units, so using it here to enable test mode.
2017-05-06Grab DC model on UDDF import if availableGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Round sample depth on UDDF importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Add model and nick for DC on UDDF importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Import deviceid from UDDF fileGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Add UDDF export-import testGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Fix memory leakGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-04Due to clarity fix indentation in separate commitGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-04Import UDDF location without GPS dataGravatar Miika Turkia
Fixes #376 Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-04Include one more way to parse buddy on UDDF importGravatar Miika Turkia
Fixes #377 Signed-off-by: Miika Turkia <miika.turkia@gmail.com>