Warning, file /plasma/oxygen/kdecoration/oxygensettingsprovider.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #ifndef oxygensettingsprovider_h 0002 #define oxygensettingsprovider_h 0003 /* 0004 * SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0005 * SPDX-FileCopyrightText: 2015 David Edmundson <davidedmundson@kde.org> 0006 * 0007 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0008 */ 0009 0010 #include "oxygen.h" 0011 #include "oxygendecoration.h" 0012 0013 #include <KSharedConfig> 0014 #include <QObject> 0015 0016 namespace Oxygen 0017 { 0018 0019 class DecoHelper; 0020 class ShadowCache; 0021 0022 class SettingsProvider : public QObject 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 //* destructor 0028 ~SettingsProvider(); 0029 0030 //* singleton 0031 static SettingsProvider *self(); 0032 0033 //* helper 0034 DecoHelper *helper(void) const 0035 { 0036 return m_decoHelper; 0037 } 0038 0039 //* shadow cache 0040 ShadowCache *shadowCache(void) const 0041 { 0042 return m_shadowCache; 0043 } 0044 0045 //* internal settings for given decoration 0046 InternalSettingsPtr internalSettings(const Decoration *) const; 0047 0048 public Q_SLOTS: 0049 0050 //* reconfigure 0051 void reconfigure(void); 0052 0053 private: 0054 //* contructor 0055 SettingsProvider(void); 0056 0057 //* default configuration 0058 InternalSettingsPtr m_defaultSettings; 0059 0060 //* exceptions 0061 InternalSettingsList m_exceptions; 0062 0063 //* config object 0064 KSharedConfigPtr m_config; 0065 0066 //* decoration helper 0067 DecoHelper *m_decoHelper = nullptr; 0068 0069 //* shadow cache 0070 ShadowCache *m_shadowCache = nullptr; 0071 0072 //* singleton 0073 static SettingsProvider *s_self; 0074 }; 0075 } 0076 0077 #endif