File indexing completed on 2024-05-12 17:07:09

0001 /*
0002     SPDX-FileCopyrightText: 2020 Tobias Fella <fella@posteo.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KQuickAddons/ManagedConfigModule>
0010 
0011 #include "componentchooser.h"
0012 
0013 class ComponentChooserData;
0014 
0015 class KcmComponentChooser : public KQuickAddons::ManagedConfigModule
0016 {
0017     Q_OBJECT
0018     Q_PROPERTY(ComponentChooser *browsers READ browsers CONSTANT)
0019     Q_PROPERTY(ComponentChooser *emailClients READ emailClients CONSTANT)
0020     Q_PROPERTY(ComponentChooser *terminalEmulators READ terminalEmulators CONSTANT)
0021     Q_PROPERTY(ComponentChooser *fileManagers READ fileManagers CONSTANT)
0022     Q_PROPERTY(ComponentChooser *geoUriHandlers READ geoUriHandlers CONSTANT)
0023     Q_PROPERTY(ComponentChooser *telUriHandlers READ telUriHandlers CONSTANT)
0024 
0025 public:
0026     KcmComponentChooser(QObject *parent, const KPluginMetaData &metaData, const QVariantList &args);
0027 
0028     ComponentChooser *browsers() const;
0029     ComponentChooser *emailClients() const;
0030     ComponentChooser *terminalEmulators() const;
0031     ComponentChooser *fileManagers() const;
0032     ComponentChooser *geoUriHandlers() const;
0033     ComponentChooser *telUriHandlers() const;
0034 
0035     void defaults() override;
0036     void load() override;
0037     void save() override;
0038     bool isDefaults() const override;
0039     bool isSaveNeeded() const override;
0040 
0041 private:
0042     ComponentChooserData *const m_data;
0043 };