Warning, /graphics/krita/plugins/dockers/touchdocker/qml/touchstrip.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-License-Identifier: GPL-3.0-or-later 0003 */ 0004 0005 import QtQuick 2.3 0006 import org.krita.sketch 1.0 0007 import org.krita.sketch.components 1.0 0008 0009 Rectangle { 0010 id: root 0011 0012 SystemPalette { 0013 id: palette; 0014 colorGroup: SystemPalette.Active 0015 } 0016 0017 property int rowHeight: height/9; 0018 // same rule as defined in kis_icon_utils to determine useDarkIcons, but in the 0-1 range 0019 property bool useDarkIcons: palette.button.hsvValue > 0.39 ? true : false; 0020 color: palette.base; 0021 0022 Column { 0023 width: root.width 0024 Row { 0025 height: root.rowHeight; 0026 Repeater { 0027 model: ["fileOpen", "fileSave", "fileSaveAs"] 0028 Button { 0029 color: palette.button 0030 highlightColor: palette.highlight 0031 textColor: palette.buttonText 0032 radius: 8; 0033 width: root.width / 3 0034 height: parent.height; 0035 onClicked: { 0036 mainWindow.slotButtonPressed(modelData+"Button") 0037 } 0038 image: root.useDarkIcons ? Settings.theme.icon(modelData.toLowerCase() + "-black") : 0039 Settings.theme.icon(modelData.toLowerCase()); 0040 } 0041 } 0042 } 0043 0044 Row { 0045 width: parent.width; 0046 height: root.rowHeight; 0047 ButtonSquared { 0048 color: palette.button 0049 highlightColor: palette.highlight 0050 textColor: palette.buttonText 0051 radius: 8; 0052 id: undoButton 0053 width: root.width / 2 0054 height: parent.height; 0055 image: root.useDarkIcons ? mainWindow.iconForButton("edit-undo", true) : mainWindow.iconForButton("edit-undo", false); 0056 0057 onClicked: { 0058 mainWindow.slotButtonPressed("edit_undo") 0059 } 0060 } 0061 0062 ButtonSquared { 0063 color: palette.button 0064 highlightColor: palette.highlight 0065 textColor: palette.buttonText 0066 radius: 8; 0067 width: root.width / 2 0068 height: parent.height; 0069 image: root.useDarkIcons ? mainWindow.iconForButton("edit-redo", true) : mainWindow.iconForButton("edit-redo", false); 0070 0071 onClicked: { 0072 mainWindow.slotButtonPressed("edit_redo") 0073 } 0074 } 0075 } 0076 0077 Row{ 0078 width: parent.width; 0079 height: childrenRect.height; 0080 Repeater { 0081 model: [2, 3] 0082 ButtonSquared { 0083 color: palette.button 0084 highlightColor: palette.highlight 0085 textColor: palette.buttonText 0086 radius: 8; 0087 width: parent.width/2; 0088 height: root.rowHeight 0089 checkable: text === "shift" || text == "ctrl" || text == "alt" ? true : false; 0090 onClicked: { 0091 mainWindow.slotButtonPressed(modelData) 0092 } 0093 image: root.useDarkIcons ? mainWindow.iconForButton(modelData, true) : mainWindow.iconForButton(modelData, false); 0094 } 0095 } 0096 } 0097 0098 Row{ 0099 width: parent.width; 0100 height: childrenRect.height; 0101 Repeater { 0102 model: [1, 4] 0103 ButtonSquared { 0104 color: palette.button 0105 highlightColor: palette.highlight 0106 textColor: palette.buttonText 0107 radius: 8; 0108 width: parent.width/2; 0109 height: root.rowHeight 0110 checkable: text === "shift" || text == "ctrl" || text == "alt" ? true : false; 0111 onClicked: { 0112 mainWindow.slotButtonPressed(modelData) 0113 } 0114 image: root.useDarkIcons ? mainWindow.iconForButton(modelData, true) : mainWindow.iconForButton(modelData, false); 0115 } 0116 } 0117 } 0118 0119 Row { 0120 width: parent.width; 0121 height: childrenRect.height; 0122 Repeater { 0123 model: ["rotate_canvas_left", "reset_canvas_rotation", "rotate_canvas_right"] 0124 Item { 0125 height: root.rowHeight 0126 width: root.width/3 0127 ButtonSquared { 0128 id: rockerSwitch 0129 color: palette.button 0130 highlightColor: palette.highlight 0131 textColor: palette.buttonText 0132 radius: 8; 0133 anchors.fill: parent; 0134 visible: modelData !== ""; 0135 image: root.useDarkIcons ? mainWindow.iconForButton(modelData, true) : mainWindow.iconForButton(modelData, false); 0136 onClicked: { 0137 mainWindow.slotButtonPressed(modelData) 0138 if (modelData === "reset_canvas_rotation") { 0139 mainWindow.slotButtonPressed("zoom_to_100pct") 0140 } 0141 } 0142 } 0143 } 0144 } 0145 } 0146 0147 Row{ 0148 width: parent.width; 0149 height: childrenRect.height; 0150 Repeater { 0151 model: [6, "view_zoom_in"] 0152 ButtonSquared { 0153 color: palette.button 0154 highlightColor: palette.highlight 0155 textColor: palette.buttonText 0156 radius: 8; 0157 width: parent.width/2; 0158 height: root.rowHeight 0159 checkable: text === "shift" || text == "ctrl" || text == "alt" ? true : false; 0160 onClicked: { 0161 if (modelData === "view_zoom_in") 0162 { 0163 mainWindow.slotButtonPressed(modelData) 0164 } 0165 else 0166 { 0167 mainWindow.slotButtonPressed(modelData) 0168 } 0169 } 0170 image: root.useDarkIcons ? mainWindow.iconForButton(modelData, true) : mainWindow.iconForButton(modelData, false); 0171 } 0172 } 0173 } 0174 0175 Row{ 0176 width: parent.width; 0177 height: childrenRect.height; 0178 Repeater { 0179 model: [5, "view_zoom_out"] 0180 ButtonSquared { 0181 color: palette.button 0182 highlightColor: palette.highlight 0183 textColor: palette.buttonText 0184 radius: 8; 0185 width: parent.width/2; 0186 height: root.rowHeight 0187 checkable: text === "shift" || text == "ctrl" || text == "alt" ? true : false; 0188 onClicked: { 0189 if(modelData === "view_zoom_out") 0190 { 0191 mainWindow.slotButtonPressed(modelData) 0192 } 0193 else 0194 { 0195 mainWindow.slotButtonPressed(modelData) 0196 } 0197 } 0198 image: root.useDarkIcons ? mainWindow.iconForButton(modelData, true) : mainWindow.iconForButton(modelData, false); 0199 } 0200 } 0201 } 0202 0203 Repeater { 0204 width: parent.width; 0205 height: childrenRect.height; 0206 model: [7, 8] 0207 ButtonSquared { 0208 color: palette.button 0209 highlightColor: palette.highlight 0210 textColor: palette.buttonText 0211 radius: 8; 0212 width: parent.width; 0213 height: root.rowHeight 0214 checkable: text === "shift" || text == "ctrl" || text == "alt" ? true : false; 0215 onClicked: { 0216 mainWindow.slotButtonPressed(modelData) 0217 } 0218 image: root.useDarkIcons ? mainWindow.iconForButton(modelData, true) : mainWindow.iconForButton(modelData, false); 0219 } 0220 } 0221 } 0222 }