File indexing completed on 2024-04-21 05:25:19

0001 /*
0002  *   SPDX-FileCopyrightText: 2019-2020 Aditya Mehra <aix.m@outlook.com>
0003  *
0004  *   SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include <QGuiApplication>
0008 #include <QQmlApplicationEngine>
0009 #include <QtWidgets/QApplication>
0010 #include <QQuickStyle>
0011 #include <QIcon>
0012 #include <QStringList>
0013 #include "filereader.h"
0014 #include "sysinfo.h"
0015 #include "installerlistmodel.h"
0016 #include "globalconfiguration.h"
0017 
0018 static QObject *sysinfo_singleton(QQmlEngine *engine, QJSEngine *scriptEngine)
0019 {
0020     Q_UNUSED(engine)
0021     Q_UNUSED(scriptEngine)
0022 
0023     return new SysInfo;
0024 }
0025 
0026 static QObject *globalconfiguration_singleton(QQmlEngine *engine, QJSEngine *scriptEngine)
0027 {
0028     Q_UNUSED(engine)
0029     Q_UNUSED(scriptEngine)
0030 
0031     return new GlobalConfiguration;
0032 }
0033 
0034 int main(int argc, char *argv[])
0035 { 
0036     QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
0037     QApplication app(argc, argv);
0038     app.setWindowIcon(QIcon("qrc:mycroft-plasma-appicon.png"));
0039     qmlRegisterType<FileReader>("FileReader", 1, 0, "FileReader");
0040     qmlRegisterType<InstallerListModel>("InstallerListModel", 1, 0, "InstallerListModel");
0041     qmlRegisterSingletonType<SysInfo>("SysInfo", 1, 0, "SysInfo", sysinfo_singleton);
0042     qmlRegisterSingletonType<GlobalConfiguration>("GlobalConfiguration", 1, 0, "GlobalConfiguration", globalconfiguration_singleton);
0043 
0044     QQmlApplicationEngine engine;
0045     engine.load(QUrl(QLatin1String("qrc:/qml/main.qml")));
0046     app.processEvents();
0047     return app.exec();
0048 }