Commit graph

508 commits

Author SHA1 Message Date
Dirk Hohndel
faa22d5343 QML UI: animate showing the dive edit sheet
This requires a change to Kirigami so that a property change (instead of
calling the open() function) can trigger the animation.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 21:15:58 -05:00
Dirk Hohndel
6c8736adb8 QML UI: end editing mode when edit overlay is flicked offscreen
Just changing the state isn't quite enough.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 21:14:59 -05:00
Dirk Hohndel
39799228af QML UI: fix small bug in main menu
One Action hadn't been converted to a Kirigami.Action.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 20:40:12 -05:00
Dirk Hohndel
cace666741 QML UI: avoid having the virtual keyboard show briefly at startup
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 20:15:44 -05:00
Dirk Hohndel
80bfccdf33 QML UI: better visual arrangement of the dive list
Make the lines that together form one dive move closer together so the dives
visually stand out more.

(this also includes small white space change, oops)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 16:56:16 -05:00
Dirk Hohndel
c117a7be6e QML UI: make the dive list font even darker
Still not black, though - there's an opacity setting somewhere that I must be
missing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 16:55:24 -05:00
Dirk Hohndel
74f8d50264 QML UI: use the new Kirigami option to control the title bar sizes
I liked the default and the fact that it disappeared completely, but the big
size was a bit too much...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 16:54:22 -05:00
Dirk Hohndel
2efa047999 Merge branch 'kirigamiPort' of https://github.com/sebasje/subsurface into mergeKirigamiPort
This merge was a bit more challenging given how far things had diverged,
but I hope I got it mostly right.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-31 22:36:15 -05:00
Dirk Hohndel
cc2b815a4d QML UI: simplify the code to cancel edit / add
This way we have one function that correctly ends both modes.
As a positive side effect this fixes a bug where one could exit the
add mode by tapping Dive list in the main menu which would not delete
the partially created dive.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-30 20:49:00 -05:00
Dirk Hohndel
6a3e761d8f QML UI: scroll to top of dive list when tapping title bar
This helps you get to the latest dive when you are stuck at the bottom
of a dive list.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-30 20:39:25 -05:00
Dirk Hohndel
1cf1fa9cac QML UI: add property to reflect when dive list is shown
This makes it easier to have actions that are only valid in this case.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-30 20:38:51 -05:00
Dirk Hohndel
13c49276d1 Revert "QML UI: make dive list fold dive trips"
This reverts commit 83c72e7a79.

The folding as implemented is too painfully slow and buggy on devices.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-30 20:17:41 -05:00
Dirk Hohndel
27a62a0210 Revert "QML UI: make dives outside of dive trips always visible"
This reverts commit a065b97472.

The folding as implemented is too painfully slow and buggy on devices.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-30 20:16:50 -05:00
Dirk Hohndel
501f8ba6a4 QML UI: remove a few obsolete properties and references
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-29 20:24:34 -05:00
Dirk Hohndel
a11e719f1a QML UI: add SAC rate to dive detail view
Not sure why this wasn't there before, it's certainly one of the more
interesting values for me.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-29 20:18:06 -05:00
Dirk Hohndel
a065b97472 QML UI: make dives outside of dive trips always visible
Create small visible separation from the dive trip before. And make the dive
trip header a slightly different color so they stand out between dives.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-29 20:08:15 -05:00
Dirk Hohndel
83c72e7a79 QML UI: make dive list fold dive trips
This makes it MUCH easier to deal with a lot of dives.

Instead of needing a more complicated model we simply use the meta data that
allows us to create the dive trip sections to hide (make invisible + height 0)
all dives that aren't in the selected trip.

I'll admit that this was much easier than I expected it to be.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-29 19:42:34 -05:00
Dirk Hohndel
dd0d88f9d7 QML UI: take device pixel ratio into account when scaling pixmaps on iOS
This way warning icons and tank change icons and other event markers are no
longer ridiculously tiny on retina screens. Oddly this doesn't appear to be
needed on Android, only on iOS.

Fixes #1033

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-28 17:05:29 -05:00
Dirk Hohndel
4670373731 QML UI: tighten credential input screen
This way even on smaller screens both email and password should fit
above the keyboard which makes data entry so much easier.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-27 19:10:58 -05:00
Dirk Hohndel
a4977f2a90 QML UI: add some diagnostics to App log
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-26 21:49:20 -07:00
Dirk Hohndel
d4357b3b21 QML UI: allow writing to App log from QML
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-26 21:49:19 -07:00
Dirk Hohndel
7434e4213b QML UI: show keyboard when entering credential screen
If the user goes to the credentials screen, they likely want to edit
something.  So put the focus on the first entry field and show the
keyboard.

We also need to hide the keyboard when the credential screen becomes
invisble so that the keyboard doesn't stay around when the dive list
is shown.

Suggested-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-26 21:49:19 -07:00
Dirk Hohndel
d99c931219 QML UI: remove the checkbox for remembering the password
In the context of the mobile app this simply makes no sense. If the user
doesn't select this option, the app doesn't really work. So why have the option
in the first place?

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 21:42:20 -07:00
Dirk Hohndel
246422d03f iOS build: fix typos
Can't believe I didn't notice them earlier... I must have stared at these
strings countless times.

Reported-by: Scott Ireland <scott@sdj.ca>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 21:36:42 -07:00
Dirk Hohndel
a9cf089e1c QML UI: remove verbose option from Developer menu
We now log everything that's relevant to the application log that is shown
in the UI.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 16:37:23 -07:00
Dirk Hohndel
6c9247b56b QML UI: improve About screen
This should actually give a correctly positioned logo.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 09:44:05 -07:00
Dirk Hohndel
854eb57ef5 QML UI: always convert the cloud user name to lower case
Mixed case user names cause the connection to the cloud storage to fail.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 23:12:03 -07:00
Dirk Hohndel
fcb93362ac QML UI: reduce application log clutter
We don't need to flood this with the profile scaling data anymore; that's
hopefully fixed for good.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 21:22:55 -07:00
Dirk Hohndel
b16e8e7b4e QML UI: work around missing back button on iOS
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>
2016-03-23 21:15:01 -07:00
Dirk Hohndel
e8f8051efe QML UI: use consistent, darker text color for dive list
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>
2016-03-22 11:36:11 -07:00
Dirk Hohndel
4f935595d9 QML UI: make return to dive list work when entering credentials
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>
2016-03-13 11:41:09 -07:00
Dirk Hohndel
8dcb6fa25c QML UI: show user manual in browser window
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>
2016-03-13 11:13:04 -07:00
Dirk Hohndel
087cda05e6 QML UI: font color isn't supported on app log page
So let's remove all that markup.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-13 08:58:57 -07:00
Dirk Hohndel
3efa20820a QML UI: show cloud access notification when refreshing from menu
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>
2016-03-13 08:56:29 -07:00
Dirk Hohndel
f1d73606e5 QML UI: don't allow negative gas consumption
If end pressure is higher than start pressure, simply use the same start
and end pressure.

Fixes #1024

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-11 13:17:57 -08:00
Dirk Hohndel
5a83226aa8 QML UI: try to clean up UI before showing notification
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>
2016-03-11 10:10:13 -08:00
Dirk Hohndel
8224b87b7a QML UI: don't claim to be accessing the cloud when you are not
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-10 22:17:23 -08:00
Tomaz Canabrava
fcb308fdf2 Red error messages in QML
[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>
2016-03-10 22:14:58 -08:00
Dirk Hohndel
ba89d9bbb1 QML UI: correctly validate the gasmix entered
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>
2016-03-10 22:03:00 -08:00
Dirk Hohndel
969ca3d9ea QML UI: if the date entered doesn't match the format, try harder
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>
2016-03-10 18:36:46 -08:00
Dirk Hohndel
3be6b128fd QML UI: hide some profile scaling debug messages
Simply make things less verbose

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-10 18:02:36 -08:00
Dirk Hohndel
9d6c755f48 QML UI: keep cloud access notification until done
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>
2016-03-10 18:00:44 -08:00
Marco Martin
2480f21e5b correctly build on android 2016-03-10 14:40:19 +01:00
Dirk Hohndel
44deaf6c51 QMLProfile: account for device pixel ratio when transforming the profile
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>
2016-03-08 20:50:56 -08:00
Dirk Hohndel
f798132862 QMLProfile: correctly track the device pixel ratio
And set the font size accordingly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-08 20:50:47 -08:00
Dirk Hohndel
7f99d9e9c3 QMLManager: helper function for devivePixelRatio
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>
2016-03-08 20:50:42 -08:00
Dirk Hohndel
308b69359d QMLManager: fix order of initialization
Just avoids warnings.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-08 20:50:35 -08:00
Dirk Hohndel
af2a90b536 QML UI: remove incorrect calculation of devicePixelRatio
That's just bogus.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-08 20:50:29 -08:00
Marco Martin
c780cfd7ce port to Kirigami imports and new api
first quick and dirty port of the imports to Kirigami 1.0
(using system installed for now) adapt to api changes and
try out some of the proposed ui changes from the HIG

Signed-off-by: Marco Martin <notmart@gmail.com>
2016-03-08 21:26:54 +01:00
Dirk Hohndel
d42b7f55c4 Introduce separate version number for Subsurface-mobile
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>
2016-03-05 17:00:14 -08:00