Warning, /office/klevernotes/src/contents/ui/painting/ColorBar.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 // SPDX-FileCopyrightText: 2023 Louis Schul <schul9louis@gmail.com>
0003
0004 import QtQuick 2.15
0005 import QtQuick.Layouts 1.15
0006
0007 import org.kde.kirigami 2.19 as Kirigami
0008
0009 import "qrc:/contents/ui/dialogs/colorDialog"
0010
0011 Kirigami.ShadowedRectangle {
0012 id: root
0013
0014 readonly property var colorsList: [
0015 "#000000", "#808080", "#FFFFFF", "#FF0000", "#FF8000",
0016 "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#FF00FF"
0017 ]
0018
0019 property color primaryColor: "black"
0020 property color secondaryColor: "white"
0021
0022 Kirigami.Theme.colorSet: Kirigami.Theme.Header
0023 Kirigami.Theme.inherit: false
0024
0025 color: Kirigami.Theme.backgroundColor
0026 radius: Kirigami.Units.smallSpacing
0027
0028 RowLayout {
0029 anchors.fill: parent
0030
0031 spacing: Kirigami.Units.smallSpacing
0032
0033 Rectangle {
0034 width: Kirigami.Units.gridUnit * 2.5
0035 height: Kirigami.Units.gridUnit * 2.5
0036
0037 color: Qt.rgba(1, 1, 1, 0.2)
0038 radius: Kirigami.Units.smallSpacing
0039
0040 Layout.leftMargin: Kirigami.Units.smallSpacing
0041
0042 ColorButton {
0043 id: secondaryButton
0044
0045 x: parent.width - width - Kirigami.Units.smallSpacing
0046 y: parent.height - height - Kirigami.Units.smallSpacing
0047 width: Kirigami.Units.gridUnit * 1.5
0048 height: Kirigami.Units.gridUnit * 1.5
0049
0050 color: root.secondaryColor
0051 border {
0052 color: "black"
0053 width: 1
0054 }
0055
0056 multicolor: true
0057
0058 onOpenColorPicker: {
0059 colorDialog.caller = secondaryButton
0060 colorDialog.open()
0061 }
0062 }
0063 ColorButton {
0064 id: primaryButton
0065
0066 x: Kirigami.Units.smallSpacing
0067 y: Kirigami.Units.smallSpacing
0068 width: Kirigami.Units.gridUnit * 1.5
0069 height: Kirigami.Units.gridUnit * 1.5
0070
0071 color: root.primaryColor
0072 border {
0073 color: "black"
0074 width: 1
0075 }
0076 multicolor: true
0077
0078 onOpenColorPicker: {
0079 colorDialog.caller = primaryButton
0080 colorDialog.open()
0081 }
0082 }
0083 }
0084
0085 Repeater {
0086 model: colorsList
0087 ColorButton {
0088 color: modelData
0089
0090 onPrimaryColorChanged: {
0091 root.primaryColor = color
0092 }
0093 onSecondaryColorChanged: {
0094 root.secondaryColor = color
0095 }
0096 }
0097 }
0098 }
0099
0100 ColorDialog {
0101 id: colorDialog
0102
0103 property QtObject caller
0104
0105 selectedColor: caller ? caller.color : "black"
0106
0107 onApplied: {
0108 colorDialog.close()
0109 if (caller.color === root.primaryColor) {
0110 root.primaryColor = selectedColor
0111 return
0112 }
0113 root.secondaryColor = selectedColor
0114 }
0115 }
0116 }