Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
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>
|
|
This way we can see if loading dives succeeded at all.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
This should deal with a big part of the delay when starting the app.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
Otherwise we could get duplicate dives in the dive list.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
Thanks again to Lubomir for finding this.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Not inside the CloudStorage group.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
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>
|
|
This may need an "are you sure" confirmation dialog...
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
This handles the user id for the Subsurface webservice for GPS location
tracking.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
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>
|
|
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
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>
|
|
That way we don't track the user's location until explicitly asked to do
so.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Add the ability to preview the application log in QML.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
|
|
No need to clear the dives when adding a new one.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
|
|
When user clicks on AddDive, we should clear the model.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
Fix some whitespace issues in the QMLManager and DiveListModel
classes.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
This model will be used to show the dives in QML. This commit adds
the model, and the means to link it to QML.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
Add a link between the C++ and QML parts of the app using the
qmlRegisterType function.
[Dirk Hohndel: changed the name to org.subsurfacedivelog.mobile]
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
Add a QMLManager class. This class will be used as a link between
the C++ and QML aspects of the mobile application.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|