// Squawk messenger. // Copyright (C) 2019 Yury Gubich // // This program 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. // // This program 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 this program. If not, see . #ifndef ROOT_H #define ROOT_H #include #include #include #include #include #include #include #include #include #include "application.h" class Root : public QApplication { Q_OBJECT public: Root(int& argc, char* argv[]); ~Root(); bool notify(QObject* receiver, QEvent* e) override; int run(); bool initializeSettings(); private slots: void onCoreDestroyed(); private: void initializeTranslation(); void initializeAppIcon(); void initializeComponents(); private: static const std::vector appIconSizes; SignalCatcher signalCatcher; QTranslator defaultTranslator; QTranslator currentTranslator; QIcon appIcon; QSettings settings; bool componentsInitialized; Shared::Global* global; QThread* coreThread; Core::Squawk* core; Application* gui; }; #endif // ROOT_H