// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause import QtQuick import QtQuick.Controls.Basic import QtQuick.Layouts Rectangle { id: root signal showHelp signal toggleMode color: Theme.backgroundColor component Entry: ItemDelegate { id: entryRoot property bool heading: false property alias source: entryRoot.icon.source readonly property int iconSize: entryRoot.font.pixelSize icon.height: iconSize icon.width: iconSize icon.color: Theme.iconNormal palette.text: Theme.iconTextNormal display: AbstractButton.TextBesideIcon font.pixelSize: entryRoot.heading ? Theme.largeFontSize : Theme.mediumFontSize font.weight: Theme.fontDefaultWeight LayoutMirroring.enabled: true LayoutMirroring.childrenInherit: true background: Rectangle { anchors.fill: parent color: entryRoot.heading ? "transparent" : Theme.settingsEntryBackground Rectangle { height: 1 width: parent.width anchors.bottom: parent.bottom color: Theme.settingsSeparatorColor } } } ColumnLayout { anchors { fill: parent topMargin: Theme.defaultSpacing } spacing: 0 Entry { heading: true text: qsTr("Settings") bottomPadding: 20 Layout.alignment: Qt.AlignRight Layout.fillWidth: true } Entry { text: qsTr("Light Mode") source: "icons/lightmode.svg" visible: Theme.darkMode Layout.alignment: Qt.AlignRight Layout.fillWidth: true onClicked: root.toggleMode() } Entry { text: qsTr("Dark Mode") source: "icons/darkmode.svg" visible: !Theme.darkMode Layout.alignment: Qt.AlignRight Layout.fillWidth: true onClicked: root.toggleMode() } Entry { text: qsTr("Help") source: "icons/help.svg" Layout.alignment: Qt.AlignRight Layout.fillWidth: true onClicked: root.showHelp() } Item { Layout.fillHeight: true } } }