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 };