init
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#include <QGuiApplication>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QQmlContext>
|
||||
#include <QCommandLineParser>
|
||||
#include <QFileInfo>
|
||||
#include <QDir>
|
||||
#include <QDebug>
|
||||
|
||||
#include "configmanager.h"
|
||||
#include "buttonsmodel.h"
|
||||
#include "buttoncontroller.h"
|
||||
#include "settingscontainer.h"
|
||||
#include "systeminfo.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
qputenv("QT_IM_MODULE", "qtvirtualkeyboard");
|
||||
QGuiApplication app(argc, argv);
|
||||
QCoreApplication::setApplicationName("ButtonTask");
|
||||
QCoreApplication::setOrganizationName("ButtonTask");
|
||||
QCoreApplication::setApplicationVersion("2.0");
|
||||
|
||||
QCommandLineParser parser;
|
||||
parser.setApplicationDescription("ButtonTask v2 - configurable button panel");
|
||||
parser.addHelpOption();
|
||||
parser.addVersionOption();
|
||||
QCommandLineOption configOpt(QStringList() << "c" << "config",
|
||||
"Path to config.json",
|
||||
"path");
|
||||
parser.addOption(configOpt);
|
||||
parser.process(app);
|
||||
|
||||
QString configPath = parser.value(configOpt);
|
||||
if (configPath.isEmpty())
|
||||
configPath = qEnvironmentVariable("BUTTONTASK_CONFIG");
|
||||
if (configPath.isEmpty())
|
||||
configPath = QCoreApplication::applicationDirPath() + "/config/config.json";
|
||||
|
||||
qInfo() << "Using config:" << configPath;
|
||||
|
||||
ConfigManager config(configPath);
|
||||
ButtonsModel model(&config);
|
||||
ButtonController controller(&config, &model);
|
||||
SettingsContainer settings(&config);
|
||||
SystemInfo systemInfo;
|
||||
|
||||
QQmlApplicationEngine engine;
|
||||
engine.rootContext()->setContextProperty("config", &config);
|
||||
engine.rootContext()->setContextProperty("buttonsModel", &model);
|
||||
engine.rootContext()->setContextProperty("btnController", &controller);
|
||||
engine.rootContext()->setContextProperty("settingsContainer", &settings);
|
||||
engine.rootContext()->setContextProperty("systemInfo", &systemInfo);
|
||||
|
||||
engine.load(QUrl(QStringLiteral("qrc:/qml/Main.qml")));
|
||||
if (engine.rootObjects().isEmpty())
|
||||
return -1;
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
Reference in New Issue
Block a user