File indexing completed on 2025-02-16 04:24:52
0001 #include <QApplication> 0002 #include <QQmlApplicationEngine> 0003 #include <QCommandLineParser> 0004 #include <QDate> 0005 #include <QIcon> 0006 0007 #include <MauiKit/Core/mauiapp.h> 0008 0009 #include <KAboutData> 0010 #include <KI18n/KLocalizedString> 0011 0012 #include "../project_version.h" 0013 0014 //Useful for setting quickly an app template 0015 #define ORG_NAME "Maui" 0016 #define PROJECT_NAME "Brun" 0017 #define COMPONENT_NAME "brun" 0018 #define PROJECT_DESCRIPTION "Maui convergent calculator." 0019 #define PROJECT_YEAR "2022" 0020 #define PRODUCT_NAME "maui/brun" 0021 #define PROJECT_PAGE "https://mauikit.org" 0022 #define REPORT_PAGE "https://invent.kde.org/maui/brun/-/issues" 0023 0024 int main(int argc, char *argv[]) 0025 { 0026 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 0027 0028 QApplication app(argc, argv); 0029 0030 app.setOrganizationName(QStringLiteral(ORG_NAME)); 0031 app.setWindowIcon(QIcon(":/logo.png")); 0032 0033 MauiApp::instance()->setIconName("qrc:/logo.svg"); 0034 0035 KLocalizedString::setApplicationDomain(COMPONENT_NAME); 0036 0037 KAboutData about(QStringLiteral(COMPONENT_NAME), i18n(PROJECT_NAME), PROJECT_VERSION_STRING, i18n(PROJECT_DESCRIPTION), 0038 KAboutLicense::LGPL_V3, QString("© %1-%2 %3 Development Team").arg(PROJECT_YEAR, QString::number(QDate::currentDate().year()), ORG_NAME), QString(GIT_BRANCH) + "/" + QString(GIT_COMMIT_HASH)); 0039 0040 about.addAuthor("Camilo Higuita", i18n("Developer"), QStringLiteral("milo.h@aol.com")); 0041 about.addAuthor(i18n("Kalk Developers"), i18n("KDE"), QStringLiteral(""), QStringLiteral("invent.kde.org/plasma-mobile/kalk")); 0042 0043 about.setHomepage(PROJECT_PAGE); 0044 about.setProductName(PRODUCT_NAME); 0045 about.setBugAddress(REPORT_PAGE); 0046 about.setOrganizationDomain(PROJECT_URI); 0047 about.setProgramLogo(app.windowIcon()); 0048 0049 KAboutData::setApplicationData(about); 0050 0051 QCommandLineParser parser; 0052 parser.setApplicationDescription(about.shortDescription()); 0053 parser.process(app); 0054 about.processCommandLine(&parser); 0055 0056 QQmlApplicationEngine engine; 0057 const QUrl url(QStringLiteral("qrc:/main.qml")); 0058 QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, 0059 &app, [url](QObject *obj, const QUrl &objUrl) { 0060 if (!obj && url == objUrl) 0061 QCoreApplication::exit(-1); 0062 }, Qt::QueuedConnection); 0063 engine.load(url); 0064 0065 return app.exec(); 0066 }