summaryrefslogtreecommitdiffstats
path: root/core
AgeCommit message (Collapse)Author
2017-10-26git storage: print the actual errorGravatar Dirk Hohndel
It seems silly to not show what git told us went wrong. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26cloudstorage: handle invalid PIN correctlyGravatar Dirk Hohndel
If the server tells us that the PIN is invalid, we need to continue to ask for a PIN. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26Remove bogus member that hides global variableGravatar Dirk Hohndel
Inexplicably, commit 8b7427c56d ("Move CloudStorage out of the widgets") didn't just move the code but added a local member 'verbose' that hides our global variable... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26Desktop UI: notify user if they need to enter a cloud PINGravatar Dirk Hohndel
This will need to be merged / cleaned up once the git storage fixes have been merged. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26Don't show error if cloud credentials aren't set upGravatar Dirk Hohndel
This became rather obvious with the change to immediately show errors. The commit also fixes a small memory leak. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26Set error callback helperGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26Move error reporting into its own source fileGravatar Dirk Hohndel
This doesn't really seem to belong in save_git.c. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-20Silence random warningsGravatar Dirk Hohndel
None of these seem to point to actual issues, so let's quiet them. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-20Do not overwrite start and end pressures on cylinderGravatar Miika Turkia
The pressure information of cylinder should be kept intact when copy-pasting other cylinder related information from other dive. According to Dirk, the gas mix is wanted to be changed as technical divers might have always the same multiple cylinders and wish to copy the gasmix information over. Fixes #689 Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-10-20Don't show localization warning unless verboseGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-19dive.h: add handling of NULL in get_dive_dc()Gravatar Lubomir I. Ivanov
This line: dc = &dive->dc can SIGSEGV for a NULL 'dive' pointer. return NULL if 'dive' is NULL. Also handle NULL 'dc' in get_gasmix() and set 'ev' to NULL. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-19Use displayed_dc instead of current_dcGravatar Robert C. Helling
current_dc is a macro that determines the dive computer based on the current dive number. When the planner is started from an emtpy dive list, the dive number ends up being -1 and that doesn't produce a valid dive computer. Use the divecomputer of the displayed_dive instead. This is done via a macro that can also be used in two other places. Without this patch, the planner crashed when called on an empty dive list. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-10-18CNS calculation fixGravatar Stefan Fuchs
Identify previous dives for CNS calculation in a similar way as it is done for previous dives for deco calculation. This is done to identify the previous dives dynamically when moving around date/time of a dive in the planner. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-18init_deco correctly identify previous dives and report overlapping divesGravatar Stefan Fuchs
When changing the date/time of a dive in the planner the dive may end up in a totaly new position in respect to date/time of other dives in dive list table. It can be moved to the past or the future before or after other existing dives. It also could overlap with an existing dive. This change enables identification of a new "virtual" dive list position and based on this starts looking for previous dives. Then it (as before the change) does init the deco calculation with any applicable previous dive and surface interval. If some of these applicable dives overlap it returns a neg. surface time which is then used in the planner notes to prohibit display of results. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-18plannernotes.c coding style fixesGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-18Minimum gas calculation: Change text colors for delta value output...Gravatar Stefan Fuchs
and adapt the strings for translation to s.th. which can be handled more easily. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-17Taxonomy: Don't access empty entries when printing the tagsGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-17Tags for geo references: Nicer look, translations and warning messageGravatar Stefan Fuchs
For the geo references tags update the following: - Nicer look w/o "Tags:" text and brackets when inside location UI - Translation for "Tags:" - Warning message when no dive site layout categories are set Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-17Fix Android compile errorGravatar Jan Mulder
Trivial typo only visible on Android build. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-16Tidy up code in planner.c - create_dive_from_plan()Gravatar Stefan Fuchs
Tidy up the code which creates the first sample for time = 0 to make clear that the info for this does NOT come from the first planner point (dp). No functional change. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16Fix dump_plan debug codeGravatar Stefan Fuchs
This fixes some debug code to dump the diveplan which is usually not compiled and used. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16Planner creating dive from plan: No pressure for 1st sample with new gasGravatar Stefan Fuchs
In the planner when a dive is created from the diveplan every first sample with a new gas shouldn't have a pressure value added. Otherwise the interpolation code for the pressure graph in the profile will draw the pressure graph incorrectly. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16In planner prefer best_first_ascend_cylinder for gas breaksGravatar Stefan Fuchs
Up to now the cylinder for gas breaks was hardcoded to first cylinder. With this change the best_first_ascend_cylinder is used if its O2 is <=32%. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16Don't confuse cyl with same gasmix with best_first_ascend_gasGravatar Stefan Fuchs
When calculating the dive plan in the planner don't accidently use another gas with same gasmix instead of the gas stored as "best_first_ascend_gas". This is important if you have e.g. a bottom stage and back gas with same gas mix because then you always want to start your ascent with the gas you used in last entered dive planner point. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16In dive.c make cylinder_renumber an external function...Gravatar Stefan Fuchs
instead of dc_cylinder_renumber() because it is the one which is really useful elsewhere. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16Used gas in dive planner points: Support for multiple cyl with same gasGravatar Stefan Fuchs
In the planner if one adds two or more cylinders with the same gasmix (e.g. back gas and bottom stage 18/45) the drop down and data in the used gas column of the planner points table will be filled with a more verbose string mentioning also the cyl number and the cyl type description. Makes it easier in such a case to select the right cylinder. Introduces also a helper function which tells you if there is another cylinder with the same gasmix as the provided cylinder. This also has an option if it should consider unused cylinders or not. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-16Reverse geo lookup string for http://api.geonames.org correctedGravatar Stefan Fuchs
Language selection should now work again with string "lang=xx". Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-15Android should support the Cobalt dive compoutersGravatar Dirk Hohndel
With an OTA adapter - sadly I can't test that. This driver opens a specific USB device and will ignore the connection settings. It would be better to get some visual feedback for that (in the QML UI), but I'll leave that until this has been verified to work. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-14BLE: try to enable on iOSGravatar Dirk Hohndel
We can't use the localBtDevice on iOS, so hack around that and go straight to discovery. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-12mobile: enable switching BT on/off during session.Gravatar Jan Mulder
This commit implements possible switching BT on and off during a session, so not needing a restart of the app when the user forgot to switch it on when starting the app. For this, the following needed to be done: 1) create a handler that reacts on local BT device status changes. 2) repopulate the connection list in the download screen when a BT status change is detected. Notice the subtile change of the Q_INVOKABLE btEnabled() function to a Q_PROPERTY. This gives a nice dynamic behaviour when switching BT on/off with the app open. Fixes: #556 Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-12Add function for non-BT connection addressesGravatar Jan Mulder
Simple rewrite of a piece of code separated to its own function so that is can be used in other places as well. To avoid code duplication for dynamic BT on/off switching on mobile. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-12Add function to clear connectionModel dataGravatar Jan Mulder
Preparation primarily for mobile. When we want to switch in one session from BT to cable connection and vise versa, we need a way to clear the model data containing the possible connections in use. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-09Use lrint() for all degrees_t related roundingGravatar Lubomir I. Ivanov
In certain places the '(int)' cast is used, while in other the llrint() or lrint() functions. Make the conversation from degrees in the 'double' form to the 'int' degrees_t consistent using lrint(). lrint() is the function which should give the best results, because it accepts a 'double' and results in a 'long' even if degrees_t is 'int'. If the truncation from 'long' to 'int' is discarding some of the precision then the next step would be to turn degrees_t into a 64bit signed integer type. Possible fix for #625. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-09Display units in dive list table based on prefs optionGravatar Stefan Fuchs
Add a preferences option which enables or disables display of units in the main dive liste table. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-08VPM-B profile: calculate parameters when in planner modeGravatar Rick Walsh
Calculating parameters when in the planner mode is necessary to display the correct ceiling. Fixes #601 Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-10-08Fix crash when text emptyGravatar Miika Turkia
Exporting to divelogs.de triggered this bug when divesite name is empty. Fixes #656 Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-10-07Store RBT value on DivingLog importGravatar Miika Turkia
Fixed-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-10-07Fix divinglog import temperature truncationGravatar Linus Torvalds
The code incorrectly divided the temperature by 10 as an integer, causing unnecessary precision loss due to truncation. Fix it, and update the test results for the now improved temperature import. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-07Fix divinglog import limit checkingGravatar Linus Torvalds
The divinglog import did horrible things with the strings returned from the sqlite queries, and ended up using uninitialized values at the end of the secondary profile data strings. This rewrites the import logic to track the length of the strings properly when importing the divinglog data. We should run 'valgrind' a whole lot more than we do, I suspect. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-07Make compile succeed without BT_SUPPORTGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-07Move ConnectionListModel into its own source fileGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-07Safeguards for Liquivision importGravatar Miika Turkia
I have received one sample log where after parsing a bunch of dives properly, the sample count hits zero, and after that it is astronomical. In case of zero, the only data we have is dive date and time of a duplicate dive that we already parsed with proper dive profile. So preventing a crash with this hack without properly understanding the weird file format. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-10-07Fix two bugs in taxonomy_set_countryGravatar Dirk Hohndel
The random coincidence that this code actually ended up working in my tests is weird. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-05Merge pull request #641 from Subsurface-divelog/taxonomyCrashFixGravatar Subsurface
Taxonomy crash fix
2017-10-05Prevent crash when adding country to dive siteGravatar Dirk Hohndel
We need to make sure that the taxonomy information has been allocated before assigning values to it... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-05divesite.c: use NULL instead of 0 for char* buffersGravatar Lubomir I. Ivanov
Makes it clearer that these are buffers and not integers like `ds->uuid`. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-05divesite.c: prevent double free()Gravatar Lubomir I. Ivanov
Reported-by: Benjamin Fogel <nystire@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-05Explicitly copy a cylinder which was marked as "unused" in the plannerGravatar Stefan Fuchs
When planning a new dive (not replan!!!) based on an existing (planned) dive, the cylinders from the existing selected dive are copied. This patch guarantees that cylinders which had been marked as "unused" are indeed copied as well. Sounds strange at the first moment but makes sense because if one marks a cylinder explicitly as "unused" in the planner instead of deleting it that does mean that one wants to keep this cylinder to have it available and be able to reenable it later-on. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-04White space and clarifying bracesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-04Whitespace changeGravatar Dirk Hohndel
This is just the indentation change for the code that was inside the loop before. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>