summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-10-13Mobile: use tri-state variable to improve the map hackGravatar Dirk Hohndel
QML enums are a bit painful to use, so this uses poor man's emums instead. Basically what this changes is that a forced switch to the map doesn't count as picking the map. That seems obviously correct, as otherwise you could end up in a situation where a legitimate switch away from the map is ignored. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: insane hack to make map page workGravatar Dirk Hohndel
This makes no sense and seems crazy. But it also seems to work, For some reason with the current Kirigami version and Qt 5.13.1 selecting the map page makes the pageStack jump back to the previous page right away. I cannot find what triggers this behavior. Since I cannot fix the root cause, I am working around the bug. When we select the map page we remember that fact and when a different page is picked with the mapPage being the last page on the stack, we force the page selection back to the map page. I can imagine countless ways in which this could go horribly wrong - but right now I can't figure out a better solution. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: keep existing page stack when showing mapGravatar Dirk Hohndel
There doesn't appear to be a reason to pop all of the existing pages from the stack. Just on principle, only close the drawer if it was open. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: stop dumping the list of supported dive computersGravatar Dirk Hohndel
This doesn't seem to add much value anymore and massively clutters the output. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: need to recalculate column width when rotatingGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: don't make sub-pages fill the parentGravatar Dirk Hohndel
This had very strange results with the current Kirigami. Instead set the width of those pages based on our overall column width. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: change handling of columns and column widthGravatar Dirk Hohndel
The old calculation was clearly bogus, we'd also get zero columns here. Instead do a correct calculation of the number of columns and make the resulting column width a property of the rootItem so we can refer to it elsewhere. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: ApplicationHeader is now deprecatedGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13build-system: update the mobile components scriptGravatar Dirk Hohndel
The hack to remove the action button caused situations where the action button didn't return. Let's skip that for now. All the other fixes appear to still be needed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: update Kirigami to v5.62Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: show the undo for delete for 5 secondsGravatar Dirk Hohndel
Before that it was 3 seconds that was a little too short for peopl to be happy. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: update version number before next releaseGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Windows build: Changesto build using mxebased hidapi,libusb and grantleeGravatar Paul Buxton
Remove hidapi from manually built components and use the mxe based one instead. Remove libzip as that is handled by mxe packages. Update version of grantlee used to build with qt 5.13.1. Also hide vscode files from git. [Dirk Hohndel: combined two commits, cleaned up the commit message and removed one now incorrect comment line from mxe-based-build.sh] Signed-off-by: Paul Buxton <paulbuxton.mail@googlemail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-09Cloud storage: remove outdated certificate hackGravatar Dirk Hohndel
The old server certificates where not recognized on some older platform, so we hardcoded the hex digest of the valid certificate and ignored the error. Those certificates have been replaced last week, so there is no point to this hack anymore - also, we should always show the SSL error, not just in verbose mode. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-06Fix text in darkmode on mobile app.Gravatar Paul Buxton
Signed-off-by: Paul Buxton <paulbuxton.mail@googlemail.com>
2019-10-05Android: switch to latest OpenSSLGravatar Dirk Hohndel
If we update all this, we might as well go to the latest. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-05Android: work around Android 5.x issues with OpenSSLGravatar Dirk Hohndel
The Qt documentation has specific suggestions how to build our own version of OpenSSL in order to work on Android 5.x: https://doc.qt.io/qt-5/android-openssl-support.html Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-05builld-system: switch Android to Qt 5.13.1Gravatar Dirk Hohndel
This fixes the SSL issue with Android 5.x/Lollipop. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-05Cleanup: remove bogus code that slipped in earlierGravatar Dirk Hohndel
Commit df4fbf7699 ("Android: force different font on OnePlus devices") inadvertantly added this hunk - let's undo it again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-04Cleanup: Implicitly free QApplicationGravatar Berthold Stoeger
Instead of deleting the Application explicitly in exit_ui(), use a unique_ptr to have the instance automatically freed. This is the pattern given in the Qt-docs: https://doc.qt.io/qt-5/qapplication.html Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-04Cleanup: Make constructor of singletons privateGravatar Berthold Stoeger
This guarantees that they are actually singletons: there can only be one application-wide instantiation of these objects. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-04Cleanup: Turn DiveListSortModel into classical singletonGravatar Berthold Stoeger
To make this class available from QMLManager, the run_ui() function would create the object and then set a pointer in QMLManager. It works, but is inconsistent with the rest of the code. Therefore, make it a classical singleton class, which is generated on demand. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-04Cleanup: turn GpsListModel into standard singletonGravatar Berthold Stoeger
GpsListModel was one of those "special" singletons that could be created explicitly with new. This would make sense if a parameter were passed to the constructor. We only passed null, so one might as well turn that into a classical singleton with default constructor. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-04Cleanup: turn DiveListModel into standard singletonGravatar Berthold Stoeger
DiveListModel was one of those "special" singletons that could be created explicitly with new. This would make sense if a parameter were passed to the constructor. We only passed null, so one might as well turn that into a classical singleton with default constructor. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-04Cleanup: initialize DiveListSortModel in constructorGravatar Berthold Stoeger
The model was initialized in the global run_ui() function. Move that into the constructor of the class. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-04android-build: Add some more libzip hacksGravatar Anton Lundin
This hacks the libzip build to not try to find zlib, because it fails doing so on modern NDK. We just tell it that its there, and be done with it. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2019-10-04mobile: Expose ftdi if compiled inGravatar Anton Lundin
Expose ftdi connection posibilities if its compiled in, not only on Android. Its useful to be able to test it on a Linux machine to. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2019-10-04android-build: Add support for x86_64Gravatar Anton Lundin
This adds support for building x86_64 apks. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2019-10-04android-build: Load variables file relative source dirGravatar Anton Lundin
Not everybody have their build dir in the same place, but we can always find the files relative each other. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2019-10-03Analyze gasswitches in CCR bailoutGravatar Robert C. Helling
The test if we have to create gas switches wasn't yet aware of the bailout option. Reported-by: Dennis Arreborg <dennis@arreborg.eu> Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-10-02Mobile: fix reloading dive list after downloadGravatar Dirk Hohndel
There was a sad typo in commit eecca6aab0 ("Mobile: replace model-reset by row-addition in DiveListModel::reload()"). Additionally, we need to also refresh the dive list so that the new dives are shown. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Mobile: don't allow width change without rotationGravatar Dirk Hohndel
We get incorrect changes to a new screen width that causes us to try draw to a much larger screen than we actually have. Ignore those changes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Mobile: add more debugging output for screen width issueGravatar Dirk Hohndel
Somehow we need to be able to figure out which width information is correct. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Android: move OnePlus font hack earlierGravatar Dirk Hohndel
We want the new default font in place before the QML engine is initialized. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Mobile: recalculate base units only for first real changeGravatar Dirk Hohndel
Different Android devices seem to have different patterns of throwing incorrect width information at us. This seems like a really bad hack, but for the ones I've seen so far this should give us the right width information. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Avoid duplicate debug output from GPS moduleGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Android: allow passing through -quick argumentGravatar Dirk Hohndel
So even setups relying on the wrapper script can do faster rebuilds. This also cleans up a bug that made passing through the release parameter fail in the past, and removes overly verbose debugging output. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02build-system: add option to enable profilingGravatar Dirk Hohndel
Simply nice to have - even though it didn't help me track down the issue this time around. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Mobile: update version to 2.2.2Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Mobile: only print debug output if there's informationGravatar Dirk Hohndel
On many devices the Screen property doesn't give us a manufacturer, model, or name. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-02Cleanup: Remove DownloadThread QML-typeGravatar Berthold Stoeger
The download thread is not accessed directly by QML anymore. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: remove DiveImportedModel::lastIndexGravatar Berthold Stoeger
This is redundant, as the actual size is stored in the dive table. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Cleanup: remove DiveImportedModel::firstIndexGravatar Berthold Stoeger
This index was never set to anything else than 0. Might as well remove it. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: avoid model inconsistency in DiveImportedModel::recordDives()Gravatar Berthold Stoeger
DiveImportedModel::recordDives() called add_imported_dives(). But that actually consumes the dive and dive-site tables. Which in turn will lead to an inconsistent model. Properly reset the model by using the consumeTables() function. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: keep dive and dive site tables in DiveImportedModelGravatar Berthold Stoeger
The DiveImportedModel and DownloadThread used the same table of dives and dive sites. This made it very hard to keep the model consistent: Every modification of the download thread would make the model inconsistent and could lead to memory corruption owing to dangling pointers. Therefore, keep a copy in the model. When updating the model, use move-semantics, i.e. move the data and reset the tables of the thread to zero elements. Since the DiveImportedModel and the DownloadThread are very tightly integrated, remove the accessor-functions of the dive and dive-site tables. They fulfilled no purpose whatsoever as they gave the same access-rights as a public field. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Cleanup: make table argument to get_dive_from_table() constGravatar Berthold Stoeger
Even though the returned dive is not const, the table is not changed, as it only contains pointers. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Cleanup: remove dive_table and dive_site_table Q_METATYPEsGravatar Berthold Stoeger
These are not passed through QML anymore. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: remove QML properties from DownloadThreadGravatar Berthold Stoeger
QML doesn't access these directly anymore but goes via the model. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: extract number of dives from model not from threadGravatar Berthold Stoeger
The plan is to make the model the authoritative source of the imported dives. Therefore, access the number of downloaded dives from there. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: clear table via model not via threadGravatar Berthold Stoeger
Clearing the table in the thread leaves the model in an inconsistent state. Don't do that. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>