Warning, /plasma/latte-dock/plasmoid/package/contents/ui/taskslayout/ScrollEdgeShadows.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2019 Michail Vourlakos <mvourlakos@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.7 0008 import QtQuick.Controls 1.4 0009 import QtGraphicalEffects 1.0 0010 0011 import org.kde.plasma.plasmoid 2.0 0012 import org.kde.plasma.core 2.0 as PlasmaCore 0013 0014 Item { 0015 id: shadowsContainer 0016 opacity: 0.4 0017 0018 readonly property int gradientLength: appletAbilities.metrics.iconSize / 3 0019 readonly property int thickness: appletAbilities.metrics.backgroundThickness 0020 readonly property color appliedColor: appletAbilities.myView.itemShadow.shadowSolidColor 0021 0022 property Item flickable 0023 0024 LinearGradient { 0025 id: firstGradient 0026 width: !root.vertical ? gradientLength : shadowsContainer.thickness 0027 height: !root.vertical ? shadowsContainer.thickness : gradientLength 0028 0029 start: Qt.point(0, 0) 0030 end: !root.vertical ? Qt.point(width, 0) : Qt.point(0,height) 0031 0032 gradient: Gradient { 0033 GradientStop { position: 0.0; color: (scrollableList.currentPos > scrollableList.scrollFirstPos ? appliedColor : "transparent") } 0034 GradientStop { position: 1.0; color: "transparent" } 0035 } 0036 } 0037 0038 LinearGradient { 0039 id: lastGradient 0040 width: firstGradient.width 0041 height: firstGradient.height 0042 start: firstGradient.start 0043 end: firstGradient.end 0044 0045 gradient: Gradient { 0046 GradientStop { position: 0.0; color: "transparent" } 0047 GradientStop { position: 1.0; color: (scrollableList.currentPos < scrollableList.scrollLastPos ? appliedColor : "transparent") } 0048 } 0049 } 0050 0051 states: [ 0052 State { 0053 name: "bottom" 0054 when: root.location === PlasmaCore.Types.BottomEdge 0055 0056 AnchorChanges { 0057 target: firstGradient 0058 anchors{ top:undefined; bottom:parent.bottom; left:parent.left; right:undefined; 0059 horizontalCenter:undefined; verticalCenter:undefined} 0060 } 0061 AnchorChanges { 0062 target: lastGradient 0063 anchors{ top:undefined; bottom:parent.bottom; left:undefined; right:parent.right; 0064 horizontalCenter:undefined; verticalCenter:undefined} 0065 } 0066 AnchorChanges { 0067 target: shadowsContainer 0068 anchors{ top:undefined; bottom:flickable.bottom; left:undefined; right:undefined; 0069 horizontalCenter:flickable.horizontalCenter; verticalCenter:undefined} 0070 } 0071 PropertyChanges { 0072 target: shadowsContainer 0073 anchors.leftMargin: 0; anchors.rightMargin:0; anchors.topMargin: 0; anchors.bottomMargin: appletAbilities.metrics.margin.screenEdge; 0074 anchors.horizontalCenterOffset: 0; anchors.verticalCenterOffset: 0; 0075 } 0076 }, 0077 State { 0078 name: "top" 0079 when: root.location === PlasmaCore.Types.TopEdge 0080 0081 AnchorChanges { 0082 target: firstGradient 0083 anchors{ top:parent.top; bottom:undefined; left:parent.left; right:undefined; 0084 horizontalCenter:undefined; verticalCenter:undefined} 0085 } 0086 AnchorChanges { 0087 target: lastGradient 0088 anchors{ top:parent.top; bottom:undefined; left:undefined; right:parent.right; 0089 horizontalCenter:undefined; verticalCenter:undefined} 0090 } 0091 AnchorChanges { 0092 target: shadowsContainer 0093 anchors{ top:flickable.top; bottom:undefined; left:undefined; right:undefined; 0094 horizontalCenter:flickable.horizontalCenter; verticalCenter:undefined} 0095 } 0096 PropertyChanges { 0097 target: shadowsContainer 0098 anchors.leftMargin: 0; anchors.rightMargin:0; anchors.topMargin: appletAbilities.metrics.margin.screenEdge; anchors.bottomMargin:0; 0099 anchors.horizontalCenterOffset: 0; anchors.verticalCenterOffset: 0; 0100 } 0101 }, 0102 State { 0103 name: "left" 0104 when: root.location === PlasmaCore.Types.LeftEdge 0105 0106 AnchorChanges { 0107 target: firstGradient 0108 anchors{ top:parent.top; bottom:undefined; left:parent.left; right:undefined; 0109 horizontalCenter:undefined; verticalCenter:undefined} 0110 } 0111 AnchorChanges { 0112 target: lastGradient 0113 anchors{ top:undefined; bottom:parent.bottom; left:parent.left; right:undefined; 0114 horizontalCenter:undefined; verticalCenter:undefined} 0115 } 0116 AnchorChanges { 0117 target: shadowsContainer 0118 anchors{ top:undefined; bottom:undefined; left:flickable.left; right:undefined; 0119 horizontalCenter:undefined; verticalCenter:flickable.verticalCenter} 0120 } 0121 PropertyChanges { 0122 target: shadowsContainer 0123 anchors.leftMargin: appletAbilities.metrics.margin.screenEdge; anchors.rightMargin:0; anchors.topMargin: 0; anchors.bottomMargin:0; 0124 anchors.horizontalCenterOffset: 0; anchors.verticalCenterOffset: 0; 0125 } 0126 }, 0127 State { 0128 name: "right" 0129 when: root.location === PlasmaCore.Types.RightEdge 0130 0131 AnchorChanges { 0132 target: firstGradient 0133 anchors{ top:parent.top; bottom:undefined; left:undefined; right:parent.right; 0134 horizontalCenter:undefined; verticalCenter:undefined} 0135 } 0136 AnchorChanges { 0137 target: lastGradient 0138 anchors{ top:undefined; bottom:parent.bottom; left:undefined; right:parent.right; 0139 horizontalCenter:undefined; verticalCenter:undefined} 0140 } 0141 AnchorChanges { 0142 target: shadowsContainer 0143 anchors{ top:undefined; bottom:undefined; left:undefined; right:flickable.right; 0144 horizontalCenter:undefined; verticalCenter:flickable.verticalCenter} 0145 } 0146 PropertyChanges { 0147 target: shadowsContainer 0148 anchors.leftMargin: 0; anchors.rightMargin: appletAbilities.metrics.margin.screenEdge; anchors.topMargin: 0; anchors.bottomMargin:0; 0149 anchors.horizontalCenterOffset: 0; anchors.verticalCenterOffset: 0; 0150 } 0151 } 0152 ] 0153 }