11#include <rulesettings.h>
14#include <QAbstractListModel>
16#include <QSortFilterProxyModel>
18#if KWIN_BUILD_ACTIVITIES
19#include <PlasmaActivities/Consumer>
52 explicit RulesModel(QObject *parent =
nullptr);
55 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
56 QHash<int, QByteArray>
roleNames()
const override;
57 QVariant
data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
58 bool setData(
const QModelIndex &index,
const QVariant &value,
int role)
override;
60 QModelIndex
indexOf(
const QString &key)
const;
61 bool hasRule(
const QString &key)
const;
85 void populateRuleList();
87 void writeToSettings(
RuleItem *rule);
89 QString defaultDescription()
const;
90 void processSuggestion(
const QString &key,
const QVariant &value);
92 bool wmclassWarning()
const;
93 bool geometryWarning()
const;
94 bool opacityWarning()
const;
96 static const QHash<QString, QString> x11PropertyHash();
97 void updateVirtualDesktops();
99 QList<OptionsModel::Data> windowTypesModelData()
const;
100 QList<OptionsModel::Data> virtualDesktopsModelData()
const;
101 QList<OptionsModel::Data> activitiesModelData()
const;
102 QList<OptionsModel::Data> placementModelData()
const;
103 QList<OptionsModel::Data> focusModelData()
const;
104 QList<OptionsModel::Data> colorSchemesModelData()
const;
105 QList<OptionsModel::Data> layerModelData()
const;
108 void selectX11Window();
111 QList<RuleItem *> m_ruleList;
112 QHash<QString, RuleItem *> m_rules;
114#if KWIN_BUILD_ACTIVITIES
115 KActivities::Consumer *m_activities;
117 RuleSettings *m_settings;
void showErrorMessage(const QString &title, const QString &message)
RulesModel(QObject *parent=nullptr)
RuleSettings * settings() const
void setDescription(const QString &description)
void descriptionChanged()
QHash< int, QByteArray > roleNames() const override
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
bool setData(const QModelIndex &index, const QVariant &value, int role) override
bool hasRule(const QString &key) const
void virtualDesktopsUpdated()
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Q_INVOKABLE void detectWindowProperties(int miliseconds)
QStringList warningMessages
void setSuggestedProperties(const QVariantMap &info)
RuleItem * ruleItem(const QString &key) const
void warningMessagesChanged()
QModelIndex indexOf(const QString &key) const
void setSettings(RuleSettings *settings)
QList< DBusDesktopDataStruct > DBusDesktopDataVector