diff --git a/src/app/main.cpp b/src/app/main.cpp index 4e134312..5730ce37 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1,13 +1,7 @@ #include "utility/AppPath.h" - -#include - -#include - #include "utility/logging/ConsoleLogger.h" #include "utility/logging/FileLogger.h" #include "utility/logging/LogManager.h" -#include "utility/StandardHeaderDetection.h" #include "utility/ResourcePaths.h" #include "utility/UserPaths.h" #include "utility/Version.h" @@ -24,10 +18,10 @@ #include "qt/window/QtSplashScreen.h" #include "version.h" + #include "utility/solution/SolutionParserVisualStudio.h" #include "settings/ProjectSettings.h" - void init() { std::shared_ptr consoleLogger = std::make_shared(); @@ -42,15 +36,6 @@ void init() utility::loadFontsFromDirectory(ResourcePaths::getFontsPath(), ".otf"); } -QMainWindow* getMainWindow() -{ - QWidgetList widgets = qApp->topLevelWidgets(); - for (QWidgetList::iterator i = widgets.begin(); i != widgets.end(); ++i) - if ((*i)->objectName() == "MainWindow") - return (QMainWindow*) (*i); - return NULL; -} - int main(int argc, char *argv[]) { QApplication::setApplicationName("Coati"); @@ -59,61 +44,44 @@ int main(int argc, char *argv[]) QApplication::setApplicationVersion(version.toDisplayString().c_str()); setup(argc, argv); - QtApplication qtApp(argc, argv); qtApp.setAttribute(Qt::AA_UseHighDpiPixmaps); - QtSplashScreen* splash = new QtSplashScreen(); + QPixmap whitePixmap(500, 500); + whitePixmap.fill(Qt::white); + + QtSplashScreen* splash = new QtSplashScreen(whitePixmap, Qt::WindowStaysOnTopHint); splash->setMessage("Loading UI"); splash->setVersion(version.toDisplayString().c_str()); - -// QTimer* timer = new QTimer(splash); -// QObject::connect(timer, SIGNAL(timeout()), splash, SLOT(animate())); -// timer->start(150); - splash->exec(qtApp); - qtApp.processEvents(); - init(); QtCommandLineParser commandLineParser; commandLineParser.setup(); commandLineParser.process(qtApp); - qtApp.processEvents(); - QtViewFactory viewFactory; QtNetworkFactory networkFactory; - std::shared_ptr app = Application::create(version, &viewFactory, &networkFactory); - if (AppPath::getAppPath().empty()) + if(AppPath::getAppPath().empty()) { AppPath::setAppPath(QCoreApplication::applicationDirPath().toStdString()); } - if(ApplicationSettings::getInstance()->getHeaderSearchPaths().empty()) - { - StandardHeaderDetection headerDetection; - headerDetection.detectHeaders(); - ApplicationSettings::getInstance()->setHeaderSearchPaths(headerDetection.getDefaultHeaderPaths()); - } - - splash->setMessage("Checking License"); LicenseChecker checker; + + std::shared_ptr app = Application::create(version, &viewFactory, &networkFactory); + checker.setApp(app.get()); - splash->setMessage("Parse Commandline Arguments"); - commandLineParser.parseCommandline(); - - qtApp.processEvents(); - splash->setMessage("Done"); - if (splash) { delete splash; } + commandLineParser.parseCommandline(); + return qtApp.exec(); }