Warning, /plasma/latte-dock/indicators/default/package/config/config.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2018 Michail Vourlakos <mvourlakos@gmail.com> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 import QtQuick 2.7 0007 import QtQuick.Controls 1.4 0008 import QtQuick.Layouts 1.3 0009 import QtGraphicalEffects 1.0 0010 0011 import org.kde.plasma.core 2.0 as PlasmaCore 0012 import org.kde.plasma.components 2.0 as PlasmaComponents 0013 import org.kde.plasma.components 3.0 as PlasmaComponents3 0014 import org.kde.plasma.plasmoid 2.0 0015 0016 import org.kde.latte.components 1.0 as LatteComponents 0017 0018 ColumnLayout { 0019 id: root 0020 Layout.fillWidth: true 0021 0022 LatteComponents.SubHeader { 0023 text: i18nc("indicator style","Style") 0024 } 0025 0026 RowLayout { 0027 Layout.fillWidth: true 0028 spacing: 2 0029 0030 property int indicatorType: indicator.configuration.activeStyle 0031 0032 readonly property int buttonsCount: 2 0033 readonly property int buttonSize: (dialog.optionsWidth - (spacing * buttonsCount-1)) / buttonsCount 0034 0035 ExclusiveGroup { 0036 id: activeIndicatorTypeGroup 0037 } 0038 0039 PlasmaComponents.Button { 0040 Layout.minimumWidth: parent.buttonSize 0041 Layout.maximumWidth: Layout.minimumWidth 0042 text: i18nc("line indicator","Line") 0043 checked: parent.indicatorType === indicatorType 0044 checkable: false 0045 exclusiveGroup: activeIndicatorTypeGroup 0046 tooltip: i18n("Show a line indicator for active items") 0047 0048 readonly property int indicatorType: 0 /*Line*/ 0049 0050 onPressedChanged: { 0051 if (pressed) { 0052 indicator.configuration.activeStyle = indicatorType; 0053 } 0054 } 0055 } 0056 0057 PlasmaComponents.Button { 0058 Layout.minimumWidth: parent.buttonSize 0059 Layout.maximumWidth: Layout.minimumWidth 0060 text: i18nc("dots indicator", "Dots") 0061 checked: parent.indicatorType === indicatorType 0062 checkable: false 0063 exclusiveGroup: activeIndicatorTypeGroup 0064 tooltip: i18n("Show a dot indicator for active items") 0065 0066 readonly property int indicatorType: 1 /*Dot*/ 0067 0068 onPressedChanged: { 0069 if (pressed) { 0070 indicator.configuration.activeStyle = indicatorType; 0071 } 0072 } 0073 } 0074 } 0075 0076 RowLayout { 0077 Layout.fillWidth: true 0078 spacing: units.smallSpacing 0079 0080 PlasmaComponents.Label { 0081 text: i18n("Thickness") 0082 horizontalAlignment: Text.AlignLeft 0083 } 0084 0085 LatteComponents.Slider { 0086 id: sizeSlider 0087 Layout.fillWidth: true 0088 0089 value: Math.round(indicator.configuration.size * 100) 0090 from: 3 0091 to: 25 0092 stepSize: 1 0093 wheelEnabled: false 0094 0095 onPressedChanged: { 0096 if (!pressed) { 0097 indicator.configuration.size = Number(value / 100).toFixed(2); 0098 } 0099 } 0100 } 0101 0102 PlasmaComponents.Label { 0103 text: i18nc("number in percentage, e.g. 85 %","%1 %", currentValue) 0104 horizontalAlignment: Text.AlignRight 0105 Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 4 0106 Layout.maximumWidth: theme.mSize(theme.defaultFont).width * 4 0107 0108 readonly property int currentValue: sizeSlider.value 0109 } 0110 } 0111 0112 RowLayout { 0113 Layout.fillWidth: true 0114 spacing: units.smallSpacing 0115 0116 PlasmaComponents.Label { 0117 text: i18n("Position") 0118 horizontalAlignment: Text.AlignLeft 0119 } 0120 0121 LatteComponents.Slider { 0122 id: thickMarginSlider 0123 Layout.fillWidth: true 0124 0125 value: Math.round(indicator.configuration.thickMargin * 100) 0126 from: 0 0127 to: 30 0128 stepSize: 1 0129 wheelEnabled: false 0130 0131 onPressedChanged: { 0132 if (!pressed) { 0133 indicator.configuration.thickMargin = value / 100; 0134 } 0135 } 0136 } 0137 0138 PlasmaComponents.Label { 0139 text: i18nc("number in percentage, e.g. 85 %","%1 %", currentValue) 0140 horizontalAlignment: Text.AlignRight 0141 Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 4 0142 Layout.maximumWidth: theme.mSize(theme.defaultFont).width * 4 0143 0144 readonly property int currentValue: thickMarginSlider.value 0145 } 0146 } 0147 0148 RowLayout { 0149 Layout.fillWidth: true 0150 spacing: units.smallSpacing 0151 0152 PlasmaComponents.Label { 0153 text: i18n("Padding") 0154 horizontalAlignment: Text.AlignLeft 0155 } 0156 0157 LatteComponents.Slider { 0158 id: lengthIntMarginSlider 0159 Layout.fillWidth: true 0160 0161 value: Math.round(indicator.configuration.lengthPadding * 100) 0162 from: 0 0163 to: maxMargin 0164 stepSize: 1 0165 wheelEnabled: false 0166 0167 readonly property int maxMargin: 80 0168 0169 onPressedChanged: { 0170 if (!pressed) { 0171 indicator.configuration.lengthPadding = value / 100; 0172 } 0173 } 0174 } 0175 0176 PlasmaComponents.Label { 0177 text: i18nc("number in percentage, e.g. 85 %","%1 %", currentValue) 0178 horizontalAlignment: Text.AlignRight 0179 Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 4 0180 Layout.maximumWidth: theme.mSize(theme.defaultFont).width * 4 0181 0182 readonly property int currentValue: lengthIntMarginSlider.value 0183 } 0184 } 0185 0186 RowLayout { 0187 Layout.fillWidth: true 0188 spacing: units.smallSpacing 0189 0190 PlasmaComponents.Label { 0191 text: i18n("Corner Margin") 0192 horizontalAlignment: Text.AlignLeft 0193 } 0194 0195 LatteComponents.Slider { 0196 id: backgroundCornerMarginSlider 0197 Layout.fillWidth: true 0198 0199 value: Math.round(indicator.configuration.backgroundCornerMargin * 100) 0200 from: 0 0201 to: 100 0202 stepSize: 1 0203 wheelEnabled: false 0204 0205 onPressedChanged: { 0206 if (!pressed) { 0207 indicator.configuration.backgroundCornerMargin = value / 100; 0208 } 0209 } 0210 } 0211 0212 PlasmaComponents.Label { 0213 text: i18nc("number in percentage, e.g. 85 %","%1 %", currentValue) 0214 horizontalAlignment: Text.AlignRight 0215 Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 4 0216 Layout.maximumWidth: theme.mSize(theme.defaultFont).width * 4 0217 0218 readonly property int currentValue: backgroundCornerMarginSlider.value 0219 } 0220 } 0221 0222 LatteComponents.HeaderSwitch { 0223 id: glowEnabled 0224 Layout.fillWidth: true 0225 Layout.minimumHeight: implicitHeight 0226 Layout.bottomMargin: units.smallSpacing 0227 0228 checked: indicator.configuration.glowEnabled 0229 level: 2 0230 text: i18n("Glow") 0231 tooltip: i18n("Enable/disable indicator glow") 0232 0233 onPressed: { 0234 indicator.configuration.glowEnabled = !indicator.configuration.glowEnabled; 0235 } 0236 } 0237 0238 RowLayout { 0239 Layout.fillWidth: true 0240 spacing: 2 0241 enabled: indicator.configuration.glowEnabled 0242 0243 property int option: indicator.configuration.glowApplyTo 0244 0245 readonly property int buttonsCount: 2 0246 readonly property int buttonSize: (dialog.optionsWidth - (spacing * buttonsCount-1)) / buttonsCount 0247 0248 ExclusiveGroup { 0249 id: glowGroup 0250 } 0251 0252 PlasmaComponents.Button { 0253 Layout.minimumWidth: parent.buttonSize 0254 Layout.maximumWidth: Layout.minimumWidth 0255 text: i18nc("glow only to active task/applet indicators","On Active") 0256 checked: parent.option === option 0257 checkable: false 0258 exclusiveGroup: glowGroup 0259 tooltip: i18n("Add glow only to active task/applet indicator") 0260 0261 readonly property int option: 1 /*OnActive*/ 0262 0263 onPressedChanged: { 0264 if (pressed) { 0265 indicator.configuration.glowApplyTo = option; 0266 } 0267 } 0268 } 0269 0270 PlasmaComponents.Button { 0271 Layout.minimumWidth: parent.buttonSize 0272 Layout.maximumWidth: Layout.minimumWidth 0273 text: i18nc("glow to all task/applet indicators","All") 0274 checked: parent.option === option 0275 checkable: false 0276 exclusiveGroup: glowGroup 0277 tooltip: i18n("Add glow to all task/applet indicators") 0278 0279 readonly property int option: 2 /*All*/ 0280 0281 onPressedChanged: { 0282 if (pressed) { 0283 indicator.configuration.glowApplyTo = option; 0284 } 0285 } 0286 } 0287 } 0288 0289 RowLayout { 0290 Layout.fillWidth: true 0291 spacing: 2 0292 0293 enabled: indicator.configuration.glowEnabled 0294 0295 PlasmaComponents.Label { 0296 Layout.minimumWidth: implicitWidth 0297 horizontalAlignment: Text.AlignLeft 0298 Layout.rightMargin: units.smallSpacing 0299 text: i18n("Opacity") 0300 } 0301 0302 LatteComponents.Slider { 0303 id: glowOpacitySlider 0304 Layout.fillWidth: true 0305 0306 leftPadding: 0 0307 value: indicator.configuration.glowOpacity * 100 0308 from: 0 0309 to: 100 0310 stepSize: 5 0311 wheelEnabled: false 0312 0313 function updateGlowOpacity() { 0314 if (!pressed) 0315 indicator.configuration.glowOpacity = value/100; 0316 } 0317 0318 onPressedChanged: { 0319 updateGlowOpacity(); 0320 } 0321 0322 Component.onCompleted: { 0323 valueChanged.connect(updateGlowOpacity); 0324 } 0325 0326 Component.onDestruction: { 0327 valueChanged.disconnect(updateGlowOpacity); 0328 } 0329 } 0330 0331 PlasmaComponents.Label { 0332 text: i18nc("number in percentage, e.g. 85 %","%1 %", glowOpacitySlider.value) 0333 horizontalAlignment: Text.AlignRight 0334 Layout.minimumWidth: theme.mSize(theme.defaultFont).width * 4 0335 Layout.maximumWidth: theme.mSize(theme.defaultFont).width * 4 0336 } 0337 } 0338 0339 ColumnLayout { 0340 spacing: 0 0341 visible: indicator.latteTasksArePresent 0342 0343 LatteComponents.SubHeader { 0344 enabled: indicator.configuration.glowApplyTo!==0/*None*/ 0345 text: i18n("Tasks") 0346 } 0347 0348 LatteComponents.CheckBoxesColumn { 0349 LatteComponents.CheckBox { 0350 Layout.maximumWidth: dialog.optionsWidth 0351 text: i18n("Different color for minimized windows") 0352 value: indicator.configuration.minimizedTaskColoredDifferently 0353 0354 onClicked: { 0355 indicator.configuration.minimizedTaskColoredDifferently = !indicator.configuration.minimizedTaskColoredDifferently; 0356 } 0357 } 0358 0359 LatteComponents.CheckBox { 0360 Layout.maximumWidth: dialog.optionsWidth 0361 text: i18n("Show an extra dot for grouped windows when active") 0362 tooltip: i18n("Grouped windows show both a line and a dot when one of them is active and the Line Active Indicator is enabled") 0363 enabled: indicator.configuration.activeStyle === 0 /*Line*/ 0364 value: indicator.configuration.extraDotOnActive 0365 0366 onClicked: { 0367 indicator.configuration.extraDotOnActive = !indicator.configuration.extraDotOnActive; 0368 } 0369 } 0370 } 0371 } 0372 0373 LatteComponents.SubHeader { 0374 enabled: indicator.configuration.glowApplyTo!==0/*None*/ 0375 text: i18n("Options") 0376 } 0377 0378 LatteComponents.CheckBox { 0379 Layout.maximumWidth: dialog.optionsWidth 0380 text: i18n("Show indicators for applets") 0381 tooltip: i18n("Indicators are shown for applets") 0382 value: indicator.configuration.enabledForApplets 0383 0384 onClicked: { 0385 indicator.configuration.enabledForApplets = !indicator.configuration.enabledForApplets; 0386 } 0387 } 0388 0389 LatteComponents.CheckBox { 0390 Layout.maximumWidth: dialog.optionsWidth 0391 text: i18n("Reverse indicator style") 0392 value: indicator.configuration.reversed 0393 0394 onClicked: { 0395 indicator.configuration.reversed = !indicator.configuration.reversed; 0396 } 0397 } 0398 }