aboutsummaryrefslogtreecommitdiffstats
path: root/mobile-widgets
AgeCommit message (Collapse)Author
2018-09-12mobile-widgets: remove setTimeThreshold from systemGravatar jan Iversen
Use qPrefLocationService::set_time_threshold and remove from qmlprefs.cpp and qmlmanager.cpp Remark: mobile UI shows time in minutes, while it is stored (and calculated) in seconds. Therefore a /60 when reading and *60 when setting. Signed-off-by: Jan Iversen <jani@apache.org>
2018-09-12mobile-widgets: move distanceThreshold handling to qPrefGravatar jan Iversen
Remove distanceThreshold from qmlprefs and use qPref instead update qml no user experience change Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-12mobile-widgets: make show_developer persistentGravatar jan Iversen
Remove developer from qmlprefs and use qPref instead Update qml show_developer is saved on disk, and thus remembered between starts. Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-11core/settings ... : remove qPref* includes in qPref.hGravatar jan Iversen
reduce number of includes by removing qPref* includes in qPref.h Signed-off-by: Jan Iversen <jani@apache.org>
2018-09-11core: declare cloud_status in qPrefCloudStorageGravatar jan Iversen
qml declaration of cloud_status (defined in pref.h) does not belong in qPref.h but in qPrefCloudStorage Signed-off-by: Jan Iversen <jani@apache.org>
2018-09-11core,tests: change qml register functionGravatar jan Iversen
In order to address the C++ object directy in qml, a different registration is needed. qmlRegisterType, registers the C++ class, allowing qml code to inherit from it and make qml objects. This is needed for graphical elemnets like profile and map setContentProperty, registers the C++ object, thus allowing signals to be catched. Signed-off-by: Jan Iversen <jani@apache.org>
2018-09-11cleanup[4/6], mobile: remove superfluous code from gpslocationGravatar Jan Mulder
Despite the fast that this code is sitting in core, its used mainly from mobile. In 987e221f8e6b7b, the buttons to interact with the GPS webservice were deleted from the UI. Now, delete all the code that was used under these buttons. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-10prefs: git_local_only is not a preferenceGravatar Dirk Hohndel
It's the current state of the app, so it should be a global variable, not a preference. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-10Mobile: Remove webservice, remove UI componentsGravatar Jan Mulder
This is the first commit related to the removal of the GPS webservice. It is nothing more then removing 2 buttons from the menu to upload and download from the server, so technically a trivial change. As with the desktop application: Be very careful here as this forces our users to use Subsurface-mobile, and a online cloud account as that is the way to transfer GPS data from a mobile device to the desktop. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-06mobile_widgets: correct cloudCredentials save problemGravatar jan Iversen
When installing for the first time cloudCredentials needs to be added, this commit a problem with updating them correctly this problem was caused by da6e8a4cd5d80a4288129bf44b1efad69de1704f Signed-off-by: Jan Iversen <jani@apache.org>
2018-08-25mobile-widgets: remove QSettingsGravatar jan Iversen
update qmlprefs and qmlmanager to use qPref Signed-off-by: Jan Iversen <jani@apache.org>
2018-08-25Mobile: add default cylinder UIGravatar Jocke
Add the UI components to let the user set the default cylinder and select the chosen cylinder when adding a new dive. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-23Parse: pass dive_table argument to parse_file()Gravatar Berthold Stoeger
To enable undo of divelog-importing it is crucial that parse_file() can parse into arbitrary dive tables. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-08-23Cleanup: user properly typed pointersGravatar Berthold Stoeger
A trivial cleanup: replace void by properly typed pointers in cylinder_none() and weightsystem_none(). Moreover, remove the unused function no_weightsystems(). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-08-15mobile-widgets: remove SettingsObjectWrapper and update qPref callsGravatar jan Iversen
remove use of SettingsObjectWrapper:: remove include of SettingsObjectWrapper.h use qPrefFoo:: for setters and getters replace prefs.foo with qPrefXYZ::foo() where feasible (this expands to the same code, but gives us more control over the variable). Signed-off-by: Jan Iversen <jani@apache.org>
2018-08-14core: activate qPrefGeneralGravatar jan Iversen
remove General from SettingsObjectWrapper and reference qPrefGeneral update files using SettingsObjectWrapper/General to use qPrefGeneral this activated qPrefGeneral and removed the similar class from SettingsObjectWrapper. Signed-off-by: Jan Iversen <jani@apache.org>
2018-08-12Use hex USB VID/PIDGravatar Dirk Hohndel
Except of course that the Android intent does give us these values in decimal. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-12core: activate qPrefLocationServiceGravatar jan Iversen
remove LocationService from SettingsObjectWrapper and reference qPrefLocationService update files using SettingsObjectWrapper/LocationService to use qPrefLocationService this activated qPrefLocationService and removed the similar class from SettingsObjectWrapper. Signed-off-by: Jan Iversen <jani@apache.org>
2018-08-11Android: recognize OSTC 2N when plugged inGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11Mobile: fix saving new diveGravatar Jocke
With the new setup we need to know which state we are coming from when we are saving cylinder related info. When we are adding a new dive we explicitly should save cylinder data to the first cylinder. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: fix adding new diveGravatar Jocke
All the changes to multi cylinder editing broke the option to add a new dive. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11QlmManager: fix cylinderInitGravatar Jocke
Cylinder init should return all cylinders not only the ones present in the logbook. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: save pressuresGravatar Jocke
Save start and end pressures for used cylinders. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: save gasmixesGravatar Jocke
Same as for cylinder info, we need to make sure that the gasmixes gets saved to the correct cylinder. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: display all used gases on the edit pageGravatar Jocke
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: save edited cylindersGravatar Jocke
Save the edited cylinder in the correct slot. Since the cylinder number and the used cylinder number need not be the same we first need to test if the cylinder are used. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: Display used cylinders on edit pageGravatar Jocke
This displays the used cylinders in a dive so that they can be edited. Currently limited to 5 as a POC. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Mobile: display all used cylindersGravatar Jocke
Display all used cylinders as a comma separated list. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-08-11Whitespace cleanup, extra braces, and null checksGravatar Dirk Hohndel
Thanks to Lubomir for the review. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11Android: fix typo in OSTC3 FTDI device nameGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: don't overwrite good info with badGravatar Dirk Hohndel
If we don't know the vendor or product, let's not overwrite information that we may have remembered from the last time the user downloaded from this dive computer. Note that this doesn't try to associate a specific cable with the information used last time. We could be smarter here for people who have multiple dive computers, but for the most typical user with just one dive computer, this does seem like a good solution. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: add callback to run after app is fully initializedGravatar Dirk Hohndel
And then use that to check for pending Intents on Android. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: add another product ID to recognized FTDI cablesGravatar Dirk Hohndel
We aren't sure if this is Aqualung specific or generic. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: don't show bogus warning if page stack is resetGravatar Dirk Hohndel
As we clear all the pages from the stack, we can briefly have no valid currentItem. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: don't mangle 'USB device' as device nameGravatar Dirk Hohndel
We do strip the user friendly name from BT addresses and this mistakenly mangled 'USB device' to 'device'. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: directly access currentTextGravatar Dirk Hohndel
No need to qualify our own object name. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: disable connection selection for Atomics AquaticsGravatar Dirk Hohndel
This is one of the dive computers that we simply connect to as USB device. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: pass the indices for the combo boxes on the downloadpage to UIGravatar Dirk Hohndel
Parse the device string and try to figure out what was plugged in. In some cases we know exactly which vendor and product was plugged in, in other cases we only know which vendor it was, in some cases we don't even know that (if all we see is a generic FTDI cable). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: when triggering download page, set up vendor/product/connectionGravatar Dirk Hohndel
This only works if the USB device contains enough information to do so. We need to collect more information to understand what information we get if those get plugged in. Maybe we'll get only the vendor and need to leave it to the user to set the product (which we can do by passing an index of -1 for product). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: set indices when showing Download pageGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: expose vendor/product/connection index as propertiesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: show download page when device was plugged inGravatar Dirk Hohndel
Unless, of course, the user was editing or adding a dive - that would be annoying to have interrupted (even though, of course, it's the user plugging in the device which would trigger this in the first place). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: create separate function to show download pageGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11Android: notify the UI a dive computer was plugged inGravatar Dirk Hohndel
And try to guess which one from the device string we get from the Intent. The function is named to indicate its future use (because once the user plugs in such a device, we should show the download page). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11QML UI: add property to pass detected device name to UIGravatar Dirk Hohndel
If the user plugs in a device on Android we get a device string that should allow us to figure out which dive computer was plugged in. Make that string available to the QML UI. Right now all we do is log it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-07Move DC download icons used by mobile app to mobile-widgets/qml/icons/Gravatar Martin Měřinský
Signed-off-by: Martin Měřinský <mermar@centrum.cz>
2018-07-10core: make qPref::cloud_status the only version of the enumGravatar jan Iversen
add enum to qPref and remove elsewhere update source core to reference qPref. the enum cannot be in pref.h because it is to be used in qml and Q_ENUM need the enum to be defined as part of the class Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-05mobile-widgets: solve cloudstatus register problemGravatar jan Iversen
Use Q_ENUM instad of Q_ENUMS (which is depreciated) since it does the meta registration for all Qt platforms. Q_ENUM require the enum to be defined in the class and cannot refer to a global class, therefore copied enum to class. This commit is made to get the release to work, with minimal changes, this class will be moved to qPref and the double definition solved Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-04core: remove double definition of enum cloud_storage_statusGravatar jan Iversen
Remove cloud_storage_status from qmlprefs.h. usage to qPref:: enum cloud_storage_status is not used from C, but only from C++, and having the same structure defined multiple times is a maintenance challenge. Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-28Android: limit the amount of data copied to clipboardGravatar Dirk Hohndel
The clipboard fails if we attempt to copy more than 1MB of data. But the data buffer used is shared between all transactions 'in flight' and we cannot tell what else is currently using that buffer. Limiting ourselves to 500k of text for the logfiles seems reasonable and hopefully makes it more likely that the transaction will succeed (sadly, Qt doesn't tell us if it failed). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>