Warning, /libraries/kirigami-addons/src/formcard/FormDelegateBackground.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  * Copyright 2022 Devin Lin <devin@kde.org>
0003  * SPDX-License-Identifier: LGPL-2.0-or-later
0004  */
0005 
0006 import QtQuick 2.15
0007 import QtQuick.Layouts 1.15
0008 import QtQuick.Templates 2.15 as T
0009 import org.kde.kirigami 2.20 as Kirigami
0010 
0011 /**
0012  * @brief A background for Form delegates.
0013  *
0014  * This is a simple background that provides opacity feedback to the user
0015  * when the control has focus or is currently being pressed, for example.
0016  *
0017  * This is used in AbstractFormDelegate so that new delegates provide this
0018  * feedback by default, and can be easily overriden with a QtQuick.Item.
0019  *
0020  * @since KirigamiAddons 0.11.0
0021  *
0022  * @see AbstractFormDelegate
0023  *
0024  * @inherit QtQuick.Rectangle
0025  */
0026 Rectangle {
0027     /**
0028      * @brief The control to which the background will be assigned.
0029      */
0030     required property T.Control control
0031 
0032     color: {
0033         let colorOpacity = 0;
0034 
0035         if (!control.enabled) {
0036             colorOpacity = 0;
0037         } else if (control.pressed) {
0038             colorOpacity = 0.2;
0039         } else if (control.visualFocus) {
0040             colorOpacity = 0.1;
0041         } else if (!Kirigami.Settings.tabletMode && control.hovered) {
0042             colorOpacity = 0.07;
0043         }
0044 
0045         return Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, colorOpacity)
0046     }
0047 
0048     Behavior on color {
0049         ColorAnimation { duration: Kirigami.Units.shortDuration }
0050     }
0051 }