File indexing completed on 2024-03-24 05:39:28
0001 /* 0002 SPDX-FileCopyrightText: 2013 Reza Fatahilah Shah <rshah0385@kireihana.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef SDDMKCM_H 0007 #define SDDMKCM_H 0008 0009 #include "sddmsettings.h" 0010 #include "themesmodel.h" 0011 #include <KQuickManagedConfigModule> 0012 class ThemeConfig; 0013 class AdvancedConfig; 0014 class SddmData; 0015 0016 class SddmKcm : public KQuickManagedConfigModule 0017 { 0018 Q_OBJECT 0019 Q_PROPERTY(SddmSettings *sddmSettings READ sddmSettings CONSTANT) 0020 Q_PROPERTY(ThemesModel *themesModel READ themesModel CONSTANT) 0021 public: 0022 explicit SddmKcm(QObject *parent, const KPluginMetaData &metaData); 0023 ~SddmKcm() override; 0024 0025 Q_INVOKABLE static QString toLocalFile(const QUrl &url); 0026 Q_INVOKABLE void removeTheme(const QModelIndex &index); 0027 Q_INVOKABLE void installTheme(const QUrl &url); 0028 Q_INVOKABLE void synchronizeSettings(); 0029 Q_INVOKABLE void resetSyncronizedSettings(); 0030 Q_INVOKABLE bool KDEWalletAvailable(); 0031 Q_INVOKABLE void openKDEWallet(); 0032 0033 SddmSettings *sddmSettings() const; 0034 ThemesModel *themesModel() const; 0035 public Q_SLOTS: 0036 void save() override; 0037 Q_SIGNALS: 0038 void errorOccured(const QString &untranslatedMessage); 0039 void syncSuccessful(); 0040 void resetSyncedDataSuccessful(); 0041 0042 private: 0043 SddmData *m_data; 0044 ThemesModel *m_themesModel; 0045 }; 0046 0047 #endif // SDDMKCM_H