aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-12-03downloader: add first downloader CGI scriptGravatar Robert C. Helling
This script will function as glue between a web server and the downloader command line app. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: require only Qt 5.11Gravatar Robert C. Helling
Qt 5.11 is what current Raspian comes with. Unless we really need it, let's try not to have to manually download Qt on an already slow RaspberryPi. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: this is a QCoreApplicationGravatar Robert C. Helling
This prevents it from trying to open a display. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: small improvementsGravatar Robert C. Helling
Provide supported dive computer list on the command line and actually call the cli download. Still not functional. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: first outline of downloading dives from a deviceGravatar Dirk Hohndel
This is of course not functional at all, but it gives a first idea of what we will need to do in this code. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03downloader: first step to get instructions via CLIGravatar Dirk Hohndel
This still doesn't do a thing, but at least it seems to get the information closer to where we want it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03build-system: add models and shared backends to the downloaderGravatar Dirk Hohndel
We'll need this in order to be able to actually open dive files and download things from a dive computer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03build-system: start adding a headless buildGravatar Dirk Hohndel
Right now this doesn't do a thing, but it gives us a nice target that has far fewer dependencies and should contain enough parts to download stuff from a divecomputer and then sync that with cloud storage. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03cleanup: remove unnecessary includes from divepicturewidget.cppGravatar Berthold Stoeger
Also, use finer-grained Qt includes instead of the full QtWidgets include. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-26cleanup: remove unused function in templatelayout.cppGravatar Berthold Stoeger
This was removed with grantlee. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-24cylindermodel: remove in_planner() useGravatar Berthold Stoeger
in_planner() is problematic, since it is uses desktop-only application state. Since the cylinder-model already has an appropriate inPlanner flag, use this instead. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-24diveplannermodel: replace in_planner() by isPlanner()Gravatar Berthold Stoeger
The in_planner() function is problematic, because it depends on the application state that is only available on desktop. If we ever want to port the planner to mobile, we have to get rid of it. Luckily, the DivePlannerModel already has an appropriate flag that can be used instead. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-23android: find the translationsv4.9.10Gravatar Dirk Hohndel
As we switched to the qmake based build we now bundle the translations via the Qt resource system instead of explicitly as Android assets. This adjusts the code that opens the translations accordingly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-23android: force inclusion of 32 & 64 bit openssl librariesGravatar Dirk Hohndel
The reference via 1160{QT_ARCH} should work, but for some reason it doesn't. Making it explicit is technically wrong, but at least it appears to ensure that the shared objects are bundled correctly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-20Get ready for 4.9.10Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-20Update translations from TransifexGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-20android: bundle the default font for OnePlus devicesGravatar Dirk Hohndel
This was missed in the transition to the qmake based build. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-20android: avoid crash with failed font loadGravatar Dirk Hohndel
Check that we found font families before accessing them. But the larger issue is likely that bundling the font failed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19Adjust translations based on completenessGravatar Dirk Hohndel
Dropping Latvian and Turkish as they fell way too low. Adding Croation which is long overdue (can't believe I missed this for so many releases). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19Update translations from TransifexGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: ensure that gradle can handle UTF8 filesGravatar Dirk Hohndel
This should be the case automatically, but appears to fail when run as part of the GitHub Action. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: update GitHub Action to use current android containerGravatar Dirk Hohndel
This brings the scripts and the container in use back into sync. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: update Android builder docker containerGravatar Dirk Hohndel
This adjusts the docker setup to create a container with the correct NDK, SDK, tools, Qt version, etc, and updates the helper scripts that are needed in order to do that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: ensure all required pieces are in place for the buildGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: move the build of googleaps pluginGravatar Dirk Hohndel
We want to build the googlemaps plugin once we know with architectures we are building for. So let's do that right before we build Subsurface-mobile. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19iOS: adjust GitHub Action to new build formatGravatar Dirk Hohndel
It's frustrating that I can't get the translation.qrc support the translation files to be created in the build directory. Having them as part of the sources just feels wrong. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: fix tests in mobile buildsGravatar Dirk Hohndel
We can no longer build TestPictures in mobile builds. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19mobile: update version to 3.1.0Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system/iOS: no longer build in packaging/iosGravatar Dirk Hohndel
That always was such a weird choice. This also adjusts to a minor change in the layout of libgit2 sources. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: combine iOS and Android Subsurface-mobile.proGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: add qmake based build for Subsurface-mobileGravatar Dirk Hohndel
Several features that are needed to create Android bundles with the current NDK and QT 5.15 aren't easily available when using cmake. Given that we already do a qmake based build for iOS, I decided to simply switch Android to that as well. An added complication is that some of the magic that qmake uses to do the right things fails if the .pro file isn't in the root directory of your project. So this is right now somewhat inconsistent with the way we build for iOS. Something that should get cleaned up in the near future as it makes no sense to maintain two separate .pro files. This commits also adds a new build shell script to drive the assembly of all the dependencies. Once again this is a new file with the old one left in place for now (but to be removed fairly soon). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: add new build setup scriptGravatar Dirk Hohndel
This installs the required versions for most components, switches us to Qt 5.15, current SDK, NDK, and the current OpenSSL version. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: update Subsurface-mobile manifest for Qt 5.15Gravatar Dirk Hohndel
With the switch to the bundle build (introduced at Qt 5.14) a couple of the settings in the manifest had to change. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19mobile: hack around error with readonly propertiesGravatar Dirk Hohndel
This used to work, and still works with Qt 5.15 on the desktop, but on Android we get a fatal error trying to open the app. So let's just add another hack on top of all the other hacks we already have. Eventually we need to bite the bullet and update Kirigami. I just wish that wasn't such a pain. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19core/picture: don't compile all on mobileGravatar Dirk Hohndel
We don't support adding pictures and videos on mobile, so let's not referernce the infrastrutcture that's needed for that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: use libgit2 1.0.1 if building from sourceGravatar Dirk Hohndel
We still only require v0.26 from an API perspective, but it seems backwards to build that version when building from source as we do for macOS or Android. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19ios: correct capitalization of filenameGravatar Dirk Hohndel
This was changed in commit 9ed886e4be ("Cleanup: lower-case filenames in core/subsurface-qt/") but since iOS builds happen on a case-insensitive file system, no one ever noticed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-17core: fix incorrect QString::asprintf/vasprintf usageGravatar Dirk Hohndel
These are static functions, they cannot be used as a method on an object to construct that object. commit aa5f2e7c73 ("cleanup: replace deprecated sprintf()/vsprintf() calls") introduced this bug in an ill-advised attempt to deal with a deprecation warning. This caused us to not print GPS coordinates in the UI. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-14cleanup: remove empty function MainTab::reload()Gravatar Berthold Stoeger
This used to reload the completion models. Moreover, remove two obsolete member-function declarations. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-14desktop: automatically reload completion-modelsGravatar Berthold Stoeger
Instead of programatically reload the completion models, listen to the relevant signals in the models. To that goal, derive all the models from a base class. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-14undo: add a general dives-imported signalGravatar Berthold Stoeger
Add a general dives-imported signal for those cases where we want to fully rebuild models, notably, the completion models. The divesAdded signals are too fine, because they are sent per trip and we don't want to reload these models multiple times per import. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-14cleanup: remove macros from qt-models/completionmodels.cppGravatar Berthold Stoeger
There were macros to auto-generate functions to reload the models. One was only used once and therefore is pointless. The other can be replaced by a function with a pointer-to-member-variable argument. While doing this, adapt the coding style. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-13Gracefully handle infinite MND for oxygenGravatar Robert C. Helling
When breathing pure oxygen and considering it not narcotic, there is not maximal narcotic depth and the formula divides by zero. So better, handle this case separately. Fixes #3080 Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-11-12Update README and ReleaseNotesv4.9.9Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-12desktop: update completion models if dive was editedGravatar Berthold Stoeger
In the main-tab, when changing tag, buddy or divemaster, update the corresponding completion model. This is a quick-fix and the wrong thing to do. It works only if the currently shown dive is changed, which is not a given. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-12printing: properly initialize DPI valueGravatar Berthold Stoeger
The DPI value in the print_options structure was never initialized. This could lead to random DPI values and crashes. How this ever worked is a mystery. Therefore, read and write the DPI value from the settings just as the other print-options. And initialize the corresponding dialog widget to this value. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-11-12build-system: giving up on TestGitStorageGravatar Dirk Hohndel
It is completely incomprehensible why these fail. And why randomly restarting sometimes fixes them, and often doesn't. At this point there is no incremental value in having this test. If it were to ever catch a real bug, we wouldn't realize it because we are too well trained to ignore the problem. Very disappointing, but IMHO the right thing to do. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-12build-system: allow building only a 64bit Windows installerGravatar Dirk Hohndel
This is simply a time optimization that is sometimes useful Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-12filter: avoid Windows crashGravatar Dirk Hohndel
The scope confusion between s (the for loop variable) and s (the function argument) caused a crash in the s.split() on Windows. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-10Update latest translations from Transifexv4.9.8Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>