File indexing completed on 2026-07-06 02:58:26
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 <KQuickAddons/ManagedConfigModule> 0011 #include <KSharedConfig> 0012 0013 class VirtualDesktopsSettings; 0014 0015 namespace KWin 0016 { 0017 class VirtualDesktopsData; 0018 class AnimationsModel; 0019 class DesktopsModel; 0020 0021 class VirtualDesktops : public KQuickAddons::ManagedConfigModule 0022 { 0023 Q_OBJECT 0024 0025 Q_PROPERTY(QAbstractItemModel *desktopsModel READ desktopsModel CONSTANT) 0026 Q_PROPERTY(QAbstractItemModel *animationsModel READ animationsModel CONSTANT) 0027 Q_PROPERTY(VirtualDesktopsSettings *virtualDesktopsSettings READ virtualDesktopsSettings CONSTANT) 0028 0029 public: 0030 explicit VirtualDesktops(QObject *parent = nullptr, const QVariantList &list = QVariantList()); 0031 ~VirtualDesktops() override; 0032 0033 QAbstractItemModel *desktopsModel() const; 0034 0035 QAbstractItemModel *animationsModel() const; 0036 0037 VirtualDesktopsSettings *virtualDesktopsSettings() const; 0038 0039 bool isDefaults() const override; 0040 bool isSaveNeeded() const override; 0041 0042 public Q_SLOTS: 0043 void load() override; 0044 void save() override; 0045 void defaults() override; 0046 0047 void configureAnimation(); 0048 void showAboutAnimation(); 0049 0050 private: 0051 VirtualDesktopsData *m_data; 0052 }; 0053 0054 }