aboutsummaryrefslogtreecommitdiffstats
path: root/mobile-widgets
diff options
context:
space:
mode:
Diffstat (limited to 'mobile-widgets')
-rw-r--r--mobile-widgets/qml/Preferences.qml43
-rw-r--r--mobile-widgets/qml/main.qml1
-rw-r--r--mobile-widgets/qmlmanager.cpp11
-rw-r--r--mobile-widgets/qmlmanager.h6
4 files changed, 61 insertions, 0 deletions
diff --git a/mobile-widgets/qml/Preferences.qml b/mobile-widgets/qml/Preferences.qml
index e7d50f7de..2a12e71ac 100644
--- a/mobile-widgets/qml/Preferences.qml
+++ b/mobile-widgets/qml/Preferences.qml
@@ -321,6 +321,49 @@ Kirigami.ScrollablePage {
text: qsTr("Save detailed log of interaction with the dive computer")
}
}
+ GridLayout {
+ id: developer
+ columns: 2
+ width: parent.width - Kirigami.Units.gridUnit
+ Kirigami.Heading {
+ text: qsTr("Developer")
+ color: subsurfaceTheme.textColor
+ level: 4
+ Layout.topMargin: Kirigami.Units.largeSpacing
+ Layout.bottomMargin: Kirigami.Units.largeSpacing / 2
+ Layout.columnSpan: 2
+ }
+
+ CheckBox {
+ id: developerButton
+ checked: manager.developer
+ onClicked: {
+ manager.developer = checked
+ }
+ indicator: Rectangle {
+ implicitWidth: 20
+ implicitHeight: 20
+ x: developerButton.leftPadding
+ y: parent.height / 2 - height / 2
+ radius: 4
+ border.color: developerButton.down ? subsurfaceTheme.primaryColor : subsurfaceTheme.darkerPrimaryColor
+ color: subsurfaceTheme.backgroundColor
+
+ Rectangle {
+ width: 12
+ height: 12
+ x: 4
+ y: 4
+ radius: 3
+ color: developerButton.down ? subsurfaceTheme.primaryColor : subsurfaceTheme.darkerPrimaryColor
+ visible: developerButton.checked
+ }
+ }
+ }
+ Kirigami.Label {
+ text: qsTr("Display Developer menu")
+ }
+ }
Item {
height: Kirigami.Units.gridUnit * 6
}
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index 5b0c67db3..d1944a14e 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -251,6 +251,7 @@ if you have network connectivity and want to sync your data to cloud storage."),
},
Kirigami.Action {
text: qsTr("Developer")
+ visible: manager.developer
Kirigami.Action {
text: qsTr("App log")
onTriggered: {
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 13cf0b4fc..3612fb73c 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -1583,6 +1583,17 @@ void QMLManager::setLibdcLog(bool value)
emit libdcLogChanged();
}
+bool QMLManager::developer() const
+{
+ return m_developer;
+}
+
+void QMLManager::setDeveloper(bool value)
+{
+ m_developer = value;
+ emit developerChanged();
+}
+
bool QMLManager::btEnabled() const
{
return m_btEnabled;
diff --git a/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h
index 8e4f05fa6..8f3db3266 100644
--- a/mobile-widgets/qmlmanager.h
+++ b/mobile-widgets/qmlmanager.h
@@ -42,6 +42,7 @@ class QMLManager : public QObject {
Q_PROPERTY(bool showPin READ showPin WRITE setShowPin NOTIFY showPinChanged)
Q_PROPERTY(QString progressMessage READ progressMessage WRITE setProgressMessage NOTIFY progressMessageChanged)
Q_PROPERTY(bool libdcLog READ libdcLog WRITE setLibdcLog NOTIFY libdcLogChanged)
+ Q_PROPERTY(bool developer READ developer WRITE setDeveloper NOTIFY developerChanged)
public:
QMLManager();
@@ -119,6 +120,9 @@ public:
bool libdcLog() const;
void setLibdcLog(bool value);
+ bool developer() const;
+ void setDeveloper(bool value);
+
typedef void (QMLManager::*execute_function_type)();
DiveListSortModel *dlSortModel;
@@ -219,6 +223,7 @@ private:
DCDeviceData *m_device_data;
QString m_progressMessage;
bool m_libdcLog;
+ bool m_developer;
bool m_btEnabled;
#if defined(Q_OS_ANDROID)
@@ -250,6 +255,7 @@ signals:
void sendScreenChanged(QScreen *screen);
void progressMessageChanged();
void libdcLogChanged();
+ void developerChanged();
};
#endif