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 "windowinputfilter.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" 41 #include "globalfunctions.h" 43 static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
46 Q_UNUSED(scriptEngine)
47 return new WindowStateStorage();
50 static QObject *createConstants(QQmlEngine *engine, QJSEngine *scriptEngine)
53 Q_UNUSED(scriptEngine)
57 static QObject *createGlobalFunctions(QQmlEngine *engine, QJSEngine *scriptEngine)
60 Q_UNUSED(scriptEngine)
64 void UtilsPlugin::registerTypes(const
char *uri)
66 Q_ASSERT(uri == QLatin1String(
"Utils"));
67 qmlRegisterType<WindowInputMonitor>(uri, 0, 1,
"WindowInputMonitor");
68 qmlRegisterType<QAbstractItemModel>();
69 qmlRegisterType<QLimitProxyModelQML>(uri, 0, 1,
"LimitProxyModel");
70 qmlRegisterType<UnitySortFilterProxyModelQML>(uri, 0, 1,
"UnitySortFilterProxyModel");
71 qmlRegisterType<UnityMenuModelPaths>(uri, 0, 1,
"UnityMenuModelPaths");
72 qmlRegisterType<WindowInputFilter>(uri, 0, 1,
"WindowInputFilter");
73 qmlRegisterType<EasingCurve>(uri, 0, 1,
"EasingCurve");
74 qmlRegisterSingletonType<WindowStateStorage>(uri, 0, 1,
"WindowStateStorage", createWindowStateStorage);
75 qmlRegisterType<InputWatcher>(uri, 0, 1,
"InputWatcher");
76 qmlRegisterSingletonType<Constants>(uri, 0, 1,
"Constants", createConstants);
77 qmlRegisterSingletonType<TimezoneFormatter>(uri, 0, 1,
"TimezoneFormatter",
78 [](QQmlEngine*, QJSEngine*) -> QObject* {
return new TimezoneFormatter; });
79 qmlRegisterType<ActiveFocusLogger>(uri, 0, 1,
"ActiveFocusLogger");
80 qmlRegisterType<ApplicationsFilterModel>(uri, 0, 1,
"ApplicationsFilterModel");
81 qmlRegisterType<InputEventGenerator>(uri, 0, 1,
"InputEventGenerator");
82 qmlRegisterType<DeviceConfigParser>(uri, 0, 1,
"DeviceConfigParser");
83 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1,
"Functions", createGlobalFunctions);
86 void UtilsPlugin::initializeEngine(QQmlEngine *engine,
const char *uri)
88 QQmlExtensionPlugin::initializeEngine(engine, uri);
90 engine->addImageProvider(QStringLiteral(
"window"),
new WindowScreenshotProvider);
The GlobalFunctions class.