a-la-karte/src/main.cpp

69 lines
2.1 KiB
C++
Raw Normal View History

// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2026 A-La-Karte Contributors
#include <QCommandLineParser>
#include <QGuiApplication>
#include <QIcon>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <QQuickStyle>
#include <KAboutData>
#include <KCrash>
#include <KDBusService>
#include <KLocalizedContext>
#include <KLocalizedString>
#include "alakarte-version.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QGuiApplication::setDesktopFileName(QStringLiteral("org.kde.alakarte"));
KLocalizedString::setApplicationDomain("alakarte");
KAboutData aboutData(QStringLiteral("alakarte"),
i18n("A-La-Karte"),
QStringLiteral(ALAKARTE_VERSION_STRING),
i18n("A unified game launcher for KDE Plasma"),
KAboutLicense::GPL_V3,
i18n("© 2026 A-La-Karte Contributors"),
QString(),
QString());
aboutData.addAuthor(i18n("A-La-Karte Team"), i18n("Developer"), QString());
aboutData.setDesktopFileName(QStringLiteral("org.kde.alakarte"));
aboutData.setProductName(QByteArrayLiteral("alakarte"));
KAboutData::setApplicationData(aboutData);
const QIcon fallbackIcon(QStringLiteral(":/icons/sc-apps-org.kde.alakarte.svg"));
QGuiApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("org.kde.alakarte"), fallbackIcon));
KCrash::initialize();
QCommandLineParser parser;
aboutData.setupCommandLine(&parser);
parser.process(app);
aboutData.processCommandLine(&parser);
KDBusService service(KDBusService::Unique);
if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
QQuickStyle::setStyle(QStringLiteral("org.kde.desktop"));
}
QQmlApplicationEngine engine;
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
engine.loadFromModule("org.kde.alakarte", "Main");
if (engine.rootObjects().isEmpty()) {
return -1;
}
return app.exec();
}