1 /* 2 SPDX-FileCopyrightText: 2007-2011 Aaron Seigo <aseigo@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #ifndef PLASMA_CORONA_P_H 8 #define PLASMA_CORONA_P_H 9 10 #include <QTimer> 11 12 #include <KActionCollection> 13 14 #include "package.h" 15 16 namespace Plasma 17 { 18 class Containment; 19 20 class CoronaPrivate 21 { 22 public: 23 CoronaPrivate(Corona *corona); 24 ~CoronaPrivate(); 25 26 void init(); 27 void toggleImmutability(); 28 void saveLayout(KSharedConfigPtr cg) const; 29 void updateContainmentImmutability(); 30 void containmentDestroyed(QObject *obj); 31 void syncConfig(); 32 void notifyContainmentsReady(); 33 void containmentReady(bool ready); 34 Containment *addContainment(const QString &name, const QVariantList &args, uint id, int lastScreen, bool delayedInit = false); 35 QList<Plasma::Containment *> importLayout(const KConfigGroup &conf, bool mergeConfig); 36 37 Corona *q; 38 KPackage::Package package; 39 KConfigGroup desktopDefaultsConfig; 40 Types::ImmutabilityType immutability; 41 QString configName; 42 KSharedConfigPtr config; 43 QTimer *configSyncTimer; 44 QList<Containment *> containments; 45 KActionCollection actions; 46 int containmentsStarting; 47 bool editMode = false; 48 }; 49 50 } 51 52 #endif 53