File indexing completed on 2024-04-21 03:56:00

0001 /*
0002  *  SPDX-FileCopyrightText: 2009 Alan Alpert <alan.alpert@nokia.com>
0003  *  SPDX-FileCopyrightText: 2010 Ménard Alexis <menard@kde.org>
0004  *  SPDX-FileCopyrightText: 2010 Marco Martin <mart@kde.org>
0005  *
0006  *  SPDX-License-Identifier: LGPL-2.0-or-later
0007  */
0008 
0009 #ifndef KIRIGAMIPLUGIN_H
0010 #define KIRIGAMIPLUGIN_H
0011 
0012 #include <QQmlEngine>
0013 #include <QQmlExtensionPlugin>
0014 #include <QUrl>
0015 
0016 class KirigamiPlugin : public QQmlExtensionPlugin
0017 {
0018     Q_OBJECT
0019     Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
0020 
0021 public:
0022     KirigamiPlugin(QObject *parent = nullptr);
0023     void registerTypes(const char *uri) override;
0024     void initializeEngine(QQmlEngine *engine, const char *uri) override;
0025 
0026 #ifdef KIRIGAMI_BUILD_TYPE_STATIC
0027     static KirigamiPlugin &getInstance();
0028     static void registerTypes(QQmlEngine *engine = nullptr);
0029 #endif
0030 
0031 Q_SIGNALS:
0032     void languageChangeEvent();
0033 
0034 private:
0035     QUrl componentUrl(const QString &fileName) const;
0036 };
0037 
0038 #endif