18 #include <QtQml/qqml.h> 19 #include <QDBusConnection> 20 #include <QQmlContext> 21 #include <QtQuick/QQuickWindow> 26 #include "activefocuslogger.h" 27 #include "easingcurve.h" 28 #include "WindowInputMonitor.h" 29 #include "inputwatcher.h" 30 #include "qlimitproxymodelqml.h" 31 #include "unitysortfilterproxymodelqml.h" 32 #include "unitymenumodelpaths.h" 33 #include "windowkeysfilter.h" 34 #include "windowscreenshotprovider.h" 35 #include "windowstatestorage.h" 36 #include "constants.h" 37 #include "timezoneFormatter.h" 38 #include "applicationsfiltermodel.h" 39 #include "inputeventgenerator.h" 40 #include "deviceconfigparser.h" 42 static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
45 Q_UNUSED(scriptEngine)
46 return new WindowStateStorage();
49 static QObject *createConstants(QQmlEngine *engine, QJSEngine *scriptEngine)
52 Q_UNUSED(scriptEngine)
56 void UtilsPlugin::registerTypes(const
char *uri)
58 Q_ASSERT(uri == QLatin1String(
"Utils"));
59 qmlRegisterType<WindowInputMonitor>(uri, 0, 1,
"WindowInputMonitor");
60 qmlRegisterType<QAbstractItemModel>();
61 qmlRegisterType<QLimitProxyModelQML>(uri, 0, 1,
"LimitProxyModel");
62 qmlRegisterType<UnitySortFilterProxyModelQML>(uri, 0, 1,
"UnitySortFilterProxyModel");
63 qmlRegisterType<UnityMenuModelPaths>(uri, 0, 1,
"UnityMenuModelPaths");
64 qmlRegisterType<WindowKeysFilter>(uri, 0, 1,
"WindowKeysFilter");
65 qmlRegisterType<EasingCurve>(uri, 0, 1,
"EasingCurve");
66 qmlRegisterSingletonType<WindowStateStorage>(uri, 0, 1,
"WindowStateStorage", createWindowStateStorage);
67 qmlRegisterType<InputWatcher>(uri, 0, 1,
"InputWatcher");
68 qmlRegisterSingletonType<Constants>(uri, 0, 1,
"Constants", createConstants);
69 qmlRegisterSingletonType<TimezoneFormatter>(uri, 0, 1,
"TimezoneFormatter",
70 [](QQmlEngine*, QJSEngine*) -> QObject* {
return new TimezoneFormatter; });
71 qmlRegisterType<ActiveFocusLogger>(uri, 0, 1,
"ActiveFocusLogger");
72 qmlRegisterType<ApplicationsFilterModel>(uri, 0, 1,
"ApplicationsFilterModel");
73 qmlRegisterType<InputEventGenerator>(uri, 0, 1,
"InputEventGenerator");
74 qmlRegisterType<DeviceConfigParser>(uri, 0, 1,
"DeviceConfigParser");
77 void UtilsPlugin::initializeEngine(QQmlEngine *engine,
const char *uri)
79 QQmlExtensionPlugin::initializeEngine(engine, uri);
81 engine->addImageProvider(QStringLiteral(
"window"),
new WindowScreenshotProvider);