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

0001 /*
0002     SPDX-FileCopyrightText: 2020 Tobias Fella <fella@posteo.de>
0003     SPDX-FileCopyrightText: 2022 Méven Car <meven@kde.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <KQuickManagedConfigModule>
0011 
0012 #include "componentchooser.h"
0013 
0014 class ComponentChooserData;
0015 
0016 class KcmComponentChooser : public KQuickManagedConfigModule
0017 {
0018     Q_OBJECT
0019     Q_PROPERTY(ComponentChooser *browsers READ browsers CONSTANT)
0020     Q_PROPERTY(ComponentChooser *emailClients READ emailClients CONSTANT)
0021     Q_PROPERTY(ComponentChooser *terminalEmulators READ terminalEmulators CONSTANT)
0022     Q_PROPERTY(ComponentChooser *fileManagers READ fileManagers CONSTANT)
0023     Q_PROPERTY(ComponentChooser *geoUriHandlers READ geoUriHandlers CONSTANT)
0024     Q_PROPERTY(ComponentChooser *telUriHandlers READ telUriHandlers CONSTANT)
0025     Q_PROPERTY(ComponentChooser *textEditors READ textEditors CONSTANT)
0026     Q_PROPERTY(ComponentChooser *imageViewers READ imageViewers CONSTANT)
0027     Q_PROPERTY(ComponentChooser *musicPlayers READ musicPlayers CONSTANT)
0028     Q_PROPERTY(ComponentChooser *videoPlayers READ videoPlayers CONSTANT)
0029     Q_PROPERTY(ComponentChooser *pdfViewers READ pdfViewers CONSTANT)
0030     Q_PROPERTY(ComponentChooser *archiveManagers READ archiveManagers CONSTANT)
0031 
0032 public:
0033     KcmComponentChooser(QObject *parent, const KPluginMetaData &metaData);
0034 
0035     ComponentChooser *browsers() const;
0036     ComponentChooser *emailClients() const;
0037     ComponentChooser *terminalEmulators() const;
0038     ComponentChooser *fileManagers() const;
0039     ComponentChooser *geoUriHandlers() const;
0040     ComponentChooser *telUriHandlers() const;
0041     ComponentChooser *textEditors() const;
0042     ComponentChooser *imageViewers() const;
0043     ComponentChooser *musicPlayers() const;
0044     ComponentChooser *videoPlayers() const;
0045     ComponentChooser *pdfViewers() const;
0046     ComponentChooser *archiveManagers() const;
0047 
0048     void defaults() override;
0049     void load() override;
0050     void save() override;
0051     bool isDefaults() const override;
0052     bool isSaveNeeded() const override;
0053 
0054 private:
0055     ComponentChooser *m_browsers;
0056     ComponentChooser *m_fileManagers;
0057     ComponentChooser *m_terminalEmulators;
0058     ComponentChooser *m_emailClients;
0059     ComponentChooser *m_geoUriHandlers;
0060     ComponentChooser *m_telUriHandlers;
0061     ComponentChooser *m_textEditors;
0062     ComponentChooser *m_imageViewers;
0063     ComponentChooser *m_musicPlayers;
0064     ComponentChooser *m_videoPlayers;
0065     ComponentChooser *m_pdfViewers;
0066     ComponentChooser *m_archiveManagers;
0067 };