/* Copyright (C) 2020 Sebastian J. Wolf and other contributors This file is part of Fernschreiber. Fernschreiber is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Fernschreiber is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Fernschreiber. If not, see . */ #ifdef QT_QML_DEBUG #include #endif #include #include #include #include #include #include #include #include "appsettings.h" #include "tdlibwrapper.h" #include "chatlistmodel.h" #include "chatmodel.h" #include "notificationmanager.h" #include "dbusadaptor.h" #include "processlauncher.h" #include "stickermanager.h" int main(int argc, char *argv[]) { QScopedPointer app(SailfishApp::application(argc, argv)); QScopedPointer view(SailfishApp::createView()); QQmlContext *context = view.data()->rootContext(); AppSettings *appSettings = new AppSettings(view.data()); context->setContextProperty("appSettings", appSettings); qmlRegisterUncreatableType("WerkWolf.Fernschreiber", 1, 0, "AppSettings", QString()); TDLibWrapper *tdLibWrapper = new TDLibWrapper(view.data()); context->setContextProperty("tdLibWrapper", tdLibWrapper); qmlRegisterUncreatableType("WerkWolf.Fernschreiber", 1, 0, "TelegramAPI", QString()); DBusAdaptor *dBusAdaptor = tdLibWrapper->getDBusAdaptor(); context->setContextProperty("dBusAdaptor", dBusAdaptor); ChatListModel chatListModel(tdLibWrapper); context->setContextProperty("chatListModel", &chatListModel); ChatModel chatModel(tdLibWrapper); context->setContextProperty("chatModel", &chatModel); NotificationManager notificationManager(tdLibWrapper, appSettings); context->setContextProperty("notificationManager", ¬ificationManager); ProcessLauncher processLauncher; context->setContextProperty("processLauncher", &processLauncher); StickerManager stickerManager(tdLibWrapper); context->setContextProperty("stickerManager", &stickerManager); view->setSource(SailfishApp::pathTo("qml/harbour-fernschreiber.qml")); view->show(); return app->exec(); }