File indexing completed on 2024-06-09 05:25:45
0001 /* 0002 SPDX-FileCopyrightText: 2018 Eike Hein <hein@kde.org> 0003 SPDX-FileCopyrightText: 2018 Vlad Zahorodnii <vlad.zahorodnii@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #pragma once 0009 0010 #include <KQuickManagedConfigModule> 0011 #include <KSharedConfig> 0012 #include <QAbstractItemModel> 0013 0014 class VirtualDesktopsSettings; 0015 0016 namespace KWin 0017 { 0018 class VirtualDesktopsData; 0019 class AnimationsModel; 0020 class DesktopsModel; 0021 0022 class VirtualDesktops : public KQuickManagedConfigModule 0023 { 0024 Q_OBJECT 0025 0026 Q_PROPERTY(QAbstractItemModel *desktopsModel READ desktopsModel CONSTANT) 0027 Q_PROPERTY(QAbstractItemModel *animationsModel READ animationsModel CONSTANT) 0028 Q_PROPERTY(VirtualDesktopsSettings *virtualDesktopsSettings READ virtualDesktopsSettings CONSTANT) 0029 0030 public: 0031 explicit VirtualDesktops(QObject *parent, const KPluginMetaData &metaData); 0032 ~VirtualDesktops() override; 0033 0034 QAbstractItemModel *desktopsModel() const; 0035 0036 QAbstractItemModel *animationsModel() const; 0037 0038 VirtualDesktopsSettings *virtualDesktopsSettings() const; 0039 0040 bool isDefaults() const override; 0041 bool isSaveNeeded() const override; 0042 0043 public Q_SLOTS: 0044 void load() override; 0045 void save() override; 0046 void defaults() override; 0047 0048 void configureAnimation(); 0049 void showAboutAnimation(); 0050 0051 private: 0052 VirtualDesktopsData *m_data; 0053 }; 0054 0055 }