Warning, file /plasma/plasma-mobile/containments/homescreens/halcyon/homescreen.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 #include "homescreen.h" 0005 #include "application.h" 0006 #include "applicationfolder.h" 0007 #include "pinnedmodel.h" 0008 #include "windowlistener.h" 0009 0010 #include <KIO/ApplicationLauncherJob> 0011 #include <KWindowSystem> 0012 0013 #include <QDebug> 0014 #include <QQuickItem> 0015 #include <QtQml> 0016 0017 HomeScreen::HomeScreen(QObject *parent, const KPluginMetaData &data, const QVariantList &args) 0018 : Plasma::Containment{parent, data, args} 0019 { 0020 setHasConfigurationInterface(true); 0021 0022 WindowListener::instance(); // ensure it is created 0023 0024 ApplicationListModel *applicationListModel = new ApplicationListModel{this}; 0025 qmlRegisterSingletonType<ApplicationListModel>("org.kde.phone.homescreen.halcyon", 0026 1, 0027 0, 0028 "ApplicationListModel", 0029 [applicationListModel](QQmlEngine *, QJSEngine *) -> QObject * { 0030 return applicationListModel; 0031 }); 0032 0033 PinnedModel *pinnedModel = new PinnedModel{this, this}; 0034 qmlRegisterSingletonType<PinnedModel>("org.kde.phone.homescreen.halcyon", 1, 0, "PinnedModel", [pinnedModel](QQmlEngine *, QJSEngine *) -> QObject * { 0035 return pinnedModel; 0036 }); 0037 0038 qmlRegisterType<Application>("org.kde.phone.homescreen.halcyon", 1, 0, "Application"); 0039 qmlRegisterType<ApplicationFolder>("org.kde.phone.homescreen.halcyon", 1, 0, "ApplicationFolder"); 0040 } 0041 0042 HomeScreen::~HomeScreen() = default; 0043 0044 bool HomeScreen::showingDesktop() const 0045 { 0046 return KWindowSystem::showingDesktop(); 0047 } 0048 0049 void HomeScreen::setShowingDesktop(bool showingDesktop) 0050 { 0051 KWindowSystem::setShowingDesktop(showingDesktop); 0052 } 0053 0054 K_PLUGIN_CLASS_WITH_JSON(HomeScreen, "package/metadata.json") 0055 0056 #include "homescreen.moc"