summaryrefslogtreecommitdiffstats
path: root/mobile-widgets
AgeCommit message (Collapse)Author
2017-03-26MOBILE: Display pO2 and Setpoint for CCR divesGravatar Joakim Bygdell
For CCR dives we want to display the setpoint and pO2 information, due to the limited screensize we have to remove the temperature graph or the view will be to cluttered. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-03-24Subsurface-mobile: do send decimal GPS to GoogleGravatar Jan Mulder
Sending nicely readable formatted coordinates to Google Maps does not result in a correctly positioned map. Google likes unreadable decimal format. Little hacky solution. Added a gps_decimal attribute, populate that with the standard function for format a coordinate to string, but reset the preferences value temporarly so that it always converts it to decimal style. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-03-24mobile: the infamous enumerate problemGravatar Jan Mulder
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-18QML UI: enable caching of the details viewGravatar Dirk Hohndel
This way the dive on either side should be cached. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18QML UI: don't explicitly position viewGravatar Dirk Hohndel
Instead have the view follow the currentItem. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18QML UI: make profile drawing less verboseGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18QML UI: don't unset the currentIndex in the dive listGravatar Dirk Hohndel
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-18QML UI: don't clipGravatar Dirk Hohndel
At least that's what the QML documentation recommends. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18QML UI: small cleanupsGravatar Dirk Hohndel
Remove unused signal handler. Small whitespace cleanup. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18QML UI: don't access members of undefined objectsGravatar Dirk Hohndel
If we don't have a currentItem, don't try to access its members. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-18QML UI: small clarificationGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-11Sync unit system to Subsurface-mobile (part 2)Gravatar Dirk Hohndel
Missed a spot. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-11Correctly sync unit system to Subsurface-mobileGravatar Dirk Hohndel
We were doing the right thing switching from metric to imperial, but in order to swtich back you had to restart. Now it works both ways. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-03-08Change calls to rint into lrint avoiding conversion warningsGravatar Jeremie Guichard
Using gcc option "-Wfloat-conversion" is useful to catch potential conversion errors (where lrint should be used). rint returns double and still raises the same warning, this is why this change updates all rint calls to lrint. In few places, where input type is a float, corresponding lrinf is used. Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2017-03-04dive master > divemasterGravatar Martin Měřinský
2017-02-21Remove space before colon.Gravatar Martin Měřinský
2017-02-05Merge informational_prefs into git_prefsGravatar Joakim Bygdell
There is no need to have two variables for the same purpose. [Dirk Hohndel: changed to keep the two separate functions as otherwise we no longer parse existing repos successfully] Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-05MOBILE: Read profile settings from gitGravatar Joakim Bygdell
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-01-29QML UI: Parse multiple buddies when editing a diveGravatar jbygdell
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-22QML UI: allow magic phrase for multiple buddies to be localizedGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-22QML UI: correctly test if there are multiple buddiesGravatar Dirk Hohndel
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-22QML UI: prevent modification of Multible Buddies textGravatar Dirk Hohndel
"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-21QML UI: move 'No dives in dive list' downGravatar Dirk Hohndel
Otherwise it overlaps with the page title. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21Revert "QML UI: build against latest Kirigami"Gravatar Dirk Hohndel
This reverts commit a842e44b685dbb7e34df317a8beacff747cee6bd.
2017-01-21Revert "QML UI: steps towards working with Kirigami 2"Gravatar Dirk Hohndel
This reverts commit 53ce3ce3e3cc38555bf7f2a1e7540638e5d294f8.
2017-01-01Update from 2016 to 2017. Happy new year!Gravatar Henrik Brautaset Aronsen
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27Remove opacity callsGravatar Tomaz Canabrava
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-27QML UI: steps towards working with Kirigami 2Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27QML UI: build against latest KirigamiGravatar Dirk Hohndel
But of course this doesn't work, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-20QML UI: smaller fonts on narrow screensGravatar Dirk Hohndel
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-17QML UI: deal with multiple buddies correctlyGravatar Joakim Bygdell
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-17QML UI: two columns on 1024x768 iPadsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Fix some warningsGravatar Dirk Hohndel
At least the warnings about size potentially being uninitialized seem correct and valid. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04iOS: Don't show "No GPS source available"Gravatar Dirk Hohndel
We don't support GPS on iOS right now, the message is confusing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04Remove hacks regarding multiple gasmixes and cylindersGravatar Joakim Bygdell
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-04QML UI: Enable cylinder editGravatar Joakim Bygdell
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-08-27Settings update: Simplify code by using the SettingsObjectHelperGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16QML UI: set a reasonable default column widthGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-15QML UI: format numbers for Theme infoGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14Use kirigami built in static modeGravatar Marco Martin
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-10Unify handling of QDateTime time zone informationGravatar Robert C. Helling
Subsurface uses "local time" which in particular means we never display time zone information to the user. The user (and our file format) only sees times like 5pm or 17:00. A better name than local time (which could mean "local at the dive spot) would be "watch time", the time displayed by the diver's watch when she entered the water. Internally, we store times as time_t, seconds since Jan 1 1970 0:00 UTC. Our convention for conversion between 5pm and time_t as always been to treat 5pm as if it were UTC. Then confusion arose since Qt's QDateTime (which is tied to UI elements like QTimeEdit and similar) is time zone aware and by default assumes the system time zone. So when we set a QDateTime to 5pm and then later convert it to time_t we have to take care about the difference between UTC and the system time zone. This patch unifies our solution to this problem: With it, we set all QDateTime's time zone to UTC. This means we don't have to correct for a time zone anymore when converting to time_t (note, however, the signedness issue: Qt's idea of time_t is broken since it assumes it to be unsigned thus not allowing for dates before 1970. Better use the millisecont variants). We only need to be careful about time zones when using the current time. With this convention, when assigning the current time to a QDateTime, we need to shift for the time zone since its value in UTC should actually be the watch time of the user who is most likely used to the system time zone. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-21make sure the ListView is the last elementGravatar Marco Martin
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-17QML UI: correctly check cloud verification statusGravatar Dirk Hohndel
Oops. That's embarrassing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-14QML UI: Not giving wrap info improves dive details on narrow screensGravatar Robert C. Helling
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-14QML UI: show an empty dive list with explanationGravatar Dirk Hohndel
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-13QML UI: explain that the user can create a new cloud storage accountGravatar Dirk Hohndel
Fixes: #1073 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-13QML UI: allow entering the cloud PIN on the mobile UIGravatar Dirk Hohndel
Now the user doesn't need to do this on the desktop app anymore. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-13QML UI: prepare to enter the cloud PIN on mobile UIGravatar Dirk Hohndel
This just creates the properties to connect QML and C++ code. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-13QML UI: serialize checking credentialsGravatar Dirk Hohndel
If we run the backend to verify credentials without waiting for it to finish, the redirect might happen before we know if the credentials are invalid, unverified or verified - which will cause us to give the wrong information to the user. Yes, this additional wait is annoying, but I can't come up with a better way to do this and avoid incorrect information. At least the UI isn't hung while we wait. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12QML UI: don't proceed unless cloud credentials are verifiedGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>