X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fqtuiapplication.cpp;h=9eea3c615842cfd0b6526d88b6d2c189f9ea818f;hb=a0e333e994dce2d949a84930293382020e724596;hp=7ae97df551967c7d127ab0b4d4461b074d382641;hpb=cc9f5099567634673f181aa49ae0b5d19bf93f7c;p=quassel.git diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index 7ae97df5..9eea3c61 100644 --- a/src/qtui/qtuiapplication.cpp +++ b/src/qtui/qtuiapplication.cpp @@ -34,9 +34,6 @@ QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv) { - connect(this, &QGuiApplication::commitDataRequest, this, &QtUiApplication::commitData, Qt::DirectConnection); - connect(this, &QGuiApplication::saveStateRequest, this, &QtUiApplication::saveState, Qt::DirectConnection); - #if QT_VERSION >= 0x050600 QGuiApplication::setFallbackSessionManagementEnabled(false); #endif @@ -50,22 +47,19 @@ void QtUiApplication::init() throw ExitException{EXIT_FAILURE, tr("Could not load or upgrade client settings!")}; } - _client.reset(new Client(std::unique_ptr(new QtUi()))); // TODO C++14: std::make_unique + _client = std::make_unique(std::make_unique()); // Init UI only after the event loop has started - // TODO Qt5: Make this a lambda - QTimer::singleShot(0, this, SLOT(initUi())); -} - - -void QtUiApplication::initUi() -{ - QtUi::instance()->init(); + QTimer::singleShot(0, this, [this]() { + QtUi::instance()->init(); + connect(this, &QGuiApplication::commitDataRequest, this, &QtUiApplication::commitData, Qt::DirectConnection); + connect(this, &QGuiApplication::saveStateRequest, this, &QtUiApplication::saveState, Qt::DirectConnection); - // Needs to happen after UI init, so the MainWin quit handler is registered first - Quassel::registerQuitHandler(quitHandler()); + // Needs to happen after UI init, so the MainWin quit handler is registered first + Quassel::registerQuitHandler(quitHandler()); - resumeSessionIfPossible(); + resumeSessionIfPossible(); + }); }