19 "kcm_kwin_effects.json",
20 registerPlugin<KWin::DesktopEffectsKCM>();
21 registerPlugin<KWin::DesktopEffectsData>();)
26DesktopEffectsKCM::DesktopEffectsKCM(QObject *parent,
const KPluginMetaData &metaData)
27 : KQuickConfigModule(parent, metaData)
28 , m_model(new EffectsModel(this))
30 qmlRegisterType<EffectsFilterProxyModel>(
"org.kde.private.kcms.kwin.effects", 1, 0,
"EffectsFilterProxyModel");
32 setButtons(Apply | Default | Help);
34 connect(m_model, &EffectsModel::dataChanged,
this, &DesktopEffectsKCM::updateNeedsSave);
35 connect(m_model, &EffectsModel::loaded,
this, &DesktopEffectsKCM::updateNeedsSave);
38DesktopEffectsKCM::~DesktopEffectsKCM()
42QAbstractItemModel *DesktopEffectsKCM::effectsModel()
const
47void DesktopEffectsKCM::load()
53void DesktopEffectsKCM::save()
59void DesktopEffectsKCM::defaults()
65void DesktopEffectsKCM::onGHNSEntriesChanged()
67 m_model->load(EffectsModel::LoadOptions::KeepDirty);
70void DesktopEffectsKCM::configure(
const QString &pluginId, QQuickItem *context)
72 const QModelIndex index = m_model->findByPluginId(pluginId);
74 QWindow *transientParent =
nullptr;
75 if (context && context->window()) {
76 transientParent = context->window();
79 m_model->requestConfigure(index, transientParent);
82void DesktopEffectsKCM::updateNeedsSave()
84 setNeedsSave(m_model->needsSave());
85 setRepresentsDefaults(m_model->isDefaults());