/* * SPDX-FileCopyrightText: 2019 Marco Martin * SPDX-FileCopyrightText: 2021 Devin Lin * * SPDX-License-Identifier: LGPL-2.0-or-later */ import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Layouts 1.1 import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 3.0 as PlasmaComponents import org.kde.plasma.private.mobilehomescreencomponents 0.1 as HomeScreenComponents import org.kde.plasma.private.mobileshell 1.0 as MobileShell Loader { id: root required property var homeScreenState property real topPadding: 0 property real bottomPadding: 0 property real leftPadding: 0 property real rightPadding: 0 property string appDrawerType: "gridview" // gridview/listview readonly property real headerHeight: Math.round(PlasmaCore.Units.gridUnit * 3) sourceComponent: appDrawerType === "gridview" ? gridViewDrawer : listViewDrawer Component { id: headerComponent AppDrawerHeader { onSwitchToListRequested: { if (root.appDrawerType !== "listview") { root.appDrawerType = "listview"; } } onSwitchToGridRequested: { if (root.appDrawerType !== "gridview") { root.appDrawerType = "gridview"; } } } } Component { id: listViewDrawer ListViewAppDrawer { anchors.fill: parent topPadding: root.topPadding bottomPadding: root.bottomPadding leftPadding: root.leftPadding rightPadding: root.rightPadding homeScreenState: root.homeScreenState headerItem: Loader { sourceComponent: headerComponent } headerHeight: root.headerHeight } } Component { id: gridViewDrawer GridViewAppDrawer { anchors.fill: parent topPadding: root.topPadding bottomPadding: root.bottomPadding leftPadding: root.leftPadding rightPadding: root.rightPadding homeScreenState: root.homeScreenState headerItem: Loader { sourceComponent: headerComponent } headerHeight: root.headerHeight } } }