/* * SPDX-FileCopyrightText: 2014 Aaron Seigo * SPDX-FileCopyrightText: 2012 Marco Martin * * SPDX-License-Identifier: LGPL-2.0-or-later */ import QtQuick 2.7 import QtGraphicalEffects 1.0 import QtQuick.Controls 2.3 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.shell 2.0 as Shell import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.workspace.components 2.0 as PlasmaWorkspace import org.kde.kquickcontrolsaddons 2.0 import org.kde.activities 0.1 as Activities //import "../components" Rectangle { id: root visible: false //adjust borders is run during setup. We want to avoid painting till completed property Item containment color: (containment && containment.backgroundHints == PlasmaCore.Types.NoBackground) ? "transparent" : theme.textColor function toggleWidgetExplorer(containment) { console.log("Widget Explorer toggled"); if (widgetExplorerStack.source != "") { widgetExplorerStack.source = ""; } else { widgetExplorerStack.setSource(desktop.fileFromPackage("explorer", "WidgetExplorer.qml"), {"containment": containment, "containmentInterface": root.containment}) } } Loader { id: widgetExplorerStack z: 99 asynchronous: true y: containment ? containment.availableScreenRect.y : 0 height: containment ? containment.availableScreenRect.height : parent.height width: parent.width onLoaded: { if (widgetExplorerStack.item) { item.closed.connect(function() { widgetExplorerStack.source = "" }); item.topPanelHeight = containment.availableScreenRect.y item.bottomPanelHeight = root.height - (containment.availableScreenRect.height + containment.availableScreenRect.y) item.leftPanelWidth = containment.availableScreenRect.x item.rightPanelWidth = root.width - (containment.availableScreenRect.width + containment.availableScreenRect.x) } } } Loader { id: pinOverlay anchors { fill: parent topMargin: containment ? containment.availableScreenRect.y : 0 bottomMargin: parent.height - (containment ? (containment.availableScreenRect.height + containment.availableScreenRect.y) : 0) } z: 222 source: Qt.resolvedUrl("Pin.qml") } onContainmentChanged: { containment.parent = root; containment.visible = true; containment.anchors.fill = root; } Component.onCompleted: { visible = true } }