Warning, /plasma/plasma-sdk/themeexplorer/package/contents/ui/delegates/panel.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *   SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
0003  *
0004  *   SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 import QtQuick 2.0
0008 import QtQuick.Layouts 1.1
0009 
0010 import org.kde.ksvg 1.0 as KSvg
0011 import org.kde.plasma.components 3.0 as PlasmaComponents
0012 import org.kde.kirigami 2.20 as Kirigami
0013 
0014 Item {
0015     KSvg.Svg {
0016         imagePath: model.imagePath
0017         onRepaintNeeded: {
0018             bottomPanelShadow.visible = bottomPanelShadow.hasElementPrefix("shadow")
0019             topPanelShadow.visible = topPanelShadow.hasElementPrefix("shadow")
0020             leftPanelShadow.visible = leftPanelShadow.hasElementPrefix("shadow")
0021             rightPanelShadow.visible = rightPanelShadow.hasElementPrefix("shadow")
0022         }
0023     }
0024     Rectangle {
0025         id: background
0026         anchors {
0027             fill: parent
0028             margins: Kirigami.Units.gridUnit
0029         }
0030         radius: 3
0031         color: Kirigami.Theme.backgroundColor
0032         opacity: 0.6
0033     }
0034 
0035     KSvg.FrameSvgItem {
0036         id: bottomPanelShadow
0037         anchors {
0038             horizontalCenter: background.horizontalCenter
0039             bottom: background.bottom
0040         }
0041         width: background.width * 0.7
0042         height: background.width * 0.2
0043         enabledBorders: KSvg.FrameSvgItem.TopBorder | KSvg.FrameSvgItem.LeftBorder | KSvg.FrameSvgItem.RightBorder
0044         imagePath: model.imagePath
0045         onImagePathChanged: visible = hasElementPrefix("shadow")
0046         prefix: "shadow"
0047     }
0048 
0049     KSvg.FrameSvgItem {
0050         anchors {
0051             fill: bottomPanelShadow
0052             leftMargin: bottomPanelShadow.margins.left
0053             topMargin: bottomPanelShadow.margins.top
0054             rightMargin: bottomPanelShadow.margins.right
0055             bottomMargin: bottomPanelShadow.margins.bottom
0056         }
0057         imagePath: model.imagePath
0058         enabledBorders: bottomPanelShadow.enabledBorders
0059 
0060         Rectangle {
0061             id: marginsRectangle
0062             anchors {
0063                 fill: parent
0064                 leftMargin: parent.margins.left
0065                 topMargin: parent.margins.top
0066                 rightMargin: parent.margins.right
0067                 bottomMargin: parent.margins.bottom
0068             }
0069             color: "green"
0070             opacity: 0.5
0071             visible: root.showMargins
0072         }
0073     }
0074 
0075     KSvg.FrameSvgItem {
0076         id: leftPanelShadow
0077         anchors {
0078             verticalCenter: background.verticalCenter
0079             left: background.left
0080         }
0081         height: background.height - background.width * 0.2
0082         width: background.width * 0.2
0083         enabledBorders: KSvg.FrameSvgItem.TopBorder | KSvg.FrameSvgItem.BottomBorder | KSvg.FrameSvgItem.RightBorder
0084         imagePath: model.imagePath
0085         onImagePathChanged: visible = hasElementPrefix("shadow")
0086         prefix: "shadow"
0087     }
0088 
0089     KSvg.FrameSvgItem {
0090         anchors {
0091             fill: leftPanelShadow
0092             leftMargin: leftPanelShadow.margins.left
0093             topMargin: leftPanelShadow.margins.top
0094             rightMargin: leftPanelShadow.margins.right
0095             bottomMargin: leftPanelShadow.margins.bottom
0096         }
0097         imagePath: model.imagePath
0098         enabledBorders: leftPanelShadow.enabledBorders
0099 
0100         Rectangle {
0101             anchors {
0102                 fill: parent
0103                 leftMargin: parent.margins.left
0104                 topMargin: parent.margins.top
0105                 rightMargin: parent.margins.right
0106                 bottomMargin: parent.margins.bottom
0107             }
0108             color: "green"
0109             opacity: 0.5
0110             visible: root.showMargins
0111         }
0112     }
0113 
0114     KSvg.FrameSvgItem {
0115         id: topPanelShadow
0116         anchors {
0117             horizontalCenter: background.horizontalCenter
0118             top: background.top
0119         }
0120         width: background.width * 0.7
0121         height: background.width * 0.2
0122         enabledBorders: KSvg.FrameSvgItem.BottomBorder | KSvg.FrameSvgItem.LeftBorder | KSvg.FrameSvgItem.RightBorder
0123         imagePath: model.imagePath
0124         onImagePathChanged: visible = hasElementPrefix("shadow")
0125         prefix: "shadow"
0126     }
0127 
0128     KSvg.FrameSvgItem {
0129         anchors {
0130             fill: topPanelShadow
0131             leftMargin: topPanelShadow.margins.left
0132             topMargin: topPanelShadow.margins.top
0133             rightMargin: topPanelShadow.margins.right
0134             bottomMargin: topPanelShadow.margins.bottom
0135         }
0136         imagePath: model.imagePath
0137         enabledBorders: topPanelShadow.enabledBorders
0138 
0139         Rectangle {
0140             anchors {
0141                 fill: parent
0142                 leftMargin: parent.margins.left
0143                 topMargin: parent.margins.top
0144                 rightMargin: parent.margins.right
0145                 bottomMargin: parent.margins.bottom
0146             }
0147             color: "green"
0148             opacity: 0.5
0149             visible: root.showMargins
0150         }
0151     }
0152 
0153     KSvg.FrameSvgItem {
0154         id: rightPanelShadow
0155         anchors {
0156             verticalCenter: background.verticalCenter
0157             right: background.right
0158         }
0159         height: background.height - background.width * 0.2
0160         width: background.width * 0.2
0161         enabledBorders: KSvg.FrameSvgItem.TopBorder | KSvg.FrameSvgItem.BottomBorder | KSvg.FrameSvgItem.LeftBorder
0162         imagePath: model.imagePath
0163         onImagePathChanged: visible = hasElementPrefix("shadow")
0164         prefix: "shadow"
0165     }
0166 
0167     KSvg.FrameSvgItem {
0168         anchors {
0169             fill: rightPanelShadow
0170             leftMargin: rightPanelShadow.margins.left
0171             topMargin: rightPanelShadow.margins.top
0172             rightMargin: rightPanelShadow.margins.right
0173             bottomMargin: rightPanelShadow.margins.bottom
0174         }
0175         imagePath: model.imagePath
0176         enabledBorders: rightPanelShadow.enabledBorders
0177 
0178         Rectangle {
0179             anchors {
0180                 fill: parent
0181                 leftMargin: parent.margins.left
0182                 topMargin: parent.margins.top
0183                 rightMargin: parent.margins.right
0184                 bottomMargin: parent.margins.bottom
0185             }
0186             color: "green"
0187             opacity: 0.5
0188             visible: root.showMargins
0189         }
0190     }
0191 
0192     PlasmaComponents.Label {
0193         anchors.centerIn: parent
0194         text: model.imagePath
0195         visible: width < marginsRectangle.width
0196     }
0197 }