File indexing completed on 2024-04-28 16:55:02
0001 /* 0002 SPDX-FileCopyrightText: 2014 Bhushan Shah <bhush94@gmail.com> 0003 SPDX-FileCopyrightText: 2014 Marco Martin <notmart@gmail.com> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 */ 0007 0008 #pragma once 0009 0010 #include "desktopview.h" 0011 #include <plasma/corona.h> 0012 0013 namespace KActivities 0014 { 0015 class Consumer; 0016 } 0017 0018 class StandaloneAppCorona : public Plasma::Corona 0019 { 0020 Q_OBJECT 0021 0022 public: 0023 explicit StandaloneAppCorona(const QString &coronaPlugin, QObject *parent = nullptr); 0024 ~StandaloneAppCorona() override; 0025 0026 QRect screenGeometry(int id) const override; 0027 0028 void loadDefaultLayout() override; 0029 0030 Plasma::Containment *createContainmentForActivity(const QString &activity, int screenNum); 0031 0032 void insertActivity(const QString &id, const QString &plugin); 0033 Plasma::Containment *addPanel(const QString &plugin); 0034 0035 Q_INVOKABLE QStringList availableActivities() const; 0036 0037 public Q_SLOTS: 0038 void load(); 0039 0040 void currentActivityChanged(const QString &newActivity); 0041 void activityAdded(const QString &id); 0042 void activityRemoved(const QString &id); 0043 void toggleWidgetExplorer(); 0044 0045 protected Q_SLOTS: 0046 int screenForContainment(const Plasma::Containment *containment) const override; 0047 0048 private: 0049 QString m_coronaPlugin; 0050 KActivities::Consumer *m_activityConsumer; 0051 KConfigGroup m_desktopDefaultsConfig; 0052 DesktopView *m_view; 0053 QHash<QString, QString> m_activityContainmentPlugins; 0054 };