1/* 2 * Kaidan - A user-friendly XMPP client for every device! 3 * 4 * Copyright (C) 2016-2021 Kaidan developers and contributors 5 * (see the LICENSE file for a full list of copyright authors) 6 * 7 * Kaidan is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * In addition, as a special exception, the author of Kaidan gives 13 * permission to link the code of its release with the OpenSSL 14 * project's "OpenSSL" library (or with modified versions of it that 15 * use the same license as the "OpenSSL" library), and distribute the 16 * linked executables. You must obey the GNU General Public License in 17 * all respects for all of the code used other than "OpenSSL". If you 18 * modify this file, you may extend this exception to your version of 19 * the file, but you are not obligated to do so. If you do not wish to 20 * do so, delete this exception statement from your version. 21 * 22 * Kaidan is distributed in the hope that it will be useful, 23 * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 * GNU General Public License for more details. 26 * 27 * You should have received a copy of the GNU General Public License 28 * along with Kaidan. If not, see <http://www.gnu.org/licenses/>. 29 */ 30 31import QtQuick 2.14 32import QtQuick.Controls 2.14 as Controls 33import QtQuick.Layouts 1.14 34import org.kde.kirigami 2.12 as Kirigami 35import im.kaidan.kaidan 1.0 36 37/** 38 * The settings page contains options to configure Kaidan. 39 * 40 * It is used on a new layer on mobile and inside of a Sheet on desktop. 41 */ 42Column { 43 property string title: qsTr("Settings") 44 spacing: 0 45 height: root.height * 0.9 46 47 SettingsItem { 48 name: qsTr("Change password") 49 description: qsTr("Changes your account's password. You will need to re-enter it on your other devices.") 50 visible: Kaidan.serverFeaturesCache.inBandRegistrationSupported 51 onClicked: stack.push("ChangePassword.qml") 52 icon: "system-lock-screen-symbolic" 53 } 54 SettingsItem { 55 name: qsTr("Multimedia Settings") 56 description: qsTr("Configure photo, video and audio recording settings") 57 onClicked: stack.push("MultimediaSettings.qml") 58 icon: "emblem-system-symbolic" 59 } 60 SettingsItem { 61 name: qsTr("Connection Settings") 62 description: qsTr("Configure the hostname and port to connect to") 63 onClicked: stack.push("ConnectionSettings.qml") 64 icon: "settings-configure" 65 } 66 SettingsItem { 67 name: qsTr("Account security") 68 description: qsTr("Configure whether this device can be used to log in on another device") 69 icon: "security-high-symbolic" 70 onClicked: stack.push("AccountSecurity.qml") 71 } 72 SettingsItem { 73 name: qsTr("Remove account from Kaidan") 74 description: qsTr("Remove account from this app") 75 icon: "system-log-out" 76 onClicked: stack.push("LocalAccountRemoval.qml") 77 } 78 SettingsItem { 79 name: qsTr("Delete account") 80 description: qsTr("Delete account from the server") 81 icon: "edit-delete-symbolic" 82 onClicked: stack.push("RemoteAccountDeletion.qml") 83 } 84} 85