diff --git a/containments/homescreens/folio/package/contents/ui/HomeDelegate.qml b/containments/homescreens/folio/package/contents/ui/HomeDelegate.qml index cc614c1d..232aa194 100644 --- a/containments/homescreens/folio/package/contents/ui/HomeDelegate.qml +++ b/containments/homescreens/folio/package/contents/ui/HomeDelegate.qml @@ -17,7 +17,7 @@ import org.kde.kquickcontrolsaddons 2.0 import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutManager import org.kde.plasma.private.mobileshell 1.0 as MobileShell import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio import "private" as Private diff --git a/containments/homescreens/folio/package/contents/ui/HomeScreen.qml b/containments/homescreens/folio/package/contents/ui/HomeScreen.qml index cf54b065..78793b58 100644 --- a/containments/homescreens/folio/package/contents/ui/HomeScreen.qml +++ b/containments/homescreens/folio/package/contents/ui/HomeScreen.qml @@ -21,7 +21,7 @@ import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutM import org.kde.plasma.private.mobileshell 1.0 as MobileShell import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio Item { id: root diff --git a/containments/homescreens/folio/package/contents/ui/HomeScreenContents.qml b/containments/homescreens/folio/package/contents/ui/HomeScreenContents.qml index 2f6ff691..eb994759 100644 --- a/containments/homescreens/folio/package/contents/ui/HomeScreenContents.qml +++ b/containments/homescreens/folio/package/contents/ui/HomeScreenContents.qml @@ -7,23 +7,23 @@ import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Layouts 1.1 -import QtGraphicalEffects 1.0 +import Qt5Compat.GraphicalEffects 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.draganddrop 2.0 as DragDrop -import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutManager +import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutManager import org.kde.plasma.private.mobileshell 1.0 as MobileShell -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio import "private" as Private DragDrop.DropArea { id: dropArea - + required property var homeScreenState required property Folio.DesktopModel desktopModel @@ -52,6 +52,7 @@ DragDrop.DropArea { z: 999999 appletsLayout: dropArea.appletsLayout favoriteStrip: dropArea.favoriteStrip + desktopModel: dropArea.desktopModel } property bool inAppletEditMode: false @@ -68,7 +69,7 @@ DragDrop.DropArea { event.accept(event.proposedAction); launcherDragManager.active = true; } - + onDragMove: { let posInFavorites = favoriteStrip.mapFromItem(this, event.x, event.y); if (posInFavorites.y > 0) { diff --git a/containments/homescreens/folio/package/contents/ui/LauncherDragManager.qml b/containments/homescreens/folio/package/contents/ui/LauncherDragManager.qml index a18ab6f0..c1c24326 100644 --- a/containments/homescreens/folio/package/contents/ui/LauncherDragManager.qml +++ b/containments/homescreens/folio/package/contents/ui/LauncherDragManager.qml @@ -9,7 +9,7 @@ import QtQuick 2.4 import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutManager import org.kde.plasma.private.mobileshell 1.0 as MobileShell -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio Item { id: root diff --git a/containments/homescreens/folio/package/contents/ui/LauncherRepeater.qml b/containments/homescreens/folio/package/contents/ui/LauncherRepeater.qml index d4d58a25..64d78613 100644 --- a/containments/homescreens/folio/package/contents/ui/LauncherRepeater.qml +++ b/containments/homescreens/folio/package/contents/ui/LauncherRepeater.qml @@ -17,7 +17,7 @@ import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutM import org.kde.plasma.private.mobileshell 1.0 as MobileShell import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState import org.kde.plasma.private.nanoshell 2.0 as NanoShell -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio import org.kde.kirigami 2.14 as Kirigami Repeater { diff --git a/containments/homescreens/folio/package/contents/ui/appdrawer/GridViewAppDrawer.qml b/containments/homescreens/folio/package/contents/ui/appdrawer/GridViewAppDrawer.qml index d423d623..7f24aa09 100644 --- a/containments/homescreens/folio/package/contents/ui/appdrawer/GridViewAppDrawer.qml +++ b/containments/homescreens/folio/package/contents/ui/appdrawer/GridViewAppDrawer.qml @@ -18,7 +18,7 @@ import org.kde.kirigami 2.10 as Kirigami import org.kde.plasma.private.nanoshell 2.0 as NanoShell import org.kde.plasma.private.mobileshell 1.0 as MobileShell import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio import "../private" diff --git a/containments/homescreens/folio/package/contents/ui/appdrawer/ListViewAppDrawer.qml b/containments/homescreens/folio/package/contents/ui/appdrawer/ListViewAppDrawer.qml index b92dbe43..e2198571 100644 --- a/containments/homescreens/folio/package/contents/ui/appdrawer/ListViewAppDrawer.qml +++ b/containments/homescreens/folio/package/contents/ui/appdrawer/ListViewAppDrawer.qml @@ -17,7 +17,7 @@ import org.kde.kirigami 2.10 as Kirigami import org.kde.plasma.private.nanoshell 2.0 as NanoShell import org.kde.plasma.private.mobileshell 1.0 as MobileShell -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio import "../private" diff --git a/containments/homescreens/folio/package/contents/ui/main.qml b/containments/homescreens/folio/package/contents/ui/main.qml index bc7a7728..a74d2a7e 100644 --- a/containments/homescreens/folio/package/contents/ui/main.qml +++ b/containments/homescreens/folio/package/contents/ui/main.qml @@ -15,7 +15,7 @@ import org.kde.plasma.components 3.0 as PlasmaComponents import org.kde.plasma.private.mobileshell 1.0 as MobileShell import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio MobileShell.HomeScreen { id: root diff --git a/containments/homescreens/folio/package/contents/ui/private/DelegateRemoveButton.qml b/containments/homescreens/folio/package/contents/ui/private/DelegateRemoveButton.qml index ac3b9a29..70252b11 100644 --- a/containments/homescreens/folio/package/contents/ui/private/DelegateRemoveButton.qml +++ b/containments/homescreens/folio/package/contents/ui/private/DelegateRemoveButton.qml @@ -16,7 +16,7 @@ import org.kde.kquickcontrolsaddons 2.0 import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutManager import org.kde.plasma.private.mobileshell 1.0 as MobileShell -import org.kde.private.plasma.mobile.homescreen.folio 1.0 as Folio +import org.kde.private.mobile.homescreen.folio 1.0 as Folio PC3.RoundButton { id: removeButton diff --git a/containments/homescreens/folio/plugin/CMakeLists.txt b/containments/homescreens/folio/plugin/CMakeLists.txt index 74207490..23172c1e 100644 --- a/containments/homescreens/folio/plugin/CMakeLists.txt +++ b/containments/homescreens/folio/plugin/CMakeLists.txt @@ -7,7 +7,7 @@ set(folioplugin_SRCS desktopmodel.cpp ) -install(FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/private/plasma/mobile/homescreen/halcyon) +install(FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/private/mobile/homescreen/folio) add_library(folioplugin SHARED ${folioplugin_SRCS}) @@ -24,6 +24,6 @@ target_link_libraries(folioplugin KF6::WaylandClient KF6::WindowSystem) -set_property(TARGET folioplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/private/plasma/mobile/homescreen/folio) -install(TARGETS folioplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/private/plasma/mobile/homescreen/folio) +set_property(TARGET folioplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/private/mobile/homescreen/folio) +install(TARGETS folioplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/private/mobile/homescreen/folio) diff --git a/containments/homescreens/folio/plugin/applicationlistmodel.cpp b/containments/homescreens/folio/plugin/applicationlistmodel.cpp index a279664c..eee16029 100644 --- a/containments/homescreens/folio/plugin/applicationlistmodel.cpp +++ b/containments/homescreens/folio/plugin/applicationlistmodel.cpp @@ -46,6 +46,12 @@ ApplicationListModel::ApplicationListModel(QObject *parent) ApplicationListModel::~ApplicationListModel() = default; +ApplicationListModel *ApplicationListModel::self() +{ + static ApplicationListModel *inst = new ApplicationListModel(nullptr); + return inst; +} + QHash ApplicationListModel::roleNames() const { return {{ApplicationNameRole, QByteArrayLiteral("applicationName")}, diff --git a/containments/homescreens/folio/plugin/applicationlistmodel.h b/containments/homescreens/folio/plugin/applicationlistmodel.h index f7bfc783..12965e23 100644 --- a/containments/homescreens/folio/plugin/applicationlistmodel.h +++ b/containments/homescreens/folio/plugin/applicationlistmodel.h @@ -53,6 +53,7 @@ public: ApplicationListModel(QObject *parent = nullptr); ~ApplicationListModel() override; + static ApplicationListModel *self(); int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; diff --git a/containments/homescreens/folio/plugin/folioplugin.cpp b/containments/homescreens/folio/plugin/folioplugin.cpp index 00b436c4..5feb6361 100644 --- a/containments/homescreens/folio/plugin/folioplugin.cpp +++ b/containments/homescreens/folio/plugin/folioplugin.cpp @@ -7,11 +7,10 @@ void HalcyonPlugin::registerTypes(const char *uri) { - Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.private.plasma.mobile.homescreen.halcyon")); + Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.private.mobile.homescreen.folio")); - ApplicationListModel *applicationListModel = new ApplicationListModel{this}; - qmlRegisterSingletonType(uri, 1, 0, "ApplicationListModel", [applicationListModel](QQmlEngine *, QJSEngine *) -> QObject * { - return applicationListModel; + qmlRegisterSingletonType(uri, 1, 0, "ApplicationListModel", [](QQmlEngine *, QJSEngine *) -> QObject * { + return ApplicationListModel::self(); }); qmlRegisterType(uri, 1, 0, "DesktopModel"); diff --git a/containments/homescreens/folio/plugin/qmldir b/containments/homescreens/folio/plugin/qmldir index 4bd31fb5..a7e0ab09 100644 --- a/containments/homescreens/folio/plugin/qmldir +++ b/containments/homescreens/folio/plugin/qmldir @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2023 Devin Lin # SPDX-License-Identifier: GPL-2.0-or-later -module org.kde.private.plasma.mobile.homescreen.folio +module org.kde.private.mobile.homescreen.folio plugin folioplugin