// Copyright (C) 2026 Danilo M. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as // published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. import QtQuick Rectangle { id: toggle property bool checked: false property string label: "" signal toggled implicitWidth: row.implicitWidth implicitHeight: 22 color: "transparent" Row { id: row anchors.verticalCenter: parent.verticalCenter spacing: 6 Rectangle { anchors.verticalCenter: parent.verticalCenter width: 16; height: 16; radius: 4 color: toggle.checked ? Qt.alpha(Theme.accent, 0.7) : Qt.alpha(Theme.surface, 0.5) border.width: 1 border.color: toggle.checked ? Qt.alpha(Theme.accent, 0.9) : Qt.alpha(Theme.text, 0.2) Text { anchors.centerIn: parent visible: toggle.checked text: "✓" font { family: Theme.iconFamily; pixelSize: Theme.fontSize - 6; bold: true } color: Theme.base } } Text { anchors.verticalCenter: parent.verticalCenter visible: toggle.label !== "" text: toggle.label font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 } color: Theme.subtext } } MouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { toggle.checked = !toggle.checked; toggle.toggled(); } } }