aerothemeplasma-kde6/KWin/decoration/breeze-v5.93.0/kdecoration/breezesettingsprovider.h

56 lines
973 B
C
Raw Normal View History

2024-06-13 14:59:18 +00:00
/*
* SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#pragma once
#include "breeze.h"
#include "breezedecoration.h"
#include "breezesettings.h"
#include <KSharedConfig>
#include <QObject>
namespace Breeze
{
class SettingsProvider : public QObject
{
Q_OBJECT
public:
//* destructor
~SettingsProvider();
//* singleton
static SettingsProvider *self();
//* internal settings for given decoration
InternalSettingsPtr internalSettings(Decoration *) const;
public Q_SLOTS:
//* reconfigure
void reconfigure();
private:
//* constructor
SettingsProvider();
//* default configuration
InternalSettingsPtr m_defaultSettings;
//* exceptions
InternalSettingsList m_exceptions;
//* config object
KSharedConfigPtr m_config;
//* singleton
static SettingsProvider *s_self;
};
}