aboutsummaryrefslogtreecommitdiff
path: root/ui.qt/source/main.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-06-27 00:09:44 +0000
committerrtk0c <[email protected]>2022-06-27 00:09:44 +0000
commit753c26d320e894069157bd401f7779ad07073d7c (patch)
tree8dc49b0b68285396c6b619db6c1443b1ecc5abd5 /ui.qt/source/main.cpp
parent21aa12d231ab70529322bab325df8293da63dc8d (diff)
(From git) Initial Qt GUI setup
git-svn-id: file:///home/arch/svn/epistmool/trunk@2 71f44415-077c-4ad7-a976-72ddbf76608f
Diffstat (limited to 'ui.qt/source/main.cpp')
-rw-r--r--ui.qt/source/main.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/ui.qt/source/main.cpp b/ui.qt/source/main.cpp
new file mode 100644
index 0000000..e92863f
--- /dev/null
+++ b/ui.qt/source/main.cpp
@@ -0,0 +1,35 @@
+#include <QGuiApplication>
+#include <QLocale>
+#include <QQmlApplicationEngine>
+#include <QTranslator>
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication app(argc, argv);
+
+ QTranslator translator;
+ const QStringList uiLanguages = QLocale::system().uiLanguages();
+ for (const QString& locale : uiLanguages) {
+ const QString baseName = "EpistmoolUI_" + QLocale(locale).name();
+ if (translator.load(":/i18n/" + baseName)) {
+ app.installTranslator(&translator);
+ break;
+ }
+ }
+
+ QQmlApplicationEngine engine;
+ const QUrl url(u"qrc:/EpistmoolUI/source/qml/MainWindow.qml"_qs);
+ QObject::connect(
+ &engine,
+ &QQmlApplicationEngine::objectCreated,
+ &app,
+ [url](QObject* obj, const QUrl& objUrl) {
+ if (!obj && url == objUrl) {
+ QCoreApplication::exit(-1);
+ }
+ },
+ Qt::QueuedConnection);
+ engine.load(url);
+
+ return app.exec();
+}