qtgrpc/examples/grpc/chat/client/main.cpp

39 lines
1.2 KiB
C++

// Copyright (C) 2023 The Qt Company Ltd.
// Copyright (C) 2019 Alexey Edelev <semlanik@gmail.com>
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "chatengine.h"
#include <QtProtobufQtCoreTypes>
#include <QtQml/QQmlApplicationEngine>
#include <QtGui/QFontDatabase>
#include <QtGui/QGuiApplication>
#include <QtGui/QIcon>
int main(int argc, char *argv[])
{
QtProtobuf::registerProtobufQtCoreTypes();
QGuiApplication app(argc, argv);
QGuiApplication::setWindowIcon(QIcon(":/res/qtchat_logo.png"));
QGuiApplication::setApplicationName("QtGrpcChat");
QGuiApplication::setOrganizationName("The Qt Company");
QGuiApplication::setOrganizationDomain("qt.io");
#ifdef USE_EMOJI_FONT
QFontDatabase::addApplicationFont(":/NotoColorEmoji.ttf");
#endif
QQmlApplicationEngine engine;
engine.loadFromModule("QtGrpcChat", "Main");
if (engine.rootObjects().isEmpty())
return -1;
// Install the engine as event filter. We use it to detect inactivity
auto *chatEngine = engine.singletonInstance<ChatEngine*>("QtGrpcChat", "ChatEngine");
app.installEventFilter(chatEngine);
return QGuiApplication::exec();
}