Commit graph

212 commits

Author SHA1 Message Date
Jan Mulder
59417342c7 mobile: the infamous enumerate problem
This fix seems to fix the enumerate problem: the problem that on a
seemingly non-determinstic way, all the profiles get enumerated
and rendered, causing freeze of the app, or even crash due
to out of memory.

Only 3 lines of code change, but this fix did not come easy. The
enumerate problem seems some kind of race condition between QML,
Kiragami and most definitely, the Subsurface QML code itself.
The breakthrough in my debugging was the setting of
highlightRangeMode: ListView.StrictlyEnforceRange based on
the QML documentation on snapMode: enumeration.

This fix deserves proper testing in multiple environments. As
could be seen on the developpers mailing list, I was (easily)
able to reproduce the enumerate problem, but Rick was not. So
I definitely do not claim to understand why this fix solves
the issue for me.

And as a sidenote: fixes #263 for me as well.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-24 09:27:23 -07:00
Dirk Hohndel
220d25588f QML UI: enable caching of the details view
This way the dive on either side should be cached.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
783f9ee565 QML UI: don't explicitly position view
Instead have the view follow the currentItem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
10842b3eb3 QML UI: don't unset the currentIndex in the dive list
It's unclear why this code was added in the first place - removing it
makes the highlight of the selected dive in the dive list work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
dd1d90b529 QML UI: don't clip
At least that's what the QML documentation recommends.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
a2bc3e02f8 QML UI: small cleanups
Remove unused signal handler.
Small whitespace cleanup.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
9389fd0049 QML UI: don't access members of undefined objects
If we don't have a currentItem, don't try to access its members.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Dirk Hohndel
33df10cbaa QML UI: small clarification
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18 17:05:45 -07:00
Martin Měřinský
869a7fcfcc dive master > divemaster 2017-03-04 12:08:17 -08:00
Martin Měřinský
f007f0329b Remove space before colon. 2017-02-21 07:03:10 -08:00
jbygdell
0e57033042 QML UI: Parse multiple buddies when editing a dive
This allows the user to enter multiple buddies as a comma separated list,
the "Multiple Buddies" entry is still a special case as we can only populate
the combobox with a single name for each entry.

fixes #168

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-01-29 14:55:33 -08:00
Dirk Hohndel
b15b3c195c QML UI: allow magic phrase for multiple buddies to be localized
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-22 18:20:03 -08:00
Dirk Hohndel
0196d9a220 QML UI: correctly test if there are multiple buddies
The JS string function search returns the position of the string you
search for and -1 if that string isn't found. Also, search allows
regular expression, indexOf does just a string match. So let's use
that as it is much faster.

See issue #168

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-22 18:18:57 -08:00
Dirk Hohndel
bfaeb22cc5 QML UI: prevent modification of Multible Buddies text
"Multiple Buddies" is magic in that it means "do not change the buddies
set for this dive". Allowing the user to edit that magic phrase defeats
the purpose.

