From 3931e2843bd01740a861e98c39cd8f133867b989 Mon Sep 17 00:00:00 2001 From: link2xt Date: Sun, 28 Feb 2021 00:11:07 +0300 Subject: Add Settings page --- qml.qrc | 1 + qml/ChatlistPage.qml | 14 ++++++++++++++ qml/SettingsPage.qml | 30 ++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 qml/SettingsPage.qml diff --git a/qml.qrc b/qml.qrc index d2bf225..e7b5fa9 100644 --- a/qml.qrc +++ b/qml.qrc @@ -6,6 +6,7 @@ qml/ChatPage.qml qml/ChatlistPage.qml qml/ConfigurePage.qml + qml/SettingsPage.qml qml/Message.qml qtquickcontrols2.conf diff --git a/qml/ChatlistPage.qml b/qml/ChatlistPage.qml index ce81602..a025015 100644 --- a/qml/ChatlistPage.qml +++ b/qml/ChatlistPage.qml @@ -30,6 +30,20 @@ Kirigami.Page { updateChatlist() } + contextualActions: [ + Kirigami.Action { + text: "Settings" + iconName: "configure" + onTriggered: { + let settingsPageComponent = Qt.createComponent("qrc:/qml/SettingsPage.qml") + if (settingsPageComponent.status == Component.Ready) { + let settingsPage = settingsPageComponent.createObject(chatlistPage, {context: chatlistPage.context}) + pageStack.layers.push(settingsPage) + } + } + } + ] + ListModel { id: chatlistModel } diff --git a/qml/SettingsPage.qml b/qml/SettingsPage.qml new file mode 100644 index 0000000..a7490fe --- /dev/null +++ b/qml/SettingsPage.qml @@ -0,0 +1,30 @@ +import QtQuick 2.12 +import QtQuick.Controls 2.12 +import QtQuick.Layouts 1.12 +import org.kde.kirigami 2.12 as Kirigami + +import DeltaChat 1.0 + +Kirigami.Page { + id: settingsPageRoot + + title: "Settings" + + required property DcContext context + + ColumnLayout { + anchors.fill: parent + + Switch { + text: "Prefer end-to-end encryption" + checked: settingsPageRoot.context.getConfig("e2ee_enabled") == "1" + onToggled: settingsPageRoot.context.setConfig("e2ee_enabled", checked ? "1" : "0") + } + + Switch { + text: "Read receipts" + checked: settingsPageRoot.context.getConfig("mdns_enabled") == "1" + onToggled: settingsPageRoot.context.setConfig("mdns_enabled", checked ? "1" : "0") + } + } +} -- cgit v1.2.3-70-g09d2