File indexing completed on 2024-05-12 17:07:30

0001 /*
0002     SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org>
0003 
0004     Work sponsored by Technische Universität Dresden:
0005     SPDX-FileCopyrightText: 2022 Klarälvdalens Datakonsult AB a KDAB Group company <info@kdab.com>
0006 
0007     SPDX-License-Identifier: LGPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <KQuickAddons/ManagedConfigModule>
0013 
0014 #include <KSharedConfig>
0015 #include <QKeySequence>
0016 
0017 #include "devicesmodel.h"
0018 
0019 class Touchscreen : public KQuickAddons::ManagedConfigModule
0020 {
0021     Q_OBJECT
0022     Q_PROPERTY(DevicesModel *touchscreensModel READ touchscreensModel CONSTANT)
0023 
0024 public:
0025     explicit Touchscreen(QObject *parent, const KPluginMetaData &metaData, const QVariantList &list);
0026     ~Touchscreen() override;
0027 
0028     void load() override;
0029     void save() override;
0030     void defaults() override;
0031     bool isSaveNeeded() const override;
0032     bool isDefaults() const override;
0033 
0034     DevicesModel *touchscreensModel() const;
0035 
0036 private:
0037     void refreshNeedsSave();
0038 
0039     DevicesModel *const m_touchscreensModel;
0040 };