Especially when showing the dive details and editing dive details,
having the option to go back in the context menu is nicer on iOS.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We received suggestions from users to darken the text color in the dive
list a bit and this does seem to be a lot more readable. Especially since
people are likely to use this outdoors the higher contrast seems
reasonable.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
If the user tapped on the "Cloud credentials" menu and wants to go back to the
dive list (by selecting that option from the menu), allow them to do so if they
previously had valid credentials.
This allows them to go back to the dive list even on a device without a back
button like an iOS device.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is so obvious... and I know others asked for this before. Should
definitely have been in the first version...
Fixes#1026
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
If the user requests a refresh we always try to access the cloud and need to
show the notification accordingly.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This way we shouldn't have a drawer or other changes to the UI prevent the
user from seeing / interacting with the notification.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
[Dirk Hohndel: slightly changed to make it easier for translation plus
added one missing string that needed to be marked]
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We parsed it correctly, but then compared the permille values against
percent thresholds. What a stupid bug.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This implements a bunch of standard date and time formats, hoping that
what the user entered matches one of them.
I guess in the end we need to find decent calendar/clock based widgets to
enter the time and avoid the whole parsing hassle.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Instead of having the notification disappear after five seconds, keep it
visible until we are done accessing the cloud. That seems to be more
intuitive.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is turning into the never ending story. The documentation is not helpful,
so this is the result of a ton of trial and error - and I worry that the next
device I try this on will once again break things.
I think the scaling may finally be correct. Take the viewport rectangles
of the profile and the painter, create their ratio, multiply in the device
pixel ratio and the scene size with a little margin added around it.
But the other magic (especially the shifting of the profile on the
painter) makes absolutely no sense to me.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This allows us to use the single manager object to keep track of the dpr of the
screen and to pass it on if it changes (or when it first becomes known).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is hard coded in version.cmake for now. The intent is to go to 1.0 in
the first release version and to increment from there whenever we create
an update.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
With the current release candidate of Qt 5.6.0 we get into an infinite
recursion of the grid layout engine. This had happened before (prior to the 5.6
beta) and it appeared that setting the maximum width of the columns was
sufficient to fix this. But with the RC even that isn't sufficient, so now we
give up on having QML figure out the best possible column width and hard code
both preferred and maximum width to the same, predefined values. That's a total
shame, but at least now we can build against Qt 5.6 without infinite recursions
and crashes.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
don't create a local PassiveNotification copy,
use the global show/hidePassiveNotification from
ApplicationWindow, now that it works
Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
All error cases need to reset it as well.
And it's easier to reset it right after we come back from parse_file()
instead of trying to track all the exit cases after that.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
And hide the notification either after 5 seconds or once we are done.
This requires an extension to the Kirigami components that isn't upstream,
yet.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Oops, I forgot to take the sort model on top of the model into account.
Now everything should stay consistent - ListView order when accessed from
QML, but internal order when accessing the underlying array.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
When manually adding a dive and moving it in the dive list (by editing
it's start time) we could create a situation where the dive list
internally was correct, but the dive list model on screen showed an
incorrect dive list with the new dive in two different spots.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Don't do the slow motion scrolling through the list if we previously
showed a different dive in the list.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This code is very similar to the undo code in the desktop UI, but
untangling that from the desktop seemed massive overkill; we don't have
lists of dives to delete and undelete here - so this is actually much
simpler and easier to maintain (I hope).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The dialog gives the user 3 seconds to undo the delete and then disappears
without any user interaction.
This isn't hooked up, yet.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This reduces the margin to use more of the available space and also makes
the first column slightly wider so the word "Cylinder" isn't broken on a
Nexus 6p.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Normally this is triggered when the DiveDetailsView component is
completed, but since QML isn't recreating this component unless we switch
to a dive a couple of spots in the dive list away from this one, we
wouldn't get any changes in the data reflected in the profile.
But since this now redraws the same dive that potentially was drawn last,
we need to make sure we call plotDive() with force=true.
I also suspect that this could help with the strange bug that sometimes we
show a blank profile after certain edits.
See #1013
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This allows the user to delete the currently shown dive. This action takes
effect right away, no confirmation, it gets right away written to the
local git cache.
One idea for an undo operation here could be to simply reset the git tree
to HEAD^ and reload. Not elegant, but would work.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Don't allow negative depth or depth beyond 500m.
Additional checks that the gas mix is possible (even thought QML code
SHOULD only allow valid combinations).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The input is restricted to
EAN100
EANxx (with 'x' one of 0..9)
AIR
xx/xx (with 'x' one of 0..9)
xxx (with 'x' one of 0..9 and the number <= 100)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>