aboutsummaryrefslogtreecommitdiff
path: root/main.cpp
blob: a2e9d654f1ada71acfcc4186068bd0cba3e436b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <QQmlContext>
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QSettings>

#include "symedit.h"

int main(int argc, char *argv[])
{
	QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
	QCoreApplication::setOrganizationName("Syrja");
	QCoreApplication::setOrganizationDomain("syrja.org");
	QCoreApplication::setApplicationName("SymEdit");
	QSettings::setDefaultFormat(QSettings::IniFormat);

	QGuiApplication app(argc, argv);

	// register enumerations
	qmlRegisterUncreatableMetaObject(Operation::staticMetaObject,
		"Org.Syrja.Symbol.Operation", 1, 0, "Operation", "Error: only enums" );

	// register manager
	SymEditManager manager;
	QQmlApplicationEngine engine;
	engine.rootContext()->setContextProperty("manager", &manager);

	engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
	if ( engine.rootObjects().isEmpty() )
		return -1;

	int result = app.exec();

	manager.SaveSettings();

	return result;
}