Warning, /plasma/plasma-sdk/plasmoidviewer/qmlpackages/shell/contents/configuration/PanelConfiguration.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2013 Marco Martin <mart@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.0 0008 import org.kde.plasma.core as PlasmaCore 0009 import org.kde.plasma.configuration 2.0 0010 import org.kde.kirigami 2.20 as Kirigami 0011 import org.kde.ksvg 1.0 as KSvg 0012 import "panelconfiguration" 0013 0014 0015 //TODO: all of this will be done with desktop components 0016 KSvg.FrameSvgItem { 0017 id: dialogRoot 0018 0019 signal closeContextMenu 0020 0021 //BEGIN Properties 0022 width: 640 0023 height: 64 0024 imagePath: "dialogs/background" 0025 0026 LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft 0027 LayoutMirroring.childrenInherit: true 0028 0029 state: { 0030 switch (panel.location) { 0031 case PlasmaCore.Types.TopEdge: 0032 return "TopEdge" 0033 case PlasmaCore.Types.LeftEdge: 0034 return "LeftEdge" 0035 case PlasmaCore.Types.RightEdge: 0036 return "RightEdge" 0037 case PlasmaCore.Types.BottomEdge: 0038 default: 0039 return "BottomEdge" 0040 } 0041 } 0042 0043 property bool vertical: (panel.location === PlasmaCore.Types.LeftEdge || panel.location === PlasmaCore.Types.RightEdge) 0044 //END properties 0045 0046 //BEGIN Connections 0047 Connections { 0048 target: panel 0049 function onOffsetChanged() { 0050 ruler.offset = panel.offset 0051 } 0052 function onMinimumLengthChanged() { 0053 ruler.minimumLength = panel.minimumLength 0054 } 0055 function onMaximumLengthChanged() { 0056 ruler.maximumLength = panel.maximumLength 0057 } 0058 } 0059 0060 Connections { 0061 target: plasmoid 0062 function onImmutableChanged() { 0063 configDialog.close() 0064 } 0065 } 0066 //END Connections 0067 0068 0069 //BEGIN UI components 0070 0071 Ruler { 0072 id: ruler 0073 state: dialogRoot.state 0074 } 0075 0076 ToolBar { 0077 id: toolBar 0078 } 0079 //END UI components 0080 0081 //BEGIN Animations 0082 //when EdgeHandle is released animate to old panel position 0083 ParallelAnimation { 0084 id: panelResetAnimation 0085 NumberAnimation { 0086 target: panel 0087 properties: (panel.location === PlasmaCore.Types.LeftEdge || panel.location === PlasmaCore.Types.RightEdge) ? "x" : "y" 0088 to: { 0089 switch (panel.location) { 0090 case PlasmaCore.Types.TopEdge: 0091 return panel.screenGeometry.y + panel.distance 0092 case PlasmaCore.Types.LeftEdge: 0093 return panel.screenGeometry.x + panel.distance 0094 case PlasmaCore.Types.RightEdge: 0095 return panel.screenGeometry.x + panel.screenGeometry.width - panel.width - panel.distance 0096 case PlasmaCore.Types.BottomEdge: 0097 default: 0098 return panel.screenGeometry.y + panel.screenGeometry.height - panel.height - panel.distance 0099 } 0100 } 0101 duration: Kirigami.Units.shortDuration 0102 } 0103 0104 NumberAnimation { 0105 target: configDialog 0106 properties: (panel.location === PlasmaCore.Types.LeftEdge || panel.location === PlasmaCore.Types.RightEdge) ? "x" : "y" 0107 to: { 0108 switch (panel.location) { 0109 case PlasmaCore.Types.TopEdge: 0110 return panel.screenGeometry.y + panel.height + panel.distance 0111 case PlasmaCore.Types.LeftEdge: 0112 return panel.screenGeometry.x + panel.width + panel.distance 0113 case PlasmaCore.Types.RightEdge: 0114 return panel.screenGeometry.x + panel.screenGeometry.width - panel.width - configDialog.width - panel.distance 0115 case PlasmaCore.Types.BottomEdge: 0116 default: 0117 return panel.screenGeometry.y + panel.screenGeometry.height - panel.height - configDialog.height - panel.distance 0118 } 0119 } 0120 duration: Kirigami.Units.shortDuration 0121 } 0122 } 0123 //END Animations 0124 0125 //BEGIN States 0126 states: [ 0127 State { 0128 name: "TopEdge" 0129 PropertyChanges { 0130 target: dialogRoot 0131 enabledBorders: "TopBorder|BottomBorder" 0132 } 0133 PropertyChanges { 0134 target: dialogRoot 0135 implicitHeight: ruler.implicitHeight + toolBar.implicitHeight 0136 } 0137 }, 0138 State { 0139 name: "BottomEdge" 0140 PropertyChanges { 0141 target: dialogRoot 0142 enabledBorders: "TopBorder|BottomBorder" 0143 } 0144 PropertyChanges { 0145 target: dialogRoot 0146 implicitHeight: ruler.implicitHeight + toolBar.implicitHeight 0147 } 0148 }, 0149 State { 0150 name: "LeftEdge" 0151 PropertyChanges { 0152 target: dialogRoot 0153 enabledBorders: "LeftBorder|RightBorder" 0154 } 0155 PropertyChanges { 0156 target: dialogRoot 0157 implicitWidth: ruler.implicitWidth + toolBar.implicitWidth 0158 } 0159 }, 0160 State { 0161 name: "RightEdge" 0162 PropertyChanges { 0163 target: dialogRoot 0164 enabledBorders: "LeftBorder|RightBorder" 0165 } 0166 PropertyChanges { 0167 target: dialogRoot 0168 implicitWidth: ruler.implicitWidth + toolBar.implicitWidth 0169 } 0170 } 0171 ] 0172 //END States 0173 }