aboutsummaryrefslogtreecommitdiffstats
path: root/mobile-widgets
AgeCommit message (Collapse)Author
2020-02-04Cleanup: rename plannerShared to PlannerSharedGravatar Berthold Stoeger
Usually, we use PascalCase (i.e. camelCase with a capital letter at the start) for class names. For consistency, let's do it here as well. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-01-31Cleanup: remove QMLInterface::instance()Gravatar Berthold Stoeger
QMLInterface::instance() is only used in one single place. This makes the whole notion of having a global instance of the object moot, isn't it? Simply make the object static to the function that uses it, which guarantees that the object will be created when the function is called. I.e. the same behavior is retained with less complexity. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-01-31Cleanup: connect QMLInterface signals in constructorGravatar Berthold Stoeger
It appears weird to connect the QMLInterface signal/slot combination in a static helper function. This generates a bunch of lambdas that call the instance() function. Instead, simply do the connections in the constructor as we do it in numerous other places. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-01-30mobile-widgets/qml/divesummary.qml: detect change in unitsGravatar jan Iversen
When either length or volume unit is changed, the text needs to be changed. Let signal lengthChanged and volumeChanged cause a recalcation and therefore new text. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-30mobile-widgets: emit signals for each colorGravatar jan Iversen
Emit signals for each standard color when theme changes. The iconStyle property was changed from being a constant, because it can change, and thus a signal was added. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-30mobile-widgets: correct empty linesGravatar jan Iversen
Remove extra empty lines in themeinterface.cpp just a cleanup, no functionality change. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-30mobile-widgets/qml: move fontMetrics to ThemeTestGravatar jan Iversen
fontMetrics is no longer used in production code, but still in the theme test page. Isolate fontMetrics in ThemeTest page. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.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-30mobile/dive summary: rewrite statistics codeGravatar Dirk Hohndel
There were quite a few issues with the code - clearly a complete failure of code review. - all values were '??' if a period contained no dives - imperial units were not calculated at all - significant truncation and data loss in the way totals were added as meters and minutes instead of the higher precision data that is available - several issues in striing conversion methodology, e.g. missing zero padding for minutes - missing maxSac - incorrectly calculated avgSac - incorrectly claculated number of EANx dives - hard to read code with most variables named 'temp' Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-29mobile-widgets/qml: Fix Kirigami error.Gravatar jan Iversen
Solve kirigami error: INFO: qrc:/org/kde/kirigami/ScrollablePage.qml:187: TypeError: Cannot assign to read-only property "parent". Kirigami.scrollPage does not allow a ListModel be defined, even though it is allowed in QtQuick. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-28mobile-widgets/qml: add icon to dive summary entryGravatar jan Iversen
Add sigma icon to menu entry "dive summary". Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-28mobile icons: add sigma svgGravatar jan Iversen
Add svg sigma to be used for dive summary. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-28mobile-widgets: add dive_mode variable to QMLGravatar jan Iversen
Add dive_move variable to qmlinterface, to make it aviable to 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-28themeinterface: move registration to themeinterfaceGravatar jan Iversen
Move setup call and registration from subsurface-helper to themeInterface, in order to keep the registration where the code are. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-27mobile-widgets/qml: integrate DiveSummary in menu.Gravatar jan Iversen
Add DiveSummary to globalDrawer Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-27mobile-widgets/qml: add DiveSummary.qmlGravatar jan Iversen
Add DivePlannerSummary, a page to show in dive centers. Allow user to select period for the 2 colums in DiveSummary. Default is "Total" and "3 month", but allowing the user to change these, make it a very simple tool to view how the user progresses. Variables are taken from Backend. [Dirk Hohndel: adjusted text strings as these aren't really months] Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-27divesummary: add DiveSummary class to shared and backendGravatar jan Iversen
Create DiveSummary class in backend-shared and make the DiveSummary calculation results available to QML. This adds a loop over all dives (could have been done with a model, but the models available to mobile are very limited, so use the basic way). [Dirk Hohndel: renamed the results variable and combined a couple of commits] Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-27mobile-widgets/qml: add background color propertyGravatar jan Iversen
Add property "colorBackground" to allow instances of templateLabel to have background color overwritten. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-27mobile-widgets/qml: correct spelling errorGravatar jan Iversen
Correct spelling error in TemplateTitle. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-26code cleanup: whitespace cleanupGravatar Dirk Hohndel
A lot of whitespace issues have snuck in recently, this just cleans those up so that I don't need to hand-edit patches every time I touch this file (since QtCreator automatically fixes whitespace when I make changes). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-26code cleanup: QLatin1Literal is deprecated in Qt 5.14Gravatar Dirk Hohndel
Simply replace it with QLatin1String. There is a tiny performance penalty, but none of that code would care. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-26mobile-widgets/qml: integrate ThemeNew in qmlGravatar jan Iversen
Update Settings to use ThemeNew (for theme change) Reduce subsurfaceTheme in main Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-26mobile-widgets: add themeInterfaceGravatar jan Iversen
Currently subsurfaceTheme resides in main.qml, where it does not naturally belong. Add C++ class that will replace subsurfaceTheme in main.qml in a 1-1 manner. This opens future posibilities - on top of the 3 themes, allow users to select colors/fonts - add stylesheets to Template* components - make day/night shift automatically. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-25mobile-widgets/qml: correct backgroundcolor in setupGravatar jan Iversen
Use subsurfaceTheme in DivePlannerSetup. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-25mobile-widgets: update design of TemplateSectionGravatar jan Iversen
Update size and colors. Changing the TemplateSection, automatically changes all sections in the system, converted to the new layout. The styling would be better in a style/theme class, but subsurfaceTheme is in main.qml and not in a C++ class, so for now use primitive styling. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-25mobile-widgets: update design of TemplateSpinBoxGravatar jan Iversen
The standard SpinBox uses far too much real estate. The new SpinBox have a smaller footprint, and more visual effect. Changing the TemplateSpinBox, automatically changes all spinboxes in the system, converted to the new layout. The styling would be better in a style/theme class, but subsurfaceTheme is in main.qml and not in a C++ class, so for now use primitive styling. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-25mobile-widgets/qml: connect QML to Backend.Gravatar jan Iversen
Add property pressureUnit to use as BAR/PSI text. Added slot to catch when user changes BAR <-> PSI. Add Backend variables to Planning section. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25diveplanner: add surface_segment to plannersharedGravatar jan Iversen
Add surface_segment to plannerShared and then update desktop-widgets. Signed-off-by: jan Iversen <jan@casacondor.com> desktop-widgets: use plannerShared for surface_segment Change getter/setter for surface_segment to plannerShared, in order to share the conversion with mobile diveplanner Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25mobile-widgets: make planning vars available to QML.Gravatar jan Iversen
Update qmlinterface.h with the planning variables (calling plannerShared). Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25mobile-widgets: make DECO_MODE and DIVE_MODE available to QMLGravatar jan Iversen
Duplicate deco_mode to DECO_MODE, in order to make it available to QML. Duplicate enum divemode_t to DIVE_MODE in order to make it available to QML. Only part of the enum is made available. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25mobile-widgets/qml: correct reference in TemplateComboBoxGravatar jan Iversen
theme is not available, use older subsurfaceTheme. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25mobile-widgets/qml: graphic layout Planner (Planning)Gravatar jan Iversen
Add all needed graphical elements for DivePlannerSetup planning section. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25diveplanner: add last gas variables to QMLInterfaceGravatar jan Iversen
Add bottompo2, decopo2 and bestmixend to QMLInterface Bestmixend in gas options changing with meter/feet Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25diveplanner: adjust sac-factor calculation.Gravatar jan Iversen
The real values are 1.0 to 10.0, but QML needs int so mobile gets values 10.0 to 100.0 add sacfactor() to QMLInterface and update QML. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25dive planner: correct bottomsac/decosac calc.Gravatar jan Iversen
Move conversion cuft <-> liter from desktop-widget/diveplanner.cpp to plannerShared, to facilitate the same results in mobile diveplanner Use Backend for bottomsac/decosac and update to check for switch LITER <-> CUFT Add bottomsac/decosac to QMLinterface. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-25diveplanner: call planner model directly for simple variables.Gravatar jan Iversen
Variables without conversion, do not need to pass plannerShared (due to the QML interface). Simple variables do not pass plannerShared, but diveplanner in desktop-widgets and qmlinterface in mobile-widgets call the implementation directly. Signed-off-by: jan Iversen <jan@casacondor.com>
2020-01-24mobile-widgets/qml: add slot for volume changeGravatar jan Iversen
Catch when volume type is changed and update bottomsac/decosac. Also update text l/min <-> cuft/min and add a space between value and unit. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-24mobile-widgets/qml: Add drop_stone to ratesGravatar jan Iversen
Drop_stone_mode, when set, affect the descent rate, so place it alongside the descent rate. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-24mobile-widgets: add simple part of remaining planner variablesGravatar jan Iversen
Add simple variables, where getter uses prefs. and setters call directly to set function (without using plannerShared). rename last_stop --> last_stop6m Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-24mobile: move dive planner notes access to pure interfaceGravatar jan Iversen
Make notes rates available to QML through the Backend interface. Remove the corresponding variables from plannerShared. Getters are from prefs. while setters are linked to diveplan model. Remark: signals from qPrefDivePlanner is used, because the diveplanner model sets qPrefDivePlanner but do not issue special signals. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-24mobile-widgets/qml: use Kirigami Units instead of hardcoded valuesGravatar jan Iversen
This allows for better scaling of the UI. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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-widgets/qml: use Backend instead of PlannerGravatar jan Iversen
Use Backend instead of Planner for ascent/descent variables. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-20mobile-widgets: add asc/desc rates to pure interfaceGravatar jan Iversen
Make ascent/descent rates available to QML through the Backend interface. Remark signals from qPrefDivePlanner is used because the diveplanner model sets qPrefDivePlanner but does not issue its own signals. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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-20core/settings:: remove string functions for unitsGravatar jan Iversen
Remove string version of unit_system, duration_units, length, pressure, temperature, vertical_speed_time, and volume, including tests and make signals strongly typed in C++ Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>