aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-04-27QML UI: set the default local repo to loadGravatar Dirk Hohndel
This will allow the user to open a repo that was stored in no cloud mode. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-27Add helper function for the consumption of loaded dive dataGravatar Dirk Hohndel
This allows us to call that part of the process from multiple places in the future. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-27QML UI: in no cloud mode, save to a default local repoGravatar Dirk Hohndel
And set that up as the default file to load at start. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-27git storage: init local repositoryGravatar Dirk Hohndel
So far we didn't do that at all, we either relied on the user manually creating a local repo, or we cloned a remote repo. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22Fix SettingsObjectWrapper to actually use the group setGravatar Dirk Hohndel
At least for the GeneralSettings group. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22Remove useless command line handling code from mobile appGravatar Dirk Hohndel
The files collected were never opened, this all is just the result of a copy and paste job that clearly was never fully thought through. Also remove support for ancient libgit2 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22QML UI: adapt "Manage dives" to no cloud statusGravatar Dirk Hohndel
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-22QML UI: when chosing 'no cloud', switch to dive listGravatar Dirk Hohndel
Currently we don't remember that we picked 'no cloud' across restarts. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22QML UI: turn off 'no cloud' button when not in useGravatar Dirk Hohndel
This needs to be actively cleared. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22QML UI: add option to disable cloud to start screenGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22QML UI: allow switching to offline mode without valid credentialsGravatar Dirk Hohndel
If the user wants to work offline, they don't need validated credentials. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22QML UI: reword the intro text to mention offline modeGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-22QML UI: rename menu entry for offline useGravatar Dirk Hohndel
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-21QML UI: allow changing input fields with tab/return keyGravatar Dirk Hohndel
This assumes a physical keyboard (e.g., iPad with BT keyboard). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21QML UI: don't exit on iOSGravatar Dirk Hohndel
Apparently users interpret that as a crash. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21Fix Android keyboard issue as recommended by KirigamiGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21QML UI: add new Kirigami fileGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20Don't calculate the 9 minute averageGravatar Dirk Hohndel
We don't do the "smoothed" profile anymore (and haven't for years), so no need to calculate the data. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20Only do 9 minute interval for min/max/avgGravatar Dirk Hohndel
We don't use 3 and 6 minute values anywhere, so why calculate them. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20Fix 3-, 6- and 9-minute min/max calculationsGravatar Linus Torvalds
Make them use indices into the plot-info, fix calculation of average depth, and fix and add comments. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20Android build: use static libssl / libcryptoGravatar Dirk Hohndel
Android M does not allow using those as shared libraries. See #1029 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20QML UI: don't show add dive button without valid credentialsGravatar Dirk Hohndel
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-20QML UI: make sure drawer is really closed after deleteGravatar Dirk Hohndel
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-19QML UI: make multi column support work againGravatar Dirk Hohndel
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-19Don't put margins outside the internal ListViewGravatar Marco Martin
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-19QML UI: correctly show if we are accessing remote or local storageGravatar Dirk Hohndel
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-19QML UI: prevent changing pages while showing the edit/add overlay sheetGravatar Dirk Hohndel
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-19Remove QML files that are no longer usedGravatar Dirk Hohndel
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-19QML UI: show dive site on map with left action on dive details pageGravatar Dirk Hohndel
The icon isn't great, though. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-19QML UI: adapt for latest KirigamiGravatar Dirk Hohndel
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-19QML UI: always show the time stamp when logging dataGravatar Dirk Hohndel
This should help understand some of the issues with git storage and GPS fixes better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-18Import picture URLs from divelogs.deGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-18Fix broken Bluetooth supportGravatar Rick Walsh
This partially reverts Commit 39313c5 Reported-and-analyzed-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17QML UI: only show GPS service / use current location if GPS accessibleGravatar Dirk Hohndel
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-17QML UI: make the state of the GPS service available to QMLGravatar Dirk Hohndel
This exposes a locationServiceAvailable property to QML and keeps it in sync with the corresponding state in the GpsLocation widget. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17With patched Qt 5.6 for iOS correctly handle disabled GPS sourceGravatar Dirk Hohndel
Qt 5.6.0 is broken when it comes to using CoreLocationService on iOS. It doesn't even check if the location service is enabled. My patches fix that and make Qt set an error code right after service creation. Having the service creation fail is actually the wrong thing to do because then Qt switches over to GeoClue and that really isn't helpful for our needs here. Additionally, Qt 5.6.0 without my patches doesn't follow the REQUIRED flow of using the location service as it does not check the access permissions before accessing the GPS service - without doing so the GPS service will not run in the background. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17GPS provider: change haveGPS status if GPS source returns errorGravatar Dirk Hohndel
If the GPS source returns an error that could be an indication that the user hasn't given us permission to use it, so switch our status to NOGPS. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17GPS provider: track tristate information for GPS sourceGravatar Dirk Hohndel
Initially we don't know if we have a source. After that we may think that we have one, or not have one (but that can actually change while the program is running if the user, for example, turns the source off or switches to airplane mode). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17iOS build: include the libraries for the phone simulatorGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15QML UI: quit on back key while showing dive listGravatar Dirk Hohndel
Make sure you save first, though. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15QML UI: rewrite the commitChanges functionGravatar Dirk Hohndel
I couldn't figure out how to break this down into small, useful commits. Part of the problem is that I kept going while working on this and as you can see from looking at the commit, diff tries so hard to find small code fragments that moved around, that the diff overall becomes quite unreadable and it seemed impossible to recreate the sequence of steps after the fact. It all started with adding the parsing for the GPS coordinates. But while testing that code I found several issues with the rest of the function. Most importantly it seemed ridiculous that we carefully tried to match the texts that the DiveObjectHelper would create for the various fields, instead of just using the DiveObjectHelper to do just that. And once I had converted that I once again realized just how long and hard to understand that function was getting and decided to break out some of the more complex parts into their own helper functions. But of course all this didn't happen in this logical, structured, ordered way. Instead I did all of these things at the same time, testing, rearranging, etc. So in the end I went with one BIG commit that does all of this in one fell swoop. This adds four helper functions to deal with start time/date, duration, location and gps coordinates, and depth of the dive. To avoid mistakes when dealing with the GPS coordinates, there's another helper to encapsulate the creation of the dive site and we switched to a current GPS location. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15QML UI: add elements to allow editing the GPS coordinatesGravatar Dirk Hohndel
This isn't hooked up, yet, but provides the UI Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15QML UI: fix the save to cloud logicGravatar Dirk Hohndel
There were several logical flaws here. Ugh. Don't save things if there are no unsaved changes, if we haven't initialized this repository from the cloud or if we are already saving things. Then, once we decide that we should save, first always save to the local cache and then check if we should save to the cloud and do so if requested. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-15QML UI: stop using "--" for empty stringsGravatar Dirk Hohndel
I can't remember why we started doing this, but at this point I find it just weird. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14Copy coordinates when renaming siteGravatar Miika Turkia
Let's not discard our GPS location when editing site name on mobile. Fixes #1051 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14QML UI: don't try to scroll to dive at time 0Gravatar Dirk Hohndel
If no timestamp is available, just start at dive 0. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14Set default build number for apk buildingGravatar Miika Turkia
Having build number as mandatory parameter seems unnecessary, thus setting default value (used for andoird:versionCode) to 0. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14Fix initial build of APKGravatar Miika Turkia
Running subsurface/packaging/android/build.sh after deleting subsurface-mobile-build-arm directory fails for me due to missing ssrf-version.h file. Just ignore if it doesn't exist. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14Hack to work around issue in current Kirigami masterGravatar Dirk Hohndel
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-14QML UI: keep QML manager and the UI in sync about selected diveGravatar Dirk Hohndel
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>