aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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>
2019-10-02Import: get tables from DiveImportedModel not DownloadThreadGravatar Berthold Stoeger
When importing dives, consume the tables from DiveImportedModel and not the DownloadThread. This appears more logical and avoids an inconsistent state of the DiveImportedModel: On import the tables would be reset, but the DiveImportedModel wasn't informed of that. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Documentation: add comment to Command::importDivesGravatar Berthold Stoeger
Add a comment that the passed-in dives are consumed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Desktop: Use DiveImportedModel::deleteDeselected()Gravatar Berthold Stoeger
In DownloadFromDCWidget::on_ok_clicked() deselected dives were directly deleted from the dive table, leaving DiveImportedModel in an inconsistent state. Use the function in DiveImportedModel instead. This also removes code duplication. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: keep model state consistent when deleting unselected divesGravatar Berthold Stoeger
In DiveImportedModel::deleteDeselected(), unselected dives were deleted from the dive-table. But this left the model in an inconsistent state and the frontend was not informed of the missing dives. Fix this by invoking the appropriate beginRemoveRows()/ endRemoveRows() pairs. Move the functionality into its own function so that it can be reused by the desktop version. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Import: Make DownloadThread a subobject of DiveImportedModelGravatar Berthold Stoeger
Currently, desktop and mobile are accessing the DownloadThread and the DiveImportedModel concurrently. This makes a big data flow mess. To achieve a more hierarchical data flow, start by making the DownloadThread a subobject of DiveImportedModel. Start the download by calling a function in DiveImportedModel. Route the finished signal through DiveImportedModel. Thus, the model can reload itself with the new data. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02Core: implement move functions for dive and dive_site tableGravatar Berthold Stoeger
To allow efficient moving of downloaded dives from the download thread to the model, implement a general move function that moves table data. Instantiate that function for the dive and dive_site tables. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>