summaryrefslogtreecommitdiffstats
path: root/mobile-widgets/qml/Settings.qml
AgeCommit message (Collapse)Author
2021-01-19mobile/UI: simplify and cleanup SettingsGravatar Dirk Hohndel
This is both cleaner and looks better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-19mobile/UI: correctly scale UI without restartGravatar Dirk Hohndel
The fact that the rescaling in the settings gave different results from what we got after a restart really should have been a dead giveaway that the code was fundamentally flawed. With this, if the user picks smaller, regular, or larger they now always get the same, consistent values for gridUnit and font sizes. This also gives up on the idea that we can just force the gridUnit to be smaller to make things work if the font (which drives the gridUnit) is too big for a screen. That fundamentally cannot work and gives a horrible UI experience. So instead simply warn the user and continue with matching font / gridUnit, which will still give a bad experience, but at least we told the user about it and didn't pretend this was ok or fixable. Finally, this gets the factors right when switching from smaller to larger or back, without stopping at regular on the way. One odd side effect of this code is that under certain conditions (number of columns changes) the display window when running mobile on desktop will resize. That's kind of odd, but as that is not /really/ our target platform, for now I'd consider it acceptable. But it does deserve more investigation. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-19mobile/UI: offer more font sizesGravatar Dirk Hohndel
As it turns out, we used to get the font scaling completely wrong. As a result we got got ~72% and ~132% instead of the intended 85% and 115%. So now people have both options, in each case with matching gridUnit (and therefore visual spacing), and font size. Also visualize the font size by rendering the button text accordingly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-19mobile: add GF fields for ceiling calculationGravatar Doug Junkins
Adds fields to the advanced preferences page to modify GFLow and GFHigh for the Buhlmann decompression model for calculating ceilings. Updated preferences code to set the Buhlmann parameters in core/deco.c when the GF prefs are updated. Signed-off-by: Doug Junkins <douglas.junkins@gmail.com>
2021-01-12mobile/UI: small adjustments, using the slim combo boxGravatar Dirk Hohndel
This changes most readonly combo boxes to use the smaller, more modern looking TemplateSlimComboBox and makes some layout adjustments on a few pages to overall create a better UI. A lot of this is just cleaning up things that were rather rough in the first place. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-10mobile/UI: add settings to display profile ceilingGravatar Dirk Hohndel
So far only DC provided ceiling information was available and visibility of that was simply inherited via cloud storage from the desktop. With this the user can set both DC reported and calculated ceilings in the advanced settings in the mobile app. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-21mobile/settings: attempt to fix the layoutGravatar Dirk Hohndel
The hardcoded widths with fixed values was just flat our broken and created all kinds of strange artifacts. But even with this somewhat more idiomatic approach this still isn't perfect - on wider screens it doesn't shrink back to the minimum column width. But that seems like a bit of a corner case. Overall this feels like a huge improvement. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-01mobile: remove filter settingsGravatar Berthold Stoeger
These are not used anymore. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-02-09Correcting typos of the word celsiusGravatar Jason Bramwell
Corrected typo of the word celsius in three files: core/import-csv.c core/divefileter.h mobile-widgets/qml/Settings.qml These were spelled as celcius but corrected these to celsius. The 'core files were just comments but the mobile-widgets file would be 'active' code. Reported by: tormento <turment@gmail.com> Signed-off-by: Jason Bramwell <jb2cool@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-08mobile/settings: add UI for single column preferenceGravatar Dirk Hohndel
This is placed in the Advanced section as I expect this to be rather unusual for people to enable. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: fix the width of cylinder drop downGravatar Dirk Hohndel
The GridLayout isn't part of a Layout, so set its width and have the combo box fill it's part of the grid. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: correctly draw the size buttonsGravatar Dirk Hohndel
With the columnSpan 3 (in a grid with only two columns) they were drawn on top of the drop down for the theme. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: refer to the correct theme objectGravatar Dirk Hohndel
This was missed when switching object names. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: white space cleanupGravatar Dirk Hohndel
Some odd empty lines and an unnecessary line break. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: make the color swatches work as color swatchesGravatar Dirk Hohndel
In a color swatch the color of the body of the swatch is the one that matters. And we need to ensure readability. So for each pair of colors, use the combination in the regular order (color/textcolor) for the background swatch, and inverted for the text swatch. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: correctly set label backgroundGravatar Dirk Hohndel
The TemplateLabel comes with a set background color which creates a very odd effect and makes the text generally unreadable in the color swatches. Fix this by matching the color of the parent rectangle. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-06mobile/settings: remove confusing frame around column titlesGravatar Dirk Hohndel
These are not color swatches like the rest, these are the column titles, so don't draw them the same way as the color swatches. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-02-03mobile-widgets: switch to new subsurfaceThemeGravatar jan Iversen
Remove subsurfaceTheme from main.qml Replace ThemeNew -> subsurfaceTheme change registration ThemeNew -> subsurfaceTheme Signed-off-by: jan Iversen <jan@casacondor.com>
2020-02-03mobile-widgets/qml/settings.qml: show all colorsGravatar jan Iversen
Show all colors in a theme, allowing user to change theme. This is preparation for allowing users to click on the individual colors and change them. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-02-03mobile-widgets/qml: use new templates in converted pagesGravatar jan Iversen
Use the TemplatePage and TemplateButton in the converted pages. In order to avoid a bigger search/replace all other pages are left untouched (for now). Signed-off-by: jan Iversen <jan@casacondor.com>
2020-02-03mobile-widgets/qml: add TemplateButtonGravatar jan Iversen
Do "git mv SsrfButton TemplateButton", and search/replace all uses. The general idea of the templates are to secure common layout, but also to isolate the Kirigami parts (slowly) in the templates. Signed-off-by: Jan Iversen <jani@apache.org>
2020-01-30mobile-widgets: do not use fontmetric for heightGravatar jan Iversen
In order to remove fontMetrics from QML, replace references (height) in DownloadFromDiveComputer and Settings Add include kirigami as needed Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-30mobile-widgets: move font property to themeInterfaceGravatar jan Iversen
Move setting of font properties used throughout to themeInterface. Add new settings "currentScale". The properties are kept in main (subsurfaceTheme) in order not to do a big search/replace. Update settings to use currectScale and signal changes in themeinterface. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-30mobile-widgets: move basePointSize to themeinterfaceGravatar jan Iversen
Check defaultfont and calculate basepointsize in themeinterface instead of in QML. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-28mobile-widget/qml/Settings.qml: correct theme switchesGravatar jan Iversen
Replace subsurfaceTheme with ThemeNew, since there are still 2 objects subsurfaceTheme in main.qml and ThemeNew in themeinterface.* Replace theme color references with ThemeNew, as they are no longer available in main.qml (subsurfaceTheme). Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-24mobile-widgets/qml: add radiobuttons for single units.Gravatar jan Iversen
For METRIC and IMPERIAL, show the radiobuttons disabled For PERSONALIZED, allow user to select individual units. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-24mobile-widgets: use radiobuttons for UnitsGravatar jan Iversen
Change to radiobuttons for units, and add a third choice (personalize). Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-20mobile UI: add ability to unset the default cylinderGravatar Dirk Hohndel
This was requested in a 'bug report' by a user. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-20mobile-widgets/qml: use strongly typed units in QMLGravatar jan Iversen
Change Settings and DivePlannerSetup to use the strongly typed enums Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets: move rest of gridlayout to section advancedGravatar jan Iversen
Create section advanced around the remaining gridlayouts, and adjust. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: create units section and move unit_settingsGravatar jan Iversen
Move gridlayout unit_settings to TemplateSection units, without changing anything (apart from adding a visible: attribute). Removed first label in units_settings, since it is the title of the section Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: create theme section and move themesettingsGravatar jan Iversen
Move gridlayout themesetting to TemplateSection theme and use the TemplateTitle. Also switch from using PrefDisplay.mobile_scale to subsurfaceTheme.currentScale Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: move dive computers to general section.Gravatar jan Iversen
move gridlayout divecomputers to TemplateSection general, without changing anything (apart from adding a visible: attribute and replacing the Rectangle used to draw a line at the bottom with a TemplateLine on top. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: move default cylinder to general section.Gravatar jan Iversen
move gridlayout defaultCylinder to TemplateSection general, without changing anything (apart from adding a visible: attribute and replacing the Rectangle used to draw a line at the end with a TemplateLine at the top). Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: move cloudSettings to general section.Gravatar jan Iversen
move gridlayout cloudSettings to TemplateSection general, without changing anything (apart from adding a visible: attribute and removing the rectangle used to create a line). Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: add General section to SettingsGravatar jan Iversen
ColumnLayout does not work well with TemplateSection, so change to Column Add TemplateSection "General Settings" "General Settings" are open when visiting page first time. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: bump versions for settingsGravatar jan Iversen
bump import versions to reflect Qt 5.12 and remove unused imports remark QtQuick 1 and QtQuick.Controls 1 are depreciated since Qt 5.12 Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: settings Control.TextEdit -> TemplateTextEditGravatar jan Iversen
Replace Control.TextEdit with TemplateTextEdit, in order to use common font/color scheme. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: settings Control.comboBox -> TemplateComboBoxGravatar jan Iversen
Replace Control.ComboBox with TemplateComboBox, in order to use common font/color scheme. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-19mobile-widgets/qml: settings Control.label -> TemplateLabelGravatar jan Iversen
Replace Control.label with TemplateLabel, in order to use common font/color scheme. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-18mobile-widgets/qml: use strongly typed CloudStatusGravatar jan Iversen
Replace CloudStatus.<value> with backend.<value> as part of making enum sharing between C/C++ and QML more robust. Replace PrefCloudStorage.verification_status with backend.verification_status to use the strongly typed function. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-17mobile-widgets/qml: change PrefGeneral -> PrefEquipmentGravatar jan Iversen
default_cylinder was moved from PrefGeneral to PrefEquipment, but Settings was not updated update Settings. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-04mobile-widgetes/qml: standardize QML/C++ interfaceGravatar jan Iversen
Do not use a.set_b(value); it works, but it introduces yet another way of using the QML/C++ interface, furthermore the function might not be called set_b in some future, which is the reason the function is define in Q_PROPERTY Use a.b = value, that respects Q_PROPERTY, and is slightly more performant, most importantly it's like all the other settings so noone starts wondering why this is special. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-29mobile-widgets/qml: remove prefs.showPinGravatar jan Iversen
prefs.showpin is the same as PrefCloudStorage.cloud_verification_status === CloudStatus.CS_NEED_TO_VERIFY but is actually implemented as a separate variable. Removing showPin in order to limit use of QMLPrefs, which is the overall goal. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-29mobile-widgets: credentialStatus() -> cloud_verification_status()Gravatar jan Iversen
Replace all credentialStatus() with cloud_verification_status() Where both prefs.credentialStatus and PrefCloudStorage.cloud_verification_status are being set, remove prefs.credentialStatus. These replacements are valid since credentialStatus() is a simple envelope over cloud_verification_status(). Also remove qmlPrefs::credentialStatus() from qmlPrefs (mostly to ensure no replacements was forgotten). Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-28mobile-widgets/qml: remove cancelCredentialsPinSetup() from SettingsGravatar jan Iversen
For now just copy the functionality into Settings.qml, this is part of the qmlprefs cleanup. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-28mobile-widgets/qml: correct reference to credentialStatusGravatar jan Iversen
PrefCloudStorage uses cloud_verification_status where qmlprefs uses credentialStatus Corrected reference. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-18mobile-widget: use qPref variableGravatar jan Iversen
change prefs.cloudUserName to PrefCloudStage.cloud_storage_email. This is slightly more effective (direct instead of indirect), and reduces the use of prefs. This is part of limiting the use of prefs. (which is a precessor to qPref) to the login process, and ultimately remove it. Signed-off-by: Jan Iversen <jani@apache.org>
2019-12-18mobile-widget: correct set of default_cylinderGravatar jan Iversen
set_default_cylinder is accepted, because it is defined in Qt Meta system, however the call is never carried out, because the Q_INVOKE macro is missing Change PrefGeneral.set_default_cylinder(...) which is a function call to PrefGeneral.default_cylinder = ... which is a builtin assignment Signed-off-by: Jan Iversen <jani@apache.org>
2019-11-22Mobile: make it clear that 'all BT devices' setting is temporaryGravatar Dirk Hohndel
Making this persistant creates a very unpleasant user experience. And if a dive computer needs this setting, we really want people to report this to us so we can fix it. Fixes: #2358 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>