aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qmlmanager.cpp
AgeCommit message (Collapse)Author
2015-12-20QML-UI: log the full version at startGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-19QML-UI: allow toggling verbose mode from the UIGravatar Dirk Hohndel
Hidden in the Developer menu. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-19QML-UI: more log message when retrieving web user idGravatar Dirk Hohndel
At least one tester cannot retrieve their web user id. This should help us collect more data and figure out why this fails. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-19QML-UI: actually show the right text for missing cloud credentialsGravatar Dirk Hohndel
If we have no credentials or invalid credentials, update the text on the start page accordingly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-15QML UI: show better message about dive list at startGravatar Dirk Hohndel
Now the message should make more sense. First it tells you that it's looking for dives. Then you get some progress during the git download, and error messages if things failed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-07QML-UI: make dive edit almost sort of workGravatar Dirk Hohndel
So this has a lot of caveats: - right now it only works for buddy, divemaster and suit - you have to actually exit the field with your cursor or the change doesn't take - that's ridiculous, there must be a far more clever way to do this - because I use the onEditingFinished handler I can't do this for the Notes (so here's another reason why I KNOW that this is the wrong way to do this) But it shows in principle how this could be done and once someone who actually knows what they are doing gets their hands on the code I'm optimistic that this can be morphed into something much more useful. It does tie together the changes made in the previous commits so that both clicking around on the dive list gives the expected results and synching the data back to the cloud actually works. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-07QML-UI: that's not how you compare char pointers...Gravatar Dirk Hohndel
Well, at least it doesn't what you think it does. Let's use our little helper to actually compare the strings. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-04QML-UI correct cut and paste errorGravatar Dirk Hohndel
Stupidly the wrong functions were connected to the signals. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-04QML-UI: re-architect the way we access network resourcesGravatar Dirk Hohndel
We really need to verify that the credentials are valid before trying to access our backend resources. Trying to do so in a clean manner caused quite a bit of changes to how we retrieve the webservice userid and how we load the dive list from cloud storage. So instead of accessing the network resources directly, this adds a handler function that first checks the validity of the credentials (by using the rederict handler on the cloud server), and only calls the function that does the actual work (looks up the web service userid, loads the dives) if that succeeds. Right now there is no good user feedback mechanism - this just gets logged on the log page. But this is a massive improvement if there are issues with network connectivity or if the user mistyped their credentials. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-03QML-UI: replace the two ways to log progress with oneGravatar Dirk Hohndel
The logging to the UI didn't work anymore since the message area had been removed in commit 8646934ba351 ("Simple DiveList as initial Page"). This way all the updates simply land on the Log page. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-03QML-UI: open cloud storage once credentials were enteredGravatar Dirk Hohndel
This makes for a much more friendly first use experience: Open Subsurface-mobile, enter your cloud credentials, tap on Save and you see your dive list. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-03QML UI: different functions for saving Preferences and Cloud CredentialsGravatar Dirk Hohndel
Tapping Save on those two pages should only update the data that are actually available on those pages. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-02QML-UI: refuse to save to cloud unless you loaded from cloud, firstGravatar Dirk Hohndel
This prevents people from overwriting a perfectly fine repository with an empty one. Typically happens when you first enter your cloud credentials and then don't Load Dives right away. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-02QML UI: if load fails, don't continue processing dataGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-01QML-UI: make sure errors make it to the logGravatar Dirk Hohndel
get_error_message() clears the error message in the process, so calling it twice in a row does not do what you might think it does. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-01QML UI: add number of loaded dives to logGravatar Dirk Hohndel
This way we can see if loading dives succeeded at all. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-30QML UI: don't load dives before the UI has been instantiatedGravatar Dirk Hohndel
This should deal with a big part of the delay when starting the app. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-30Clear the Dive model before repopulating itGravatar Dirk Hohndel
Otherwise we could get duplicate dives in the dive list. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-18Another missing call to mark_divelist_changedGravatar Dirk Hohndel
Thanks again to Lubomir for finding this. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-18Location service: make message delivery configurableGravatar Dirk Hohndel
Instead of directly using the status output for the QML UI, set up the function used to display messages to the user as part of the constructor. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-18Location service: retrieve the userid using the cloud storage APIGravatar Dirk Hohndel
This should actually not be in the mobile section at all. This needs to be available on the desktop as well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-18QML UI: remove manual setting of web service useridGravatar Dirk Hohndel
It's just not user friendly to have two different user IDs for two different web services that we provide. Instead in the following commits we'll add a way to retrieve the location service web service userid with your cloud storage user id. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-14Location service: make distance and time threshold configurableGravatar Dirk Hohndel
Right now the distance is always in meters, the mobile app doesn't deal with units at all, anyway. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-14QML UI: userid is stored in General settingsGravatar Dirk Hohndel
Not inside the CloudStorage group. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-13Location service: upload GPS fixes to webserviceGravatar Dirk Hohndel
With this Subsurface-mobile should be able to mostly replace the companion app. This needs some more testing and fine tuning (for example the minimum time / distance should be configurable, there should be a location name), but I think the hard part is done now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-13Location service: add ability to delete all stored GPS fixesGravatar Dirk Hohndel
This may need an "are you sure" confirmation dialog... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-13QML UI: add preference for webservice user idGravatar Dirk Hohndel
This handles the user id for the Subsurface webservice for GPS location tracking. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-13Location service: report number of recorded GPS fixesGravatar Dirk Hohndel
This is mostly for debugging, to make sure that the recording of GPS fixes works as expected. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-12Location service: apply the saved GPS fixes to dive listGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11Location service: store locations in settingsGravatar Dirk Hohndel
This is rather simplistic and will clutter the settings. I'm not convinced this is the BEST way to do this, but it's a rather straight forward way to get persistant storage of the location fixes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11Location service: toggle the service from the main menuGravatar Dirk Hohndel
That way we don't track the user's location until explicitly asked to do so. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11Location service: move location provider into QML managerGravatar Dirk Hohndel
Since we want to be able to toggle it from the QML UI that seems like a better place for it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11Location service: consistent way to output informationGravatar Dirk Hohndel
qDebug is nice when testing on the desktop, but it has to go to the message area on an Android device to make things easy. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31QML UI: Show log correctlyGravatar Grace Karanja
Correctly show the log messages. The log window will display all messages emitted by the QML Manager class. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-08-31QML UI: Show message when loading divesGravatar Grace Karanja
Show a message at the start of fetching dives, so that the user knows whats going on. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-08-31QML UI: Add QML Log viewerGravatar Grace Karanja
Add the ability to preview the application log in QML. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-08-31QML UI: Use AddDive instead of clear diveGravatar Grace Karanja
No need to clear the dives when adding a new one. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-08-31QML UI: Clear divelist model before starting new diveGravatar Grace Karanja
When user clicks on AddDive, we should clear the model. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-08-31QML UI: Start Add Dive featureGravatar Grace Karanja
Start working on the add dive feature, to enable the user add a new dive using the mobile UI. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-27QML UI: if the cloud credentials are set, open the dive listGravatar Dirk Hohndel
There's no point opening to an empty screen and asking the user to do this via the menu. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-27QML UI: prevent crash when trying to set message without windowGravatar Dirk Hohndel
If we try to set up a message before the window has been instantiated we should ignore the message, not crash. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-24QML UI: make sure the dive list is empty before loading divesGravatar Dirk Hohndel
When testing subsurface-mobile on the desktop from an account that had a default file set up in the Subsurface preferences that file would already be loaded creating rather confusing output. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-22QML UI: Implement saving of cloud passwordGravatar Grace Karanja
If the user ticks the 'Save Password' box, then we save the password for future use. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-17QML UI: Implement saving of divesGravatar Grace Karanja
This implements saving of some dive details to the cloud service. When the user closes an open dives, any changed details will be cached, and when they click on the 'Save Changes' button is pressed, the changes will be saved to the cloud. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-12QML UI: implement a message area to show information to the userGravatar Dirk Hohndel
This is just a quick first stab to do this, but it at least allows us to share some information with the user. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12Whitespace cleanupGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-10QML UI: whitespace fixGravatar Grace Karanja
Fix some whitespace issues in the QMLManager and DiveListModel classes. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10QML UI: Load dives from cloudGravatar Grace Karanja
Load dives from the Subsurface cloud service using the user's saved credentials. This will display the dives in the same way as loading them from a local file. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10QML UI: add cloud credential fields to the QMLManager classGravatar Grace Karanja
These fields will be used by the QML Ui to save/retrieve the user's cloud credentials. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-06-20Fix bug where dives are shown twiceGravatar Grace Karanja
On the QML page, dives are repeated. Adding process_dives to QMLManager after calling parse_file solves this. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>