Warning, /plasma/plasma-workspace/applets/systemtray/container/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.1 0008 import QtQuick.Layouts 1.1 0009 import org.kde.plasma.core as PlasmaCore 0010 import org.kde.plasma.plasmoid 2.0 0011 0012 //SystemTray is a Containment. To have it presented as a widget in Plasma we need thin wrapping applet 0013 PlasmoidItem { 0014 id: root 0015 0016 property ContainmentItem internalSystray 0017 0018 Layout.minimumWidth: internalSystray ? internalSystray.Layout.minimumWidth : 0 0019 Layout.minimumHeight: internalSystray ? internalSystray.Layout.minimumHeight : 0 0020 Layout.preferredWidth: Layout.minimumWidth 0021 Layout.preferredHeight: Layout.minimumHeight 0022 0023 preferredRepresentation: fullRepresentation 0024 Plasmoid.status: internalSystray ? internalSystray.plasmoid.status : PlasmaCore.Types.UnknownStatus 0025 0026 //synchronize state between SystemTray and wrapping Applet 0027 onExpandedChanged: { 0028 if (internalSystray) { 0029 internalSystray.expanded = root.expanded 0030 } 0031 } 0032 Connections { 0033 target: internalSystray 0034 function onExpandedChanged() { 0035 root.expanded = internalSystray.expanded 0036 } 0037 } 0038 0039 Component.onCompleted: { 0040 root.internalSystray = Plasmoid.internalSystray; 0041 0042 if (root.internalSystray == null) { 0043 return; 0044 } 0045 root.internalSystray.parent = root; 0046 root.internalSystray.anchors.fill = root; 0047 } 0048 0049 Connections { 0050 target: Plasmoid 0051 function onInternalSystrayChanged() { 0052 root.internalSystray = Plasmoid.internalSystray; 0053 root.internalSystray.parent = root; 0054 root.internalSystray.anchors.fill = root; 0055 } 0056 } 0057 }