X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fqtuiapplication.cpp;h=2438d9ccbdc61d48eb68cecfe26aca65d55bddae;hb=2c8434f74c68194d56f2084f637419123e61d18b;hp=ac9562f1ad15de70c085d67f1414dd4dcfbb6d55;hpb=20745bd0cbae035b84913127dfec9e8433d1282d;p=quassel.git diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index ac9562f1..2438d9cc 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 @@ -53,19 +50,16 @@ void QtUiApplication::init() _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(); + }); } @@ -74,7 +68,7 @@ Quassel::QuitHandler QtUiApplication::quitHandler() // Wait until the Client instance is destroyed before quitting the event loop return [this]() { quInfo() << "Client shutting down..."; - connect(_client.get(), SIGNAL(destroyed()), QCoreApplication::instance(), SLOT(quit())); + connect(_client.get(), &QObject::destroyed, QCoreApplication::instance(), &QCoreApplication::quit); _client.release()->deleteLater(); }; }