File indexing completed on 2024-05-19 04:43:12

0001 #include <QtQml>
0002 #include <QApplication>
0003 #include <QQmlApplicationEngine>
0004 #include <QIcon>
0005 #include <QQuickStyle>
0006 #include <KAboutData>
0007 #include <KLocalizedContext>
0008 #include <KLocalizedString>
0009 
0010 int main(int argCount, char* argVector[])
0011 {
0012     QApplication app(argCount, argVector);
0013     KLocalizedString::setApplicationDomain("org.kde.addonsexample");
0014 
0015     KAboutData aboutData(
0016         QStringLiteral("addonsexample"),
0017         i18n("Addons Example"),
0018         QStringLiteral("1.0"),
0019         i18n("This program shows how to use Kirigami Addons"),
0020         KAboutLicense::GPL_V3,
0021         QStringLiteral("(C) 2023"),
0022         i18n("Optional text shown in the About"),
0023         QStringLiteral("https://kde.org"));
0024 
0025     aboutData.addAuthor(i18nc("@info:credit", "John Doe"),
0026                         i18nc("@info:credit", "Maintainer"));
0027 
0028     KAboutData::setApplicationData(aboutData);
0029 
0030     if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
0031         QQuickStyle::setStyle(QStringLiteral("org.kde.desktop"));
0032     }
0033     QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("kde")));
0034 
0035     qmlRegisterSingletonType(
0036         "org.kde.about",
0037         1, 0, "About",
0038         [](QQmlEngine *engine, QJSEngine *) -> QJSValue {
0039             return engine->toScriptValue(KAboutData::applicationData());
0040         }
0041     );
0042 
0043     QQmlApplicationEngine engine;
0044     engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
0045     engine.load(QStringLiteral("qrc:/main.qml"));
0046     app.exec();
0047 }
0048