Warning, file /maui/communicator/src/main.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #include <QCommandLineParser> 0002 #include <QIcon> 0003 #include <QQmlApplicationEngine> 0004 #include <QQmlContext> 0005 0006 #ifdef Q_OS_ANDROID 0007 #include <QGuiApplication> 0008 #include <MauiKit3/Core/mauiandroid.h> 0009 #else 0010 #include <QApplication> 0011 #endif 0012 0013 #include <MauiKit3/Core/mauiapp.h> 0014 #include <KI18n/KLocalizedString> 0015 0016 #include "contactimage.h" 0017 #include "contacts/contactsmodel.h" 0018 #include "communicator.h" 0019 0020 #include "../communicator_version.h" 0021 0022 #define COMMUNICATOR_URI "org.maui.communicator" 0023 0024 Q_DECL_EXPORT int main(int argc, char *argv[]) 0025 { 0026 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 0027 QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true); 0028 0029 #if defined Q_OS_ANDROID 0030 QGuiApplication app(argc, argv); 0031 0032 if (!MAUIAndroid::checkRunTimePermissions({"android.permission.WRITE_EXTERNAL_STORAGE", 0033 "android.permission.READ_CALL_LOG", 0034 "android.permission.SEND_SMS", 0035 "android.permission.CALL_PHONE", 0036 "android.permission.MANAGE_ACCOUNTS", 0037 "android.permission.GET_ACCOUNTS", 0038 "android.permission.READ_CONTACTS"})) 0039 return -1; 0040 #else 0041 QApplication app(argc, argv); 0042 #endif 0043 0044 qDebug() << "APP LOADING SPEED TESTS" << 1; 0045 0046 app.setOrganizationName(QStringLiteral("Maui")); 0047 app.setWindowIcon(QIcon("://communicator.svg")); 0048 0049 KLocalizedString::setApplicationDomain("communicator"); 0050 KAboutData about(QStringLiteral("communicator"), 0051 QStringLiteral("Communicator"), 0052 COMMUNICATOR_VERSION_STRING, 0053 i18n("Organize and sync your contacts."), 0054 KAboutLicense::LGPL_V3, 0055 APP_COPYRIGHT_NOTICE, 0056 QString(GIT_BRANCH) + "/" + QString(GIT_COMMIT_HASH)); 0057 0058 about.addAuthor(QStringLiteral("Camilo Higuita"), i18n("Developer"), QStringLiteral("milo.h@aol.com")); 0059 about.setHomepage("https://mauikit.org"); 0060 about.setProductName("maui/communicator"); 0061 about.setBugAddress("https://invent.kde.org/maui/communicator/-/issues"); 0062 about.setOrganizationDomain(COMMUNICATOR_URI); 0063 about.setProgramLogo(app.windowIcon()); 0064 0065 KAboutData::setApplicationData(about); 0066 MauiApp::instance()->setIconName("qrc:/communicator.svg"); 0067 0068 QCommandLineParser parser; 0069 parser.process(app); 0070 0071 about.setupCommandLine(&parser); 0072 about.processCommandLine(&parser); 0073 0074 QQmlApplicationEngine engine; 0075 0076 engine.rootContext()->setContextObject(new KLocalizedContext(&engine)); 0077 0078 engine.addImageProvider("contact", new ContactImage(QQuickImageProvider::ImageType::Image)); 0079 qmlRegisterType<ContactsModel>(COMMUNICATOR_URI, 1, 0, "ContactsList"); 0080 qmlRegisterType<Communicator>(COMMUNICATOR_URI, 1, 0, "Communicator"); 0081 0082 engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 0083 if (engine.rootObjects().isEmpty()) 0084 return -1; 0085 0086 return app.exec(); 0087 }