File indexing completed on 2024-04-21 14:53:51
0001 /* 0002 SPDX-FileCopyrightText: 2014 Marco Martin <mart@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #ifndef KCMODULEQML_H 0008 #define KCMODULEQML_H 0009 0010 #include <kconfigwidgets_export.h> 0011 0012 #include <KCModule> 0013 0014 #include <memory> 0015 0016 class QQuickItem; 0017 class KCModuleQmlPrivate; 0018 0019 namespace KQuickAddons 0020 { 0021 class ConfigModule; 0022 } 0023 0024 class KCModuleQml : public KCModule 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 KCModuleQml(std::unique_ptr<KQuickAddons::ConfigModule> configModule, QWidget *parent, const QVariantList &args); 0030 ~KCModuleQml() override; 0031 0032 QString quickHelp() const override; 0033 #if KCONFIGWIDGETS_BUILD_DEPRECATED_SINCE(5, 90) 0034 const KAboutData *aboutData() const override; 0035 #endif 0036 0037 public Q_SLOTS: 0038 void load() override; 0039 void save() override; 0040 void defaults() override; 0041 0042 protected: 0043 void focusInEvent(QFocusEvent *event) override; 0044 QSize sizeHint() const override; 0045 bool eventFilter(QObject *watched, QEvent *event) override; 0046 0047 private: 0048 KCModuleQmlPrivate *const d; 0049 0050 Q_PRIVATE_SLOT(d, void syncCurrentIndex()) 0051 }; 0052 0053 #endif