fuzbal/main.cpp

55 lines
1.2 KiB
C++
Raw Permalink Normal View History

// SPDX-License-Identifier: Unlicense
#include <exception>
#include <QApplication>
#include <QCommandLineParser>
#include <QIcon>
#include <QObject>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <QQmlEngine>
#include <QTextCodec>
#include <QTextStream>
#include <QTranslator>
#include <QtDebug>
#include "io.h"
int main(int argc, char *argv[])
try {
if (QIcon::themeName().isEmpty()) {
QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << ":/icons");;
QIcon::setThemeName("breeze");
}
QApplication app{argc, argv};
app.setOrganizationName("fuzbal");
app.setApplicationName("fuzbal");
app.setApplicationVersion(GIT_VERSION);
QTranslator translator;
translator.load(QLocale(), "fuzbal", "_", ":/i18n");
app.installTranslator(&translator);
QCommandLineParser parser;
parser.setApplicationDescription("Friendly Usable Zero-Bullshit Annotator & Labeler");
parser.addHelpOption();
parser.addVersionOption();
parser.process(app);
IO io;
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("io", &io);
engine.load(QUrl{"qrc:/main.qml"});
return app.exec();
} catch (std::exception &e) {
qCritical() << "critical error:" << e.what();
return 1;
} catch (...) {
qCritical() << "critical error";
return 1;
}