Warning, /plasma/latte-dock/plasmoid/package/contents/ui/config/ConfigAppearance.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2016 Smith AR <audoban@openmailbox.org>
0003     SPDX-FileCopyrightText: 2016 Michail Vourlakos <mvourlakos@gmail.com>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 import QtQuick 2.0
0008 import QtQuick.Controls 1.0
0009 import QtQuick.Layouts 1.0
0010 import QtGraphicalEffects 1.0
0011 
0012 import org.kde.plasma.core 2.0 as PlasmaCore
0013 import org.kde.plasma.components 2.0 as PlasmaComponents
0014 
0015 Item {
0016     id: mainItem
0017 
0018     width: childrenRect.width
0019     height: childrenRect.height
0020 
0021     property bool vertical: (plasmoid.formFactor == PlasmaCore.Types.Vertical)
0022 
0023     property alias cfg_zoomHelper: zoomHelper.checked
0024     property alias cfg_zoomLevel: zoomLevel.value
0025     property alias cfg_showShadows: showShadows.checked
0026     property alias cfg_showGlow: showGlow.checked
0027     property alias cfg_iconSize: iconSizeCmb.realValue
0028     property alias cfg_threeColorsWindows: threeColorsWindows.checked
0029     property alias cfg_dotsOnActive: dotsOnActive.checked
0030     property alias cfg_durationTime : durationTime.value
0031 
0032     property alias cfg_isInLatteDock: mainItem.isInLatteDock
0033 
0034     property bool isInLatteDock
0035 
0036     ColumnLayout {
0037         id:mainColumn
0038         spacing: 15
0039         width: parent.width-40
0040 
0041         //Layout.fillWidth: true
0042 
0043         GroupBox {
0044             title: ""
0045             flat: true
0046             Layout.fillWidth: true
0047 
0048             ColumnLayout {
0049                 Layout.fillWidth: true
0050                 width: mainItem.width-40
0051 
0052                 RowLayout{
0053 
0054                     Label {
0055                         text: i18n("Maximum icon size: ")
0056                     }
0057 
0058                     ComboBox {
0059                         // 16, 22, 32, 48, 64,128, 256
0060                         id: iconSizeCmb
0061                         enabled: !mainItem.isInLatteDock
0062 
0063                         property int realValue
0064                         property bool startup: true
0065                         model: ["16px.", "22px.", "32px.", "48px.", "64px.", "96px", "128px.", "256px."]
0066 
0067                         onCurrentIndexChanged: {
0068                             switch(currentIndex){
0069                             case 0:
0070                                 realValue = 16;
0071                                 break;
0072                             case 1:
0073                                 realValue = 22;
0074                                 break;
0075                             case 2:
0076                                 realValue = 32;
0077                                 break;
0078                             case 3:
0079                                 realValue = 48;
0080                                 break;
0081                             case 4:
0082                                 realValue = 64;
0083                                 break;
0084                             case 5:
0085                                 realValue = 96;
0086                                 break;
0087                             case 6:
0088                                 realValue = 128;
0089                                 break;
0090                             case 7:
0091                                 realValue = 256;
0092                                 break;
0093                             default:
0094                                 realValue = 64;
0095                                 break
0096                             }
0097                         }
0098 
0099                         onRealValueChanged: {
0100                             if(startup){
0101                                 switch (realValue){
0102                                 case 16:
0103                                     currentIndex = 0;
0104                                     break;
0105                                 case 22:
0106                                     currentIndex = 1;
0107                                     break;
0108                                 case 32:
0109                                     currentIndex = 2;
0110                                     break;
0111                                 case 48:
0112                                     currentIndex = 3;
0113                                     break;
0114                                 case 64:
0115                                     currentIndex = 4;
0116                                     break;
0117                                 case 96:
0118                                     currentIndex = 5;
0119                                     break;
0120                                 case 128:
0121                                     currentIndex = 6;
0122                                     break;
0123                                 case 256:
0124                                     currentIndex = 7;
0125                                     break;
0126                                 default:
0127                                     currentIndex = 4;
0128                                     break
0129                                 }
0130                                 startup = false;
0131                             }
0132                         }
0133                     }
0134                 }
0135 
0136 
0137                 CheckBox {
0138                     id: showShadows
0139                     text: i18n("Enable shadows for icons")
0140                     enabled: true
0141                 }
0142 
0143                 CheckBox {
0144                     id: showGlow
0145                     text: i18n("Show glow around windows points")
0146                     enabled: true
0147                 }
0148 
0149                 CheckBox {
0150                     id: threeColorsWindows
0151                     text: i18n("Different color for minimized windows")
0152                     enabled: true
0153                 }
0154 
0155                 CheckBox {
0156                     id: dotsOnActive
0157                     text: i18n("Indicator for active window group")
0158                     enabled: true
0159                 }
0160             }
0161         }
0162 
0163         GridLayout{
0164             id: animationsGridLayout
0165             Layout.fillWidth: true
0166             columns: 3
0167 
0168 
0169             Label {
0170                 id: durationTimeLabel
0171 
0172                 Layout.alignment: Qt.AlignHCenter
0173                 horizontalAlignment: Text.AlignHCenter
0174 
0175                 text: i18n("Animations: ")
0176             }
0177 
0178             Slider {
0179                 id: durationTime
0180                 enabled: true
0181                 Layout.fillWidth: true
0182                 minimumValue: 0
0183                 maximumValue: 3
0184                 stepSize: 1
0185                 tickmarksEnabled: true
0186             }
0187             Label {
0188                 enabled: durationTime.value > 0
0189                 Layout.alignment: Qt.AlignHCenter
0190                 horizontalAlignment: Text.AlignHCenter
0191                 font.italic: durationTime.value > 0 ? false : true
0192 
0193                 property string textUsed: durationTime.value > 0 ? i18n("duration") : i18n("disabled")
0194 
0195                 text: (durationTime.value > 0 ? ("x" + durationTime.value) + " " + textUsed : textUsed )
0196             }
0197 
0198             Label{Layout.columnSpan: 3}
0199 
0200             Item{
0201                 enabled: !mainItem.isInLatteDock
0202                 Layout.columnSpan: 3
0203                 Layout.fillWidth: true
0204                 Label {
0205                     text: i18n("Zoom")
0206                     anchors.centerIn: parent
0207                     font.bold: true
0208                     font.italic: true
0209                 }
0210             }
0211 
0212             //////
0213 
0214             Label {
0215                 enabled: !mainItem.isInLatteDock
0216                 Layout.alignment: Qt.AlignHCenter
0217                 horizontalAlignment: Text.AlignHCenter
0218 
0219                 text: i18n("Level: ")
0220             }
0221 
0222             Slider {
0223                 id: zoomLevel
0224                 enabled: !mainItem.isInLatteDock
0225                 Layout.fillWidth: true
0226                 minimumValue: 0
0227                 maximumValue: 20
0228                 stepSize: 1
0229                 tickmarksEnabled: true
0230             }
0231 
0232             Label {
0233                 id:zoomLevelText
0234                 enabled: !mainItem.isInLatteDock
0235                 Layout.minimumWidth: metricsLabel2.width
0236                 Layout.maximumWidth: metricsLabel2.width
0237                 Layout.alignment: Qt.AlignHCenter
0238                 horizontalAlignment: Text.AlignHCenter
0239                 //Layout.alignment: Qt.AlignRight
0240 
0241 
0242                 property real fixedZoom: (1 + (zoomLevel.value / 20))
0243                 text:  "x"+ fixedZoom.toFixed(2)
0244 
0245                 Label{
0246                     id:metricsLabel2
0247                     visible: false
0248                     text: "x1.50"
0249                 }
0250             }
0251             /////
0252             //spacer to set a minimumWidth for sliders
0253             //Layout.minimumWidth didn't work
0254             Label{}
0255             //  Label{Layout.maximumWidth: 275}
0256             Label{}
0257 
0258             ////////
0259 
0260             CheckBox {
0261                 id: zoomHelper
0262                 enabled: !mainItem.isInLatteDock
0263                 text: i18n("Show a red line on the limit needed for animations")
0264 
0265                 Layout.columnSpan: 3
0266             }
0267         }
0268     }
0269 
0270     DropShadow {
0271         id:shadowText
0272         anchors.fill: inLatteDockLabel
0273         fast: true
0274         enabled: isInLatteDock
0275         radius: 3
0276         samples: 5
0277         color: "#cc080808"
0278         source: inLatteDockLabel
0279 
0280         verticalOffset: 2
0281         horizontalOffset: -1
0282         visible: isInLatteDock
0283     }
0284 
0285 
0286     Label {
0287         id:inLatteDockLabel
0288         anchors.horizontalCenter: mainItem.horizontalCenter
0289         anchors.bottom: mainColumn.bottom
0290         anchors.bottomMargin: mainColumn.height / 12
0291       //  anchors.verticalCenterOffset:  (mainColumn.height / 4)
0292 
0293         width: 0.85 * mainItem.width
0294         text: i18n("For the disabled settings you should use the Latte Dock Configuration Window")
0295         visible: mainItem.isInLatteDock
0296 
0297         horizontalAlignment: Text.AlignHCenter
0298         //  font.bold: true
0299         font.italic: true
0300         font.pointSize: 1.2 * theme.defaultFont.pointSize
0301 
0302         wrapMode: Text.WordWrap
0303     }
0304 }