2022-06-08 22:09:35 +00:00
|
|
|
// SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
|
2022-06-18 19:42:29 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <Plasma/Containment>
|
|
|
|
|
|
2025-06-25 23:22:58 +00:00
|
|
|
#include "halcyonsettings.h"
|
2025-07-15 02:05:18 +00:00
|
|
|
#include "pinnedmodel.h"
|
2025-06-25 23:22:58 +00:00
|
|
|
|
2022-06-18 19:42:29 +00:00
|
|
|
class HomeScreen : public Plasma::Containment
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
2025-06-25 23:22:58 +00:00
|
|
|
Q_PROPERTY(HalcyonSettings *settings READ settings CONSTANT)
|
2025-07-15 02:05:18 +00:00
|
|
|
Q_PROPERTY(PinnedModel *pinnedModel READ pinnedModel CONSTANT)
|
2022-06-18 19:42:29 +00:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
HomeScreen(QObject *parent, const KPluginMetaData &data, const QVariantList &args);
|
|
|
|
|
~HomeScreen() override;
|
2022-09-24 18:18:55 +00:00
|
|
|
|
2025-06-25 23:22:58 +00:00
|
|
|
HalcyonSettings *settings() const;
|
2025-07-15 02:05:18 +00:00
|
|
|
PinnedModel *pinnedModel() const;
|
2025-06-25 23:22:58 +00:00
|
|
|
|
2022-09-24 18:18:55 +00:00
|
|
|
Q_SIGNALS:
|
|
|
|
|
void showingDesktopChanged(bool showingDesktop);
|
2025-06-25 23:22:58 +00:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
HalcyonSettings *m_settings{nullptr};
|
2025-07-15 02:05:18 +00:00
|
|
|
PinnedModel *m_pinnedModel{nullptr};
|
2022-06-18 19:42:29 +00:00
|
|
|
};
|