Warning, /multimedia/haruna/src/qml/Haruna/Components/ColorPickerButton.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  * SPDX-FileCopyrightText: 2022 George Florea Bănuș <georgefb899@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 import QtQuick
0008 import QtQuick.Controls
0009 import QtQuick.Dialogs
0010 
0011 import org.kde.kirigami as Kirigami
0012 
0013 Rectangle {
0014     id: root
0015 
0016     // using onColorChanged causes a binding loop
0017     signal colorChosen(string color)
0018 
0019     implicitWidth: Math.ceil(Kirigami.Units.gridUnit * 1.7)
0020     implicitHeight: Math.ceil(Kirigami.Units.gridUnit * 1.7)
0021     border.width: 1
0022     border.color: ma.containsMouse
0023                   ? Kirigami.Theme.highlightColor
0024                   : Kirigami.Theme.alternateBackgroundColor
0025 
0026     onColorChosen: {
0027         root.color = colorPicker.selectedColor
0028     }
0029 
0030     MouseArea {
0031         id: ma
0032 
0033         anchors.fill: parent
0034         hoverEnabled: true
0035         onClicked: {
0036             colorPicker.open()
0037         }
0038         cursorShape: containsMouse ? Qt.PointingHandCursor : Qt.ArrowCursor
0039     }
0040 
0041     ToolTip {
0042         text: i18nc("@info:tooltip", "Select a color")
0043         visible: ma.containsMouse
0044     }
0045 
0046     ColorDialog {
0047         id: colorPicker
0048 
0049         title: qsTr("Select a color")
0050         onAccepted: colorChosen(colorPicker.selectedColor)
0051         selectedColor: root.color
0052         parentWindow: settingsLoader.item
0053     }
0054 
0055 }