aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-04-09Fix typoGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-09Change taglist_get_tagstring to support 'unlimited' tag list sizeGravatar Jeremie Guichard
Previous taglist_get_tagstring signature/implementation did not allow handling of cases where inputted buffer could not contain all tags. New implementation allocates buffer based on pre-computed size allowing to insert all tags in the returned string. Added get_taglist_string in qthelper to handle conversion to QString Added TestTagList with tests for taglist_get_tagstring Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2018-04-09Profile: On dataChanged() only update pictures that actually changedGravatar Berthold Stoeger
Only update those pictures of the DivePictureModel that actually changed. This will be useful once pictures are loaded incrementally. To do so, replace the pictures array by an array with stable ids. Before this commit, not-shown pictures are left out of the pictures array, which makes the mapping from DivePictureModel-ids to the picture array index non-trivial. Replace the QList<DivePictureItem *> by a std::vector<std::unique_ptr<DivePictureItem>> to ease memory management. Sadly, owing to COW semantics, QVector is incompatible with QScopedPointer. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-09Fix minor typos and spelling mistakes in README.md and relatedGravatar Jeremie Guichard
Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2018-04-07Add section describing use of CHANGELOG.md in CONTRIBUTING.mdGravatar Jeremie Guichard
Add description about file format Add list of Areas that can be used Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2018-04-07Update DM5 test dataGravatar Miika Turkia
Now that we read the temperatures properly, the test comparison must also include them. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-07changelog.md updateGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-07Temperature 0x7F appears to mean no readingGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-07Handle int and float temperaturesGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-07Explicitly mark DM4 conversionGravatar Miika Turkia
Same as default branch, but as 0x01 appears to be converted from DM4 to DM5, let's just be explicit about it. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-07Start to describe DM5 sampleBlobGravatar Miika Turkia
Currently the best guess of sampleBlob format. Unfortunately there seems to be some version of DM that stores the temperature in different location that I have not been able to figure out yet. Note that some version of DM does not utilize sampleBlob but specific blobs for each value (temperature, pressure, ...). Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-06ios: Link to static googlemaps libraryGravatar Murillo Bernardes
Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-04-06ios: manually import google maps pluginGravatar Murillo Bernardes
qmlimportscanner for some reason does not include the googlemaps plugin in the generated file. Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-04-06ios: remove googlemaps unecessary multiple buildsGravatar Murillo Bernardes
googlemaps archive is a fat file already, containing armv7, arm64 and x86-64, so no need to build it multiple times. Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-04-05Update README and ReleaseNotes for 4.7.8v4.7.8Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-05Update a few more translationsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-04Add "Tags" column in Desktop app's dive list viewGravatar Jeremie Guichard
Add DiveItem::displayTags helper method to return Tags as a QString New Tags column is by default inserted before "Photos" column by default disabled Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2018-04-03Update CHANGELOGGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-03Revert "GPS: use applyGpsLocation::applyLocations from core"Gravatar Dirk Hohndel
This reverts commit 70e0e80de5470216df939f994ffda0222560def0. This caused the GPS workflow to break for Linus. Let's revert for 4.7.8 and figure out how to do this cleanup correctly, later. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-03Revert "cleanup: localize global variable"Gravatar Dirk Hohndel
This reverts commit fc7729eb78e7dae803546b3cc0011260e779a2e8. This caused the GPS workflow to break for Linus. Let's revert for 4.7.8 and figure out how to do this cleanup correctly, later. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-03Add new dive computers to CHANGELOGGravatar Dirk Hohndel
I think some of those were already supported in 4.7.7. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-03Latest translationsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-02mapwidget-mobile: initialize the map to [0,0]Gravatar Lubomir I. Ivanov
Instead of showing the map zoomed over London by default, initialize the center at [0,0] and show the whole globe. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-04-02mapwidget-mobile: do not animate the first selectionGravatar Lubomir I. Ivanov
centerOnLocationHard() is added in MapPage.qml so that on `firstRun` the map is hard panned to the desired location without animation. This affects the selection of a new "Dive details" -> "Map it" or when opening a GPS location in the map. The idea behind this change is to avoid starting the map animation from an arbitrary location such as [0,0] or London. Also, to not start the map zoomed out completely and then zoom in on a selected dive. For this change to work, add the helper getCoordinatesForUUID() to qmlmapwidgethelper.cpp/.h and use it to obtain the QGeoCoordinates for a dive site UUID. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-04-02Android: add Atomics Aquatics Cobalt as deviceGravatar Dirk Hohndel
This way plugging in a Cobalt should pop up a question if the user wants to open Subsurface-mobile. Unfortunately, this, too, fails on my Android devices, so I can't test it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-02Update list of supported dive computersGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-02Update translation source stringsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-01Update libdivecomputer submoduleGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-01Dive pictures: extract timestamp from MP4 and related formatsGravatar Berthold Stoeger
Parse MP4s and related video files and extract the creation timestamp from the "mdhd" (media header) atom. Introduce helper function templates to extract arbitrary-length unsigned integers in big-endian format from file or memory. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-01Dive pictures: use get_metadata() in dive_create_picture()Gravatar Berthold Stoeger
Thus, metadata has to be only read once and the picture_load_exif_data() function can be removed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-01Dive pictures: Move metadata functions into own translation unitGravatar Berthold Stoeger
Move all metadata function into new core/metadata.cpp file. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-01Debug: Error reporting for SHashedImage loadingGravatar Berthold Stoeger
Overwrite QImage::load() in SHashedImage so that we can perform better error reporting. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-01Debug: sprinkle debug messages in thumbnailing codeGravatar Berthold Stoeger
To ease trouble-shooting of the picture thumbnailer add a number of debug- and info-messages. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-03-31Update libdivecomputer submoduleGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-26MXE Windows build script: Chance MXE make call in commentGravatar Stefan Fuchs
In the comment/instruction how to build MXE add "libssh2" and "curl" to the make call. This seems to be needed in newer versions of MXE. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-26MXE Windows build script: Do right build flavor also for googlemapsGravatar Stefan Fuchs
Do the right build flavor also for the googlemaps plugin. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-22Travis: test build against Qt 5.5Gravatar Dirk Hohndel
We do this in a docker environment to make things fast and easy. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-22Use older API to remove dependency on Qt 5.8 or newerGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-22iOS: add MapLocationModel and corresponding helperGravatar Dirk Hohndel
Thanks to Murillo Bernardes for reminding me to add the .h files as well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-22iOS: build googlemapsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-22cmake: move maplocationmodel to generic modelsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-22iOS: build fixGravatar Dirk Hohndel
Otherwise the moc build fails. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-19Profile heatmap/heartrate: Only enable max one of these at same timeGravatar Stefan Fuchs
Only allow to enable maximum one of both items tissue heatmap or heartrate in profile. This is done by always switching off the other one at the moment you turn on one of the two items (heatmap or heartrate). Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-19Profile heartrate: Nicer min/max values and tic distanceGravatar Stefan Fuchs
Correct a bug in finding the minimum heartrate. Use the minimum and maximum heartrate value to set min/max and tic distance for the heartrate axis in the profile. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-19Fix non-interactive Qt installation for AndroidGravatar Dirk Hohndel
We need to wait before clicking Next on the WelcomePage. We really only want the Android armv7 packages. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-19Update CHANGELOG.mdGravatar Berthold Stoeger
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-19Dive pictures: If EXIF data couldn't be parsed, use creation dateGravatar Berthold Stoeger
This is a preparation for supporting videos. Some video formats may not possess such meta data, or we may not yet be able to parse them. In such a case, use the file creation date. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-19Dive pictures: Don't read whole file for parsing EXIF dataGravatar Berthold Stoeger
This is a preparation for video support. We don't want to read a whole potentially multi-GB file into memory just to detect that it isn't a JPEG. Especially since at the moment EXIF metadata are parsed twice, once for GPS, once for timestamp. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-19Android build: switch to Qt 5.10.1Gravatar Dirk Hohndel
That's what we now use for the official binaries as well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-19Android/iOS build: get libxml2 and libxslt from GitHubGravatar Dirk Hohndel
The xmlsoft.org links sometimes time out. Sadly, GitHub API gives us an oddly named top level directory in the tar file, so lets strip that and replace it with the "usual" name. Also, for the "raw" tar files from GitHub we need to run autoreconf ourselves. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>