File indexing completed on 2024-05-12 05:35:54

0001 /*
0002     SPDX-FileCopyrightText: 2018 <furkantokac34@gmail.com>
0003     SPDX-FileCopyrightText: 2019 Cyril Rossi <cyril.rossi@enioka.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <KQuickManagedConfigModule>
0011 
0012 class WorkspaceOptionsData;
0013 class WorkspaceOptionsGlobalsSettings;
0014 class WorkspaceOptionsPlasmaSettings;
0015 class WorkspaceOptionsKwinSettings;
0016 
0017 class KCMWorkspaceOptions : public KQuickManagedConfigModule
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(WorkspaceOptionsGlobalsSettings *globalsSettings READ globalsSettings CONSTANT)
0021     Q_PROPERTY(WorkspaceOptionsPlasmaSettings *plasmaSettings READ plasmaSettings CONSTANT)
0022     Q_PROPERTY(WorkspaceOptionsKwinSettings *kwinSettings READ kwinSettings CONSTANT)
0023 
0024 public:
0025     KCMWorkspaceOptions(QObject *parent, const KPluginMetaData &metaData);
0026     ~KCMWorkspaceOptions() override
0027     {
0028     }
0029 
0030     WorkspaceOptionsGlobalsSettings *globalsSettings() const;
0031     WorkspaceOptionsPlasmaSettings *plasmaSettings() const;
0032     WorkspaceOptionsKwinSettings *kwinSettings() const;
0033 
0034 public Q_SLOTS:
0035     void save() override;
0036     void requestReboot();
0037 
0038 Q_SIGNALS:
0039     void primarySelectionOptionSaved();
0040 
0041 private:
0042     WorkspaceOptionsData *m_data;
0043 };