This deals with part of issue #168 - but of course that magic phrase
shouldn't be fixed as English text.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-22 18:18:07 -08:00
Dirk Hohndel
fc60f210c4 QML UI: move 'No dives in dive list' down
Otherwise it overlaps with the page title.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 17:06:07 -08:00
Dirk Hohndel
14b4c94ded Revert "QML UI: build against latest Kirigami"
This reverts commit a842e44b68.
2017-01-21 14:42:10 -08:00
Dirk Hohndel
6459e455bc Revert "QML UI: steps towards working with Kirigami 2"
This reverts commit 53ce3ce3e3.
2017-01-21 14:42:00 -08:00
Henrik Brautaset Aronsen
ba23989e6b Update from 2016 to 2017. Happy new year!
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01 10:28:25 -08:00
Tomaz Canabrava
4db80aa1a4 Remove opacity calls
ApplicationWindow has no Opacity calls no more.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 09:46:58 -08:00
Dirk Hohndel
53ce3ce3e3 QML UI: steps towards working with Kirigami 2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 09:22:05 -08:00
Dirk Hohndel
a842e44b68 QML UI: build against latest Kirigami
But of course this doesn't work, yet.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 01:47:01 -08:00
Dirk Hohndel
13dbbd3085 QML UI: smaller fonts on narrow screens
This may be excessive, but it fixes the issue with the German localization on
some narrow screens.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-20 08:47:08 -07:00
Joakim Bygdell
1219dc6931 QML UI: deal with multiple buddies correctly
When editing adive in Subsurface-mobile we can only handle one buddy
due to the limitations of the combobox. To prevent loss of data when editing
a dive with more than one buddy we display "Multiple Buddies" in the buddy
field. This creates a special case where no changes are written to the buddy field
unless the user changes buddy for that dive.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17 13:46:15 -07:00
Dirk Hohndel
b8253bb707 QML UI: two columns on 1024x768 iPads
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-17 12:56:47 -07:00
Dirk Hohndel
4938a7a10f iOS: Don't show "No GPS source available"
We don't support GPS on iOS right now, the message is confusing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04 08:57:09 -07:00
Joakim Bygdell
4e0200863b Remove hacks regarding multiple gasmixes and cylinders
Enabling cylinder edit in Subsurface-mobile our previous hacks
regarding multiple cylinders and gasmixes must be removed.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04 07:36:43 -07:00
Joakim Bygdell
674d8331f5 QML UI: Enable cylinder edit
This adds the option to select a cylinder when adding or editing a dive.
Due to limited screen size we restrict the editing to the first cylinder only.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04 07:36:13 -07:00
Dirk Hohndel
9a41d0d8bb QML UI: set a reasonable default column width
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 11:23:44 -07:00
Dirk Hohndel
cf4a4dd98b QML UI: format numbers for Theme info
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-15 20:48:23 -07:00
Marco Martin
24718adfc3 Use kirigami built in static mode
Now kirigami needs to be built with a C++ plugin.
In cases of mobile operating systems such as iOS (and in a lesser measuse,
Android) having a proper plugin loaded at runtime may be difficult, so
statically link it together with all of its qml files compiled as a
qresource inside the static library.

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 07:56:05 -07:00
Marco Martin
4ec1a94dee make sure the ListView is the last element
since the contentItem is the default property of
ScrollablePage, putting another Item after it will change
contentItem with that one, in this case the Label

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-21 09:52:34 -07:00
Robert C. Helling
b2f327f6e0 QML UI: Not giving wrap info improves dive details on narrow screens
This prevents label text from overlapping.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-14 12:05:20 -07:00
Dirk Hohndel
0d986b9cfd QML UI: show an empty dive list with explanation
If the credentials are valid we should show the dive list. If there are no
dives, simply say so.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-14 12:03:19 -07:00
Dirk Hohndel
3f26de826a QML UI: explain that the user can create a new cloud storage account
Fixes: #1073

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-13 22:35:22 -07:00
Dirk Hohndel
07512cb2c8 QML UI: allow entering the cloud PIN on the mobile UI
Now the user doesn't need to do this on the desktop app anymore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-13 16:42:36 -07:00
Robert C. Helling
1df085240d Remove strange whitespace on right of divelist
There was a column of whitespace in the divelist that looked strange.
It was there so a trash can icon can appear. Now the trashcan overlaps
with the item.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 15:49:17 -07:00
Dirk Hohndel
22170d3991 QML UI: add debug output for dive edit save button
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 14:49:40 -07:00
Dirk Hohndel
13c55e2b26 Fix typo
Duh.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 13:41:55 -07:00
Dirk Hohndel
2755e64cea Don't quit when hitting the back button on iOS
This should finally fix this problem.
Famous last words.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 12:12:37 -07:00
Dirk Hohndel
f2e03022fa QML UI: disable GPS functionality on iOS
I still haven't figured out how to make GPS work on iOS. So let's not
pretend this works.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 12:09:49 -07:00
Dirk Hohndel
72523ff0df QML UI: somewhat improve GPS list rendering
At least now it's readable, but on the flipside there's now this odd
margin around the entries.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 07:32:07 -07:00
Dirk Hohndel
92e06007cc QML UI: update for latest Kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 07:31:53 -07:00
Joakim Bygdell
a6c8d0028e Make autocomplete work on add dive
This sets the list models for autocompleting suit, buddy and
divemaster.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-21 07:01:53 -07:00
Joakim Bygdell
6be5aba799 QML UI: hide handles for comboboxes
Hide the handles for the comboboxes, making the text input fields
look like the normal text fields.
This is left as a separate patch as there currently seems to be issues with autocomplete
on Android.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-16 11:06:24 -07:00
Joakim Bygdell
0e4e8edf78 QML UI: add comboboxes to DiveDetailsEdit
This adds autocompleting text input fields for suit, buddy and
divemaster.

[Dirk Hohndel: some whitespace cleanup]

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-16 11:05:20 -07:00
Miika Turkia
c259a8f6fe Fix typo
Ends up being "enteryour" without the space.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-05 09:28:30 -07:00
Dirk Hohndel
1a78ecf570 QML-UI: don't translate the theme test strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-04 15:10:21 -07:00
Rick Walsh
80fcd710ee QML DiveDetailsView only use one bottomlayout
Splitting the bottomlayout in two leads to columns in the grid not lining up.
It was a workaround that hopefully isn't needed any longer.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 15:22:23 -07:00
Rick Walsh
9aa95dc233 QML Set width instead of minimumWidth equal to maximumWidth
The QML manual advises against setting width property of gridLayout children
directly, and recommends setting preferred, min and/or max width instead,
letting QML do the work to determine the optimum width.  But we've found
letting QML determine gridLayout widths leads to infinite loops in too many
situations, so we're forcing a width.  It's better to force a width by setting
it directly, rather than setting minimum = maximum.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 15:21:55 -07:00
Robert C. Helling
502be2a0f1 Mark strings in qml files for translation
I did this semi-automatically: I used the script from
the previous patch and then did some manual corrections.

This marks only title: and text: tags, there might be others

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 12:59:16 -07:00
Dirk Hohndel
17355c99ff Revert "QML UI: make sure Kirigami doesn't exit by mistake"
This reverts commit 3437fc1a64.

Completely bogus.
2016-05-03 12:26:28 -07:00
Dirk Hohndel
3437fc1a64 QML UI: make sure Kirigami doesn't exit by mistake
The ApplicationWindow has the backRequested signal and if we don't accept
that event, Kirigami will exit the app which is never what we want.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 11:52:37 -07:00
Dirk Hohndel
cffa9e8d06 QML UI: show nocloud button at start
While this seemed to work fine on iOS and when compiling the QML UI on
a desktop, on Android the nocloud button wasn't shown at app start.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 10:58:32 -07:00
Marco Martin
029b524f37 Make the last column take all the available size
The grid layout had each column fixed to a width
taken as a portion of the grid width, but since
the grid has a columnSpacing defined as well,
the computation doesn't add up, helping in causing
an infinite recursion problem in the attempt of
sizing and positioning all the children of the layout

[Dirk Hohndel: heavily modified, but the basic idea remains]

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 10:40:48 -07:00
Marco Martin
7dde9b25d8 Don't wrap labels
if the text in every column can wrap anywhre,
we don't have a stable way to know how large the columns
themselves may be. This can cause an infinite recursion
while trying to figure out the width of the items, as
the sizeHint(Qt::ImplicitSize) of those labels
(Buddy, Cylinder etc) will not be stable as it will once
return the size of the text wrapped and once the size of
the text not wrapped.

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 07:13:10 -07:00
Dirk Hohndel
744e596883 QML UI: break grid layout into smaller layouts
Since the big layout causes an infinite recursion in the Qt/QML layout
engine.

Also remove a no longer accurate comment.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-01 11:22:09 -07:00
Dirk Hohndel
22e225fc77 QML UI: Left align all labels in DiveDetailsView
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-01 11:19:54 -07:00
Dirk Hohndel
4a9b97e4a9 Remove duplicate resource mention
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-30 16:16:31 -07:00
Dirk Hohndel
241dd7cb81 Merge branch 'offlineDefault' 2016-04-30 12:40:52 -07:00
Dirk Hohndel
78d420ac32 QML UI: make text match the implementation
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-30 09:46:19 -07:00
Dirk Hohndel
247358be37 Clean up comparison syntax in qml
For consistency.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-29 12:16:55 -07:00
Dirk Hohndel
15431f418e QML UI: use anchor to fill parent
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-27 15:05:37 -07:00
Dirk Hohndel
49e2113ae8 Remove hack that's no longer needed
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-27 15:05:37 -07:00
Dirk Hohndel
1cf71a476b QML UI: start out with save button visible
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-26 10:28:46 -07:00
Marco Martin
7d9c306685 Adapt to Kirigami api changes
* add new file AbstractApplicationHeader.qml to the qrc
* add new file AbstractApplicationWindow.qml to the qrc
* use new api for custom ApplicationHeader

header: Kirigami.ApplicationHeader {
	minimumHeight: 0
	preferredHeight: Kirigami.Units.gridUnit * (Qt.platform.os == "ios" ? 2 : 1)
	maximumHeight: Kirigami.Units.gridUnit * 2
}

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-26 10:06:44 -07:00
Dirk Hohndel
8946edfd92 QML UI: adapt "Manage dives" to no cloud status
If we are in no cloud mode
- allow adding dives via the menu
- enabling / disabling automatic sync makes no sense.
- if the user wants to manually sync the cloud, they need to first enter
  credentials.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:16 -07:00
Dirk Hohndel
27fccbbe4e QML UI: when chosing 'no cloud', switch to dive list
Currently we don't remember that we picked 'no cloud' across restarts.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:16 -07:00
Dirk Hohndel
6b43b3015d QML UI: turn off 'no cloud' button when not in use
This needs to be actively cleared.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:16 -07:00
Dirk Hohndel
34628f8e6d QML UI: add option to disable cloud to start screen
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:15 -07:00
Dirk Hohndel
be30724ba0 QML UI: allow switching to offline mode without valid credentials
If the user wants to work offline, they don't need validated credentials.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:15 -07:00
Dirk Hohndel
a5af2478d4 QML UI: reword the intro text to mention offline mode
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:15 -07:00
Dirk Hohndel
6af77b08b2 QML UI: rename menu entry for offline use
That really is what it boils down to.

Also removes a few stray spaces in the warning text.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22 11:59:15 -07:00
Dirk Hohndel
4e62bfa9a9 QML UI: allow changing input fields with tab/return key
This assumes a physical keyboard (e.g., iPad with BT keyboard).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21 14:00:37 -07:00
Dirk Hohndel
85560531da QML UI: don't exit on iOS
Apparently users interpret that as a crash.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21 13:27:49 -07:00
Dirk Hohndel
f3929af0e4 QML UI: add new Kirigami file
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21 11:40:02 -07:00
Dirk Hohndel
5d1fbbe57b QML UI: don't show add dive button without valid credentials
Given that currently we don't deal well with not having a git repository
that is linked to cloud storage, don't allow people to add dives unless
there are verified cloud credentials.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20 15:25:16 -07:00
Dirk Hohndel
0fcf67ca55 QML UI: make sure drawer is really closed after delete
At least one iPhone user still has the drawer pop open and prevent
them from using the undo function.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20 07:42:10 -07:00
Dirk Hohndel
a8cfa0abf5 QML UI: make multi column support work again
Due to a change in Kirigami on most tablets even in landscape mode we are
only showing one column. Because of this I missed the fact that I had
broken multi column support by mistake. Without setting the width of the
dive list it expands all the way and prevents the showing of two pages
next to each other.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 14:14:49 -07:00
Marco Martin
b3d0d9fd4e Don't put margins outside the internal ListView
put the margins only around the fullscreen delegate of the listview,
making the listview go all trough the screen edges.
This because the cutted effect when the list view is half scrolled
looks quite ugly. Making the ListView reach the borders
also moves the scroll indicator at the screen edge
where it conventionally is.

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 10:35:07 -07:00
Dirk Hohndel
660f421d6d QML UI: correctly show if we are accessing remote or local storage
This makes sure that if the user switches to offline mode they don't get
incorrect notifications that tell them that they are accessing cloud
storage.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 10:34:49 -07:00
Dirk Hohndel
ac0c1eb5e1 QML UI: prevent changing pages while showing the edit/add overlay sheet
If you switch back to the dive list by swiping horizontally you stay in
edit/add mode and then can't select a dive on the dive list. This way you
have to discard or save the edit, first.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 10:34:44 -07:00
Dirk Hohndel
1e86662e4a Remove QML files that are no longer used
The TextButton was what we used for actions very early on, and the TopBar
has now been replaced by the Kirigami header bar.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 10:34:40 -07:00
Dirk Hohndel
a807a5e8cd QML UI: show dive site on map with left action on dive details page
The icon isn't great, though.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 05:14:44 -07:00
Dirk Hohndel
c6dbbe1aac QML UI: adapt for latest Kirigami
In commit 50ebdd020e3c of the Kirigami project the syntax with which
actions are added to pages has changed. This commit tracks that, adds the
new file that was added in Kirigami and also removes the now obsolete
context menus (since we have a working back button on iOS now)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19 05:14:44 -07:00
Dirk Hohndel
628f83d5cf QML UI: only show GPS service / use current location if GPS accessible
If there is no GPS source or if permission to use it was denied, don't
offer to run the GPS service or to detect the current location when
adding or editing dives.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17 22:59:19 -07:00
Dirk Hohndel
ecf44bb2fa QML UI: quit on back key while showing dive list
Make sure you save first, though.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15 14:42:08 -07:00
Dirk Hohndel
c111c4bb02 QML UI: add elements to allow editing the GPS coordinates
This isn't hooked up, yet, but provides the UI

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15 13:22:16 -07:00
Dirk Hohndel
9f9853fc44 Hack to work around issue in current Kirigami master
Commit 339411cca69b in Kirigami master tries to reparent the OverlaySheet
to the page that it is related to. Unfortunately the heuristic used there
to find the right object assumes that every page has a contentItem
property, which our DiveDetails page doesn't have.

As a hack to work around this issue (until this is fixed upstream in
Kirigami) we simply create such a property. This commit should be
reverted once Kirigami upstream has been fixed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14 10:53:31 -07:00
Dirk Hohndel
6e6cce770b QML UI: keep QML manager and the UI in sync about selected dive
The manager can now directly update the index of the selected dive, and
the UI tells the manager the timestamp of the currently selected dive.
This allows the manager to pick the best possible dive as selected dive
if things change (for example if the dive list gets reloaded because it
changed in cloud storage).

Fixes #1009

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14 09:43:33 -07:00
Robert Helling
7bca367c57 Upon undoing a dive deletion select that dive
Before it had the next dive still selected.

Fixes #1053

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-11 12:41:41 -07:00
Dirk Hohndel
4ed369b975 QML UI: only force network access when user asks us to
So when the user taps on the manual cloud sync, we always force access to
the cloud server. Otherwise we only access the cloud server if
git_local_only isn't set.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-08 12:37:17 -07:00
Dirk Hohndel
eefda2b090 QML UI: reformat the warning message when turning off auto sync
This is silly - it should be set up so it wraps by itself...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-08 12:29:52 -07:00
Dirk Hohndel
829369c18a QML UI: make readonly fields more obvious in dive edit
Remove the border and make them look more like labels. This adds a
StyledTextField for that purpose. And while we are at it, we can make that
StyledTextField a little prettier.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-08 11:14:10 -07:00
Dirk Hohndel
df2e7c052b QML UI: make gas mix validator case insensitive
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-07 22:57:02 -07:00
Dirk Hohndel
069cb8f6c5 remove reference to non-existing object
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-07 22:57:01 -07:00
Dirk Hohndel
1004ced285 avoid dereferencing undefined object
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-07 22:57:01 -07:00
Dirk Hohndel
12f0af19cb QML UI: remove redundant heading
This makes the start page look a bit more natural

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-07 22:57:01 -07:00
Dirk Hohndel
41ab12533b QML UI: more fixes to correctly calculate page widths
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-07 22:57:01 -07:00
Dirk Hohndel
0e49d6965c QML UI: fix page width calculation for dive details
Fixes #1049

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-07 11:22:44 -07:00
Dirk Hohndel
9f7e509f9a QML UI: break the sync into explicit save local and save cloud
This makes the code much cleaner and easier to understand and should allow
us to then switch back to doing at least the local save right after we make
any changes to the data.

This commit also tries to make sure that the accessingCloud status stays
correct and consistent throughout all the various success and error paths.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-06 11:47:12 -07:00
Dirk Hohndel
3bafc2a4e6 QML UI: close the drawer right when the user taps sync manually
Having a short delay before the menu closes looks bad.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-06 11:46:09 -07:00
Dirk Hohndel
6a23e0ef66 QML UI: save with unchanged credentials returns to dive list
If the user is on the credentials page, doesn't change the credentials
but simply taps on save, they now get back to the dive list.

Fixes #1047

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-06 11:42:38 -07:00
Dirk Hohndel
f21b36d9ba QML UI: hide keyboard before saving credentials
This way the user gets to see the git notifications.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-06 11:40:34 -07:00
Dirk Hohndel
6d1effe886 QML UI: more theme information
The fonts on my Nexus 6p are way too big (especially when compared
to the fonts of the same build on an iPhone 6plus that has very
similar screen size). Simply trying to get more data...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 16:50:43 -07:00
Dirk Hohndel
8afdb665cd QML UI: dive list: smaller header above dives that aren't in a trip
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 16:02:47 -07:00
Dirk Hohndel
7101cc8c02 QML UI: remove redundant dive log title
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 15:54:01 -07:00
Dirk Hohndel
3c1d8ec291 remove code that is no longer used
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 15:53:25 -07:00
Dirk Hohndel
5dab95b364 QML UI: use Kirigami default padding
The issue with needing extra space at the top of the page has been
fixed upstream.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 15:49:31 -07:00
Dirk Hohndel
3472f20354 QML UI: dynamic page title for the root page
Subsurface-mobile is the name of the app, but not a good title for
the Dive list / Cloud credential page

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 09:52:09 -07:00
Dirk Hohndel
77e83e8843 QML UI: keep the title bar larger on iOS
This is where the back button is located on iOS.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 09:42:42 -07:00
Dirk Hohndel
710e2150c8 Add another Kirigami file and sort the private ones
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-05 07:32:53 -07:00
Dirk Hohndel
7be962bfc2 Move subsurface-core to core and qt-mobile to mobile-widgets
Having subsurface-core as a directory name really messes with
autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an
autocomplete conflict and also was inconsistent with the desktop-widget
name for the directory containing the "other" UI.

And while cleaning up the resulting change in the path name for include
files, I decided to clean up those even more to make them consistent
overall.

This could have been handled in more commits, but since this requires a
make clean before the build, it seemed more sensible to do it all in one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-04 22:33:58 -07:00