aboutsummaryrefslogtreecommitdiffstats
path: root/mobile-widgets
AgeCommit message (Collapse)Author
2017-06-12QML UI: call correct function for BT addressGravatar Jan Mulder
After the recent refactoring of QMLManager to btdiscovery, the manager.getBtAddress() got superseeded by downloadThread.data().getDetectedDeviceAddress(). Corrected this here. Futher some debug output is modified, so that it report the proper function names. This corrects the download from an automatically detected OSTC 3. Manul selection of the same device from the fake vendor "Paired BT Devices" does not work, however. Still work to be done in that area. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-12QML UI: do not crash on selecting dive computersGravatar Jan Mulder
For reasons unknown to me, the DCDeviceData instance was freed way too early, and used afterwards, obviously resulting in a SIGSEGV. This commit creates the DCDeviceData as a direct child of the QMLManager instance, ensuring it does not get freed prematurely. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-11QML UI: move BT handling into core codeGravatar Dirk Hohndel
This shouldn't be part of the UI (qmlmanager), but part of our overall handling of dive computers and BT devices. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-11QML UI: adjust to modified logging APIGravatar Dirk Hohndel
appendTextToLog prepends the elapsed time which can be useful, so let's not remove that but instead have it log to qDebug() instead. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-11Add a messageHandler to take care of qDebug & friends on QMLGravatar Tomaz Canabrava
all qDebug / qCDebug and friends now will be properly logged into developer -> log, on QML. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-11QML UI: correctly set up the divecomputer for downloadGravatar Dirk Hohndel
If we find a paired BT divecomputer, this will populate vendor and product correctly for that device. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-04QML UI: show selection box on the Download from DC listGravatar Tomaz Canabrava
QML and C++ model don't interact too much, a new Rule should be created and used on the QML Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-02Silence compiler warningsGravatar Jan Mulder
Silence some compiler warnings about implicit double to int conversions. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-06-02Android BT: generalize pairing dataGravatar Jan Mulder
This adds a list of paired BT devices to the QMLManager class. In addition, a very simple implementation is made of getting the paired BT devices on Linux, so that we can test further processing of selecting the proper devices, in a mobile-on-desktop situation. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-06-01Android BT: do not force BT onGravatar Jan Mulder
It is very impolite to force BT on at start of the mobile app. We cannot know if the user is going to import dives over BT. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-06-01Android BT: pull the pairing data from a deviceGravatar Jan Mulder
As Qt is not able to pull the pairing data from a device, a lengthy discovery process is needed to see what devices are paired. On https://forum.qt.io/topic/46075/solved-bluetooth-list-paired-devices user s.frings74 does, however, present a solution to this using JNI. Currently, this code is taken "as is". Currently, only for Android (so not mobile-on-desktop, or even desktop). And only generating logging data in the logcat. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-06-01Use #if defined() instead of #ifGravatar Jan Mulder
qtcreator (4.3.0) got confused whether BT_SUPPORT was defined. Using work as expected. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-05-31QML UI: try to also detect OSTC BT dive computersGravatar Dirk Hohndel
The naming scheme of OSTC dive computers doesn't match their product names, but they all behave the same from a download perspective, so we assume that any BT device that has a name starting with OSTC is an OSTC 3. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-31Android: connect to BT via uuid instead of portGravatar Dirk Hohndel
We remember the offered service uuids as we detect the device and then try the first one - likely this needs to be fixed / tuned to pick the right one if multiple uuids are offered. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-31QML UI: use the BT address of the first dive computer foundGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-31QML UI: add getBtAddress functionGravatar Dirk Hohndel
This allows us to get the BT address of the first dive computer that we found. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: populate dive computer vendor and productGravatar Dirk Hohndel
If we detected a BT dive computer, we can already set up the vendor and product for it (as well as the new BT checkbox). Oddly, in my tests this doesn't set up the product correctly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: detect BT dive computersGravatar Dirk Hohndel
If we find something that looks like a known BT dive computer, set things up so that we can use it later. If multiple dive computers are found, simply use the first. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: try to match BT names to known dive computersGravatar Dirk Hohndel
So far this just adds data to the log. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: remove unused layoutGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: select / unselect dive by clicking on itGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: add DownloadDiveDelegateGravatar Tomaz Canabrava
A delegate to display the dives in a better way, based on the code from DiveList.qml Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: remove unused item on the interfaceGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29QML UI: start BT discoveryGravatar Dirk Hohndel
So far all this does is list all the BT devices that it finds (and I worry if this will have negative battery implications on a mobile device), but this should allow us to connect to a standard BT dive computer (but that will of course require more code to pick the right device). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-28QML UI: add downloaded dives to dive listGravatar Dirk Hohndel
This already takes into account which of those dives were selected. Right now all we have is select all or none - this needs actual support in the UI, but once that's there, it will just work (famous last words). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-28QML UI: stub out saving downloaded divesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-28QML UI: add some DC Download info to AppLogGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-28QML UI: fix typo in component idGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-28QML UI: remove code that's commented outGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: use QtQuick.Controls 2.0 everywhereGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: add the Downloaded Dive ModelGravatar Tomaz Canabrava
Still to do: - select the dives to save - record the downloaded dives but download is already working. :) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: add the DownloadThreadGravatar Tomaz Canabrava
For this I had to also make the DCDeviceData accessible, and for that it needed to be a pointer. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: Fill the product listGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: show the VendorList on the Download from DCGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: fix the layout for the Download from DCGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27QML UI: initial code for Download from Dive ComputerGravatar Tomaz Canabrava
Add a new action on the drawer to display the Download from Dive Computer options. Nothing works yet. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-29Add SPDX header to mobile widgets and QML filesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-16QML UI: more fine tuning of the magic shift factorGravatar Dirk Hohndel
Now it should also work on devices with device pixel ratios of 1.3, 1.33, or 1.4. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-16QML UI: correctly update dive list after editing timestampGravatar Dirk Hohndel
Once we re-inserted the dive in the list we aren't done, quite the contrary - we now need to make sure that we handle any other changes and mark the dive list as updated. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-16QML UI: correctly parse manually edited dateGravatar Dirk Hohndel
We need to set the timeSpec after the QDateTime was parsed, otherwise it gets converted to localtime again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-15QML UI: fix broken delete from dive details pageGravatar Dirk Hohndel
Trying to close the non-existing context drawer caused the function to abort (and consequently not to delete the dive). Fixes #309 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-15QML UI: fix GPS list renderingGravatar Dirk Hohndel
There was an extra BasicListItem inside the SwipeListItem. This commit just removes 5 lines, the rest is indentation change. Fixes #312 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: reset completion fields when adding diveGravatar Dirk Hohndel
Otherwise the last value in those fields might still be shown. Also, set up the cylinder completion. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: create completion list for cylinders as wellGravatar Dirk Hohndel
We already have that for the other three fields where we offer auto completion (buddy, divemaster, suit). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: fix profile for device pixel ratio of 1.5Gravatar Dirk Hohndel
I think this is actually a typo - either way, seems to work correctly now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: better simulation of onPressed in TextFieldGravatar Dirk Hohndel
Prior to Qt Quick Components 2.1 there was no onPressed signal for a TextField; in order to be able to build against Qt 5.7 (which comes with Qt Quick Components 2.0) we need to work around the lack of this signal. This code seems to do a pretty good job at simulating it. My attempt in commit 73c66e1d7d9f ("QML UI: make run with Qt 5.7 again") didn't work so well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: don't populate hints texts when adding diveGravatar Dirk Hohndel
If we don't have values for the HintsTextEdit fields, don't show any values. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: correctly render dive list when showing delete buttonGravatar Dirk Hohndel
This fixes the visual artifact that Willem reported. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: keep the fontMetricGravatar Dirk Hohndel
We reference it elsewhere. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-14QML UI: don't shrink fonts on narrow displaysGravatar Dirk Hohndel
Now that wrapping should work correctly, this isn't necessary any more. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>