File indexing completed on 2024-06-16 05:08:35
0001 /* 0002 SPDX-FileCopyrightText: 2021 Aditya Mehra <aix.m@outlook.com> 0003 SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org> 0004 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #pragma once 0010 0011 #include <Plasma/Containment> 0012 #include "biglauncher_dbus.h" 0013 0014 class ApplicationListModel; 0015 class KcmsListModel; 0016 class SessionManagement; 0017 class BigLauncherDbusAdapterInterface; 0018 0019 class HomeScreen : public Plasma::Containment 0020 { 0021 Q_OBJECT 0022 Q_PROPERTY(ApplicationListModel *applicationListModel READ applicationListModel CONSTANT) 0023 Q_PROPERTY(KcmsListModel *kcmsListModel READ kcmsListModel CONSTANT) 0024 Q_PROPERTY(BigLauncherDbusAdapterInterface *bigLauncherDbusAdapterInterface READ bigLauncherDbusAdapterInterface CONSTANT) 0025 0026 public: 0027 HomeScreen(QObject *parent, const KPluginMetaData &data, const QVariantList &args); 0028 ~HomeScreen() override; 0029 0030 ApplicationListModel *applicationListModel() const; 0031 KcmsListModel *kcmsListModel() const; 0032 BigLauncherDbusAdapterInterface *bigLauncherDbusAdapterInterface() const; 0033 0034 public Q_SLOTS: 0035 void executeCommand(const QString &command); 0036 void requestShutdown(); 0037 void setUseColoredTiles(bool coloredTiles); 0038 void setUseExpandableTiles(bool expandableTiles); 0039 0040 private: 0041 ApplicationListModel *m_applicationListModel; 0042 KcmsListModel *m_kcmsListModel; 0043 SessionManagement *m_session; 0044 BigLauncherDbusAdapterInterface* m_bigLauncherDbusAdapterInterface; 0045 };