Warning, /graphics/krita/libs/libqml/plugins/components/CheckBox.qml is written in an unsupported language. File is not indexed.
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2012 Dan Leinir Turthra Jensen <admin@leinir.dk> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.3 0008 import org.krita.sketch 1.0 0009 0010 Item { 0011 id: base; 0012 property bool checked: false; 0013 property alias text: txt.text; 0014 onCheckedChanged: state = checked ? "checked" : ""; 0015 // Double-double margins looks odd, but it's to ensure the /icon/ has the right amount of padding 0016 height: Constants.DefaultFontSize + Constants.DefaultMargin * 4; 0017 Image { 0018 id: notCheckedImg; 0019 anchors { 0020 left: parent.left; 0021 top: parent.top; 0022 bottom: parent.bottom; 0023 margins: Constants.DefaultMargin; 0024 } 0025 width: height; 0026 smooth: true; 0027 source: Settings.theme.icon("checkbox-unchecked"); 0028 } 0029 Image { 0030 id: checkedImg; 0031 anchors { 0032 left: parent.left; 0033 top: parent.top; 0034 bottom: parent.bottom; 0035 margins: Constants.DefaultMargin; 0036 } 0037 width: height; 0038 smooth: true; 0039 opacity: 0; 0040 source: Settings.theme.icon("checkbox-checked"); 0041 } 0042 Label { 0043 id: txt; 0044 anchors { 0045 top: parent.top; 0046 left: notCheckedImg.right; 0047 leftMargin: Constants.DefaultMargin; 0048 right: parent.right; 0049 bottom: parent.bottom; 0050 } 0051 } 0052 MouseArea { 0053 anchors.fill: parent; 0054 onClicked: checked = !checked; 0055 } 0056 states: [ 0057 State { 0058 name: "checked"; 0059 PropertyChanges { target: notCheckedImg; opacity: 0; } 0060 PropertyChanges { target: checkedImg; opacity: 1; } 0061 } 0062 ] 0063 transitions: [ 0064 Transition { 0065 from: ""; 0066 to: "checked"; 0067 reversible: true; 0068 PropertyAnimation { targets: [notCheckedImg, checkedImg]; properties: "opacity"; duration: Constants.AnimationDuration; } 0069 } 0070 ] 0071 }