KWin
Loading...
Searching...
No Matches
module.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2011 Tamas Krutki <ktamasw@gmail.com>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <KCModule>
10#include <KPackage/Package>
11#include <KPluginMetaData>
12#include <KPluginModel>
13#include <KQuickConfigModule>
14#include <QFileInfo>
15
16class KJob;
17class KWinScriptsData;
18
19class Module : public KQuickConfigModule
20{
21 Q_OBJECT
22
23 Q_PROPERTY(QAbstractItemModel *model READ model CONSTANT)
24 Q_PROPERTY(QList<KPluginMetaData> pendingDeletions READ pendingDeletions NOTIFY pendingDeletionsChanged)
25 Q_PROPERTY(QString errorMessage READ errorMessage NOTIFY messageChanged)
26 Q_PROPERTY(QString infoMessage READ infoMessage NOTIFY messageChanged)
27public:
28 explicit Module(QObject *parent, const KPluginMetaData &data);
29
30 void load() override;
31 void save() override;
32 void defaults() override;
33
34 QAbstractItemModel *model() const
35 {
36 return m_model;
37 }
38
39 Q_INVOKABLE void togglePendingDeletion(const KPluginMetaData &data);
40 Q_INVOKABLE bool canDeleteEntry(const KPluginMetaData &data)
41 {
42 return QFileInfo(data.fileName()).isWritable();
43 }
44
45 QList<KPluginMetaData> pendingDeletions()
46 {
47 return m_pendingDeletions;
48 }
49
50 QString errorMessage() const
51 {
52 return m_errorMessage;
53 }
54 QString infoMessage() const
55 {
56 return m_infoMessage;
57 }
58 void setErrorMessage(const QString &message)
59 {
60 m_infoMessage.clear();
61 m_errorMessage = message;
62 Q_EMIT messageChanged();
63 }
64
68 Q_INVOKABLE void importScript();
69 Q_INVOKABLE void onGHNSEntriesChanged();
70
71 Q_INVOKABLE void configure(const KPluginMetaData &data);
72
73Q_SIGNALS:
76
77private:
78 KWinScriptsData *m_kwinScriptsData;
79 QList<KPluginMetaData> m_pendingDeletions;
80 KPluginModel *m_model;
81 QString m_errorMessage;
82 QString m_infoMessage;
83};
Q_INVOKABLE void onGHNSEntriesChanged()
Definition module.cpp:41
QList< KPluginMetaData > pendingDeletions()
Definition module.h:45
Q_INVOKABLE void togglePendingDeletion(const KPluginMetaData &data)
Definition module.cpp:84
QString infoMessage() const
Definition module.h:54
QList< KPluginMetaData > pendingDeletions
Definition module.h:24
void pendingDeletionsChanged()
Q_INVOKABLE bool canDeleteEntry(const KPluginMetaData &data)
Definition module.h:40
void messageChanged()
Q_INVOKABLE void importScript()
Definition module.cpp:47
QString errorMessage() const
Definition module.h:50
QString errorMessage
Definition module.h:25
QString infoMessage
Definition module.h:26
QAbstractItemModel * model
Definition module.h:23
void defaults() override
Definition module.cpp:95
Q_INVOKABLE void configure(const KPluginMetaData &data)
Definition module.cpp:76
void setErrorMessage(const QString &message)
Definition module.h:58
void save() override
Definition module.cpp:114
void load() override
Definition module.cpp:104
#define explicit