aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-12-12profile: call clearHandlers() in setPlanState()Gravatar Berthold Stoeger
This function, which removes the handlers from the profile, was called in setAddState() but not in setPlanState(). In the latter case it was called explicitly by the caller. Move the call from the caller into the function. This allows us to make clearHandlers() private in to the profile widget. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12desktop: move planner-code to diveplanner.cppGravatar Berthold Stoeger
Around 2015 there was a push to move planner UI code from mainwindow.cpp to diveplanner.cpp. That never was completed, presumably because the planner is actually three widgets. Collect these widgets in one PlannerWidgets class and move the code there. This is not a full dis-entanglement, as the plannerwidgets have to access the profile via the mainwindow. But at least it collects the planner UI code at a single place. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12desktop: use getDiveSelection to access selected divesGravatar Berthold Stoeger
In the list view two functions were still manually collecting the selected dives. Use getDiveSelection() there as well. Careful: that means that the check for dives that are already outside of a trip now has to be done in the RemoveDivesFromTrip command. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12desktop: init dive list header actions in constructorGravatar Berthold Stoeger
The main window called a function to init the header actions (i.e. the context menu) of the dive-list. There is no reason why this shouldn't be done in the constructor of the dive list, since it only accesses the QSettings, which are available at application startup. This improves modularity of the code (by a tiny, tiny bit). Moreover, the initialization function was at the same time the header-reloading function. That function can now be folded into the settings-changed function, since that is the only remaining user. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12preferences: connect() dialog page only onceGravatar Berthold Stoeger
Weirdly, the settingsChanged() signal of the dialog-pages was connected() to the settingsChanged() signal of the dialog every time the settings were accepted. Do it only once in the constructor. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12preferences: don't remove/add pages in refreshPages()Gravatar Berthold Stoeger
This function was called when opening the preferences dialog to update all the pages with the current preferences. For unknown reasons it also removed / readded all the pages. Remove that code and use the now leaner function when refreshing the pages. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12preferences: sort pages only onceGravatar Berthold Stoeger
After each addition of a page in the constructor, the list was resorted. This appears pointless. Instead, sort the list only after all pages were added. Since the add-page function is now a single line, remove it. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12preferences: create global settingsChanged signalGravatar Berthold Stoeger
So far, the PreferencesDialog emitted a settingsChanged signal. This meant that models that listened to that signal had to conditionally compile out the code for mobile or the connection had to be made in MainWindow. Instead, introduce a global signal that does this and move the connects to the listeners to remove inter-dependencies. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12cleanup: remove unused PreferencesDialog::emitSettingsChanged()Gravatar Berthold Stoeger
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12Add surge etc to printing template variablesGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-08Fix cylinders in printing templatesGravatar Robert C. Helling
These did not appear in our templates. With this commit, there are two lists to iterate over, cylinders and cylinderObjects: cylinders has just one property: description which is a string summarizing cylinder information cylinderObjects has the individual properties addresable This also fixes a bug when the iterator variable did not have the singular name of the list it iterates over. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03Shorten the packages listGravatar Robert C. Helling
I compared the packages to those that come with a fresh Raspian install and also removed those that are dependencies of others. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: set default logfile nameGravatar Dirk Hohndel
This way we always get a libdivecomputer log. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03downloader: filter possible devices and add mounts, remember last choicesGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: make cgi-script functional and add documentationGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: save downloaded divesGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: wait for download threadGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03build-system/downloader: cli-downloader isn't part of the coreGravatar Dirk Hohndel
It's part of the main excutable / helper and needs to be linked before all of our support libraries. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03downloader: turn off bluetooth mode for nowGravatar Robert C. Helling
Eventually, this should also be set from the command line. Signed-off-by: Robert C. Helling <helling@atdotde.de>
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>