KWin
Loading...
Searching...
No Matches
rulebooksettings.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2020 Henri Chain <henri.chain@enioka.com>
6 SPDX-FileCopyrightText: 2021 Ismael Asensio <isma.af@gmail.com>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10
11#pragma once
12
13#include "rulebooksettingsbase.h"
14#include <KSharedConfig>
15
16namespace KWin
17{
18class Rules;
19class RuleSettings;
20
21class RuleBookSettings : public RuleBookSettingsBase
22{
23public:
24 RuleBookSettings(KSharedConfig::Ptr config, QObject *parent = nullptr);
25 RuleBookSettings(const QString &configname, KConfig::OpenFlags, QObject *parent = nullptr);
26 RuleBookSettings(KConfig::OpenFlags, QObject *parent = nullptr);
27 RuleBookSettings(QObject *parent = nullptr);
29
30 void setRules(const QList<Rules *> &);
31 QList<Rules *> rules();
32
33 bool usrSave() override;
34 void usrRead() override;
35 bool usrIsSaveNeeded() const;
36
37 int ruleCount() const;
38 RuleSettings *ruleSettingsAt(int row) const;
39 RuleSettings *insertRuleSettingsAt(int row);
40 void removeRuleSettingsAt(int row);
41 void moveRuleSettings(int srcRow, int destRow);
42
43private:
44 static QString generateGroupName();
45
46private:
47 QList<RuleSettings *> m_list;
48 QStringList m_storedGroups;
49};
50
51}
RuleBookSettings(KSharedConfig::Ptr config, QObject *parent=nullptr)
void setRules(const QList< Rules * > &)
RuleSettings * ruleSettingsAt(int row) const
void moveRuleSettings(int srcRow, int destRow)
RuleSettings * insertRuleSettingsAt(int row)
QList< Rules * > rules()