summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-09-27mobile/dive-list: correctly update view when changing dive dateGravatar Dirk Hohndel
If the dive timestamp changes, the dive could move in the dive list. But the current dive actually doesn't change (it's still the same dive, right?). Yet we need to update the dive list as well as the shown dive (especially if this is after adding a dive, which is first inserted with the current time and then updated with whatever the user enters). Fixes: #2971 Suggested-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-27Updating INSTALL to bring it up to date for latest distro versionsGravatar Jason Bramwell
Update INSTALL to improve installation instructions for Fedora and Raspberry Pi. Fedora Add 2 packages: bluez-libz-devel redhat-rmp-config Raspberry Pi (untested) Bump version numbers to Buster/20.04 Update package list to reflect Debian/Ubuntu Added: libbluetooth-dev qtdeclarative5-dev qtdeclarative-private-dev Signed-off-by: Jason Bramwell <jb2cool@gmail.com>
2020-09-27documentation: layout change for README badgesGravatar Dirk Hohndel
I just think this looks nicer than having them across that many lines... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-27documentation: update INSTALL file to add libbluetooth-dev etcGravatar Jason Bramwell
When attempting to compile under Debian and Ubuntu the build script would get stuck looking for bluez. This change adds libbluetooth-dev to the suggested install packages for Debian and Ubuntu. Thus update also changes the yum install command in the Fedora instructions to the newer dnf command as well as updating the versions listed of Debiand and Ubuntu to the latest versions. Signed-off-by: Jason Bramwell <jb2cool@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-23Update translations from Transifexv4.9.7Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-22cleanup: silence two compiler warnings in git-access.cGravatar Berthold Stoeger
gcc complained about two constructs of the kind remote_id && SSRF_INFO("..."); And while I am not a fan of excessive warnings, I must say it has a point here. That's just code obfuscation. In fact, it appears that the condition was wrong - the SSRF_INFO should probably be invoked if remote_id is NULL. The way it was written it would be invoked if it was *not* NULL. Change both instances to unfancy if statements. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-21translations: initialize water type strings at run timeGravatar Berthold Stoeger
The water type strings were static and therefore passed through gettextFromC::tr() before main(). One would hope to get a warning in such a case, but this is not the case. Therefore, use the QT_TRANSLATE_NOOP macro to register the strings in Qt's translation system and translate the list when needed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-21Update to current libdivecomputerGravatar Dirk Hohndel
Fix memory usage bugs identified by Coverity Fix salt/freshwater parsing for Mares Genius Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-21Bailout segment is part of bottom timeGravatar Robert C. Helling
The clock is only valid in ascent. In each cycle of the 'critial volume algorithm' it re-initialized to the bottom time at the beginning of deco. So the time spent on bailout should be added to this bottom time. Thanks to Coverty for spotting this. Coverity-scan: CID-362079 Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-09-20Update translations from TransifexGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-20selection: when changing current dive make sure it is selectedGravatar Berthold Stoeger
When an undo command selected invisible dives, a current dive outside of the list of selected dives was chosen. This could have the very unfortunate effect that the current dive was set, though not selected. From an UI point of view this meant that the dive was displayed, but edits would not be registered. Change the setClosestCurrentDive function to select the current dive. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-20dive list: on reload update filter statusGravatar Berthold Stoeger
At some time, when introducing the global reset signal the filter stopped being reloaded when loading a new log. This leads to very strange UI behavior: dives disappear when editing fields unrelated to the filter. Therefore, when reloading the model, reset the filter. One might argue whether this is the correct place. On the other hand, we might even make the filter a sub-object of the dive-list model. Let's think about this. Partially solves #2961 Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-20build-system/packaging: add bluez dependency for Coverity buildGravatar Dirk Hohndel
I had missed this one in commit d73e0a0fb4028ea967ce24a162328853dd248dac ("build-system/packaging: add bluez dependency for Linux builds"). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-19Update ReleaseNotesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-19build-system/packaging: add bluez dependency for Linux buildsGravatar Dirk Hohndel
I hope this captures all the variations Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-19core/bluetooth: only Linux / Windows are supported by libdc rfcommGravatar Dirk Hohndel
For Android the Qt Bluetooth code seems to work just fine. And for macOS nothing appears to work right now, but at least the Qt implementation compiles and links. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-19core/bluetooth: switch to use libdivecomputer rfcomm supportGravatar Linus Torvalds
The Qt based implementation apparently got broken at some point and now fails to connect to rfcomm dive computers like the Shearwater Petrel. This uses the libdivecomputer rfcomm backend. Tested to work with bluez on Linux as well as with the native Windows implementation. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-19Update to current libdivecomputerGravatar Dirk Hohndel
Merge Shearwater PNF fix. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-19Update Shearwater sample time calculationGravatar Miika Turkia
At least Shearwater Cloud seems to use multiple formats for sample time recorded in the database. Sometimes the time is in seconds, sometimes in milliseconds, and sometime it is something I have no idea about. Thus switching to calculating the sample id myself and using sample interval to calculate the actual sample time. Seems to be more reliable than trying to guess what format Shearwater is using for this specific dive. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-19media: read timestamp from mvhd header of MP4/QuickTime videosGravatar Berthold Stoeger
ExifTools (and probably other meta-data editors) modifies the mvhd creation date, but leaves the individual creation dates in the tracks unchanged. Therefore, use the mvhd atom. Reported-by: Eric Tanguy <erictanguy2@orange.fr> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-17mobile: update version to 3.0.15Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-17Update to current libdivecomputerGravatar Dirk Hohndel
This adds BLE transport as an option for the McLean Extreme. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-17Extend BLE uuid matching to the characteristics, add ignore-listGravatar Linus Torvalds
This extends the uuid matching to the low-level characteristics too, so that we can ignore the McLean Extreme characteristics that aren't interesting. It also renames the uuid matching to be about a "uuid_list" rather than being about the service we're matching, since we're now using it for other uuid's than just services. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-17Fix 'uud' typo in BLE uuid matching codeGravatar Linus Torvalds
Silly typo with a missing 'i' in 'uuid' that happened when I wrote this code originally, and that compiled fine thanks to the error being duplicated with cut-and-paste to all relevant places. Fix it now, since I'll extend the uuid matching to the actual characteristics for the McLean Extreme. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-15Update to current libdivecomputerGravatar Dirk Hohndel
This merges the McLean Extreme sample interval fix. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-15translations: use the right Qt translations (part 2)Gravatar Dirk Hohndel
It turns out that contrary to what the documentation states, a few languages are still only using the 'qt' translation. But those exist for all languages, so we need to first search for the 'qtbase' translations, and only if that fails do we try to load the 'qt' translations. And even that will fail for languages in which Qt simply isn't localized (like Dutch). To make the code more readable, the check for 'US English' was moved earlier as there is no point to look for a Qt translation for that (simply doesn't exist). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-15translations: use the right Qt translations and try harder to find themGravatar Dirk Hohndel
We were still using the 'qt' translations instead of 'qtbase' as we should have been using since forever - it's a little unclear from reading the documentation when in the Qt5 life cycle this happened, but definitely several years ago. These are the strings used in situations where Qt already provides us with text (e.g., the entries in the 'Subsurface' menu on Mac, or the button labels in many dialogs). Additionally we didn't try hard enough to find those translations in cases where they are bundled with the app; so basically all scenarios except for Linux distro specific packages or 'build from source' on macOS or Linux were not going to work, even after addressing the qt->qtbase conversion. But of course the developers pretty much all fall into those last two categories. Still, I cannot believe we never fixed this in all those years... To make it more obvious if we still aren't finding the Qt translations this commit also makes that warning be shown in all cases, not just when running in verbose mode. Fixes #2954 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-15Update ReleaseNotesGravatar Miika Turkia
Mention Shearwater Cloud fixes and adjust capitalization / tags slightly. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-15Grab the first gas on Shearwater importGravatar Miika Turkia
The logic to retrieve gas changes from Shearwater cloud database is detecting only when the O2/He chnages. This change will grab the initial gas. (Problem was only shown when there was a gas changee in the log, so cingle cylinder dives were working fine.) Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-15Fix a bug on Shearwater cloud gas changesGravatar Miika Turkia
Gas change is done to the cylinder we just found and not the last cylinder. Also switching the variable name to index as we are actually using that value outside the loop. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-15Import cylinder pressure correctlyGravatar Miika Turkia
Shearwater apparently stores correct pressures nowadays, so getting rid of a hack to import double pressures. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-15Ignore gas changes if we one line contains bogus O2Gravatar Miika Turkia
This will ignore the gas changes that would be caused by Shearwater cloud saving rows with 0 values in them. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-15New field for timestamp in shearwater cloud DBGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-15Shearwater cloud import: ignore bogus rowsGravatar Miika Turkia
A sample log I received contains a lot of rows with 0 values in it. This will ignore the obviously bogus ones. (However, we might miss the first sample if that is recorded at time 0.) Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-15Shearwater cloud import: adjust to millisecondsGravatar Miika Turkia
Seems that Shearwater cloud gives the sample time in milliseconds nowadays. Taking a wild guess, that this logic should suffice for us to be able to import old and newer XML logs. (Assuming that if the timestamp for the first sample is more than 100, timestamps are in milliseconds, otherwise in seconds.) Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2020-09-13build-system/macOS: change signing to re-enable notarizationGravatar Dirk Hohndel
This continues to be useless for other people as it requires my signing key, but when signed like this I can then successfully submit the dmg for notarization, so I'll update the signing script in order not to lose that magic... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13pull latest translations from TransifexGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13build-system/macOS: use consistent code to pick SDKGravatar Dirk Hohndel
Hardcoding versions was kinda silly. This now matches what's in build.sh. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13build-system/macOS: add one more library that macdeployqt missesGravatar Dirk Hohndel
This appears to be new with Qt 5.14. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13build-system/macOS: build libz and libftdi as part of Mac dependenciesGravatar Dirk Hohndel
Usually people will install these via Homebrew, but when we need to build everything ourselves (required for release binaries), then these two were missing before. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13build-system: add zlib as library we know how to fetchGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13desktop: fix TableView for Qt 5.15Gravatar Dirk Hohndel
If we set the size on the QPushButton, the button no longer receives any input (tested on macOS). With this change we get an odd visual artifact when clicking on the 'add' button, but it least it works, so this is good enough for the next release. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-13cleanup: fold core/divecomputer.cpp into core/device.cGravatar Berthold Stoeger
core/device.h was declaring a number of functions that were related to divecomputers (dcs): creating a fake dc for manually entered dives and registering / accessing dc nicknames. On could argue whether these should be lumped together, but it is what it is. However, part of that was implemented in C++/Qt code in a separate core/divecomputer.cpp file. Some function therein where only accessible to C++ and declared in core/divecomputer.h. All in all, a big mess. Let's simply combine the files and conditionally compile the C++-only functions depending on the __cplusplus define. Yes, that means turning device.c into device.cpp. A brave soul might turn the C++/Qt code into C code if they whish later on. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-13cleanup: remove unused declarations in class DiveComputerListGravatar Berthold Stoeger
The functions matchDC() and matchModel() were never implemented. Remove their declarations. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-13cleanup: remove unused function DiveComputerNode::changesValues()Gravatar Berthold Stoeger
This was not used anywhere - let's remove it! Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-13cleanup: move set_dc_nickname() declaration from dive.h to device.hGravatar Berthold Stoeger
The function *looks* like it is a dive function. However, in reality it implicitly works on the global device list. Therefore, it is thematically more aptly located in device.h with the other device functions. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-13cleanup: remove DiveComputerModel::numRowsGravatar Berthold Stoeger
This member variable was unused. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-13Disable SAC factor setting for CCR divesGravatar Robert C. Helling
The SAC factor is only used for minimal gas calculations which don't make sense in the CCR context. Additionally, make bailout stop for at least minimum switch time or problem solving time. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-09-12Update to current libdivecomputerGravatar Dirk Hohndel
This gets us back in sync with upstream, minor changes to Shearwater Peregrine support, but also fixes an issue in my implementation of Shearwater info events on dive computers using the new format which inadvertantly disabled freedive support. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-12mobile: update version to 3.0.14Gravatar Dirk Hohndel
Once again I have managed to get out of sync in numbering between iOS and Android. I'll make new releases with the correct version number on both platforms today. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>