Warning, /plasma/latte-dock/shell/package/contents/views/Panel.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.Layouts 1.1 0009 0010 import org.kde.plasma.core 2.0 as PlasmaCore 0011 0012 PlasmaCore.FrameSvgItem { 0013 id: root 0014 0015 imagePath: containment && containment.backgroundHints === PlasmaCore.Types.NoBackground ? "" : "widgets/panel-background" 0016 //imagePath: "widgets/panel-background" 0017 //imagePath: "" 0018 prefix:"" 0019 // onRepaintNeeded: adjustPrefix(); 0020 0021 property Item containment 0022 property Item viewLayout 0023 0024 readonly property bool verticalPanel: containment && containment.formFactor === PlasmaCore.Types.Vertical 0025 0026 /* Rectangle{ 0027 anchors.fill: parent 0028 color: "transparent" 0029 border.color: "blue" 0030 border.width: 1 0031 }*/ 0032 0033 function adjustPrefix() { 0034 if (!containment) { 0035 return ""; 0036 } 0037 var pre; 0038 switch (containment.location) { 0039 case PlasmaCore.Types.LeftEdge: 0040 pre = "west"; 0041 break; 0042 case PlasmaCore.Types.TopEdge: 0043 pre = "north"; 0044 break; 0045 case PlasmaCore.Types.RightEdge: 0046 pre = "east"; 0047 break; 0048 case PlasmaCore.Types.BottomEdge: 0049 pre = "south"; 0050 break; 0051 default: 0052 prefix = ""; 0053 } 0054 if (hasElementPrefix(pre)) { 0055 prefix = pre; 0056 } else { 0057 prefix = ""; 0058 } 0059 } 0060 0061 Component.onDestruction: { 0062 console.log("latte view qml source deleting..."); 0063 0064 if (containment) { 0065 containment.locationChanged.disconnect(adjustPrefix); 0066 } 0067 } 0068 0069 onContainmentChanged: { 0070 console.log("latte view qml source - containment changed 1..."); 0071 if (!containment) { 0072 return; 0073 } 0074 console.log("latte view qml source - containment changed 2..."); 0075 0076 containment.parent = containmentParent; 0077 containment.visible = true; 0078 containment.anchors.fill = containmentParent; 0079 containment.locationChanged.connect(adjustPrefix); 0080 adjustPrefix(); 0081 0082 for(var i=0; i<containment.children.length; ++i){ 0083 if (containment.children[i].objectName === "containmentViewLayout") { 0084 viewLayout = containment.children[i]; 0085 } 0086 } 0087 } 0088 0089 Item { 0090 id: containmentParent 0091 anchors.fill: parent 0092 } 0093 0094 //! it is used in order to check the right click position 0095 //! the only way to take into account the visual appearance 0096 //! of the applet (including its spacers) 0097 function appletContainsPos(appletId, pos) { 0098 if (viewLayout) { 0099 return viewLayout.appletContainsPos(appletId, pos); 0100 } 0101 0102 return false; 0103 } 0104 }