1 #ifndef breezesettingsprovider_h 2 #define breezesettingsprovider_h 3 /* 4 * SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr> 5 * 6 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 7 */ 8 9 #include "breezedecoration.h" 10 #include "breezesettings.h" 11 #include "breeze.h" 12 13 #include <KSharedConfig> 14 15 #include <QObject> 16 17 namespace Breeze 18 { 19 20 class SettingsProvider: public QObject 21 { 22 23 Q_OBJECT 24 25 public: 26 27 //* destructor 28 ~SettingsProvider(); 29 30 //* singleton 31 static SettingsProvider *self(); 32 33 //* internal settings for given decoration 34 InternalSettingsPtr internalSettings(Decoration *) const; 35 36 public Q_SLOTS: 37 38 //* reconfigure 39 void reconfigure(); 40 41 private: 42 43 //* constructor 44 SettingsProvider(); 45 46 //* default configuration 47 InternalSettingsPtr m_defaultSettings; 48 49 //* exceptions 50 InternalSettingsList m_exceptions; 51 52 //* config object 53 KSharedConfigPtr m_config; 54 55 //* singleton 56 static SettingsProvider *s_self; 57 58 }; 59 60 } 61 62 #endif 63