diff --git a/apps/wizard/installationpage.cpp b/apps/wizard/installationpage.cpp index 24e573f1b5..0df0dbb57a 100644 --- a/apps/wizard/installationpage.cpp +++ b/apps/wizard/installationpage.cpp @@ -17,38 +17,38 @@ Wizard::InstallationPage::InstallationPage(QWidget *parent, Config::GameSettings mFinished = false; - mThread = new QThread(); - mUnshield = new UnshieldWorker(mGameSettings.value("morrowind-bsa-filesize").toLongLong()); - mUnshield->moveToThread(mThread); + mThread = std::make_unique(); + mUnshield = std::make_unique(mGameSettings.value("morrowind-bsa-filesize").toLongLong()); + mUnshield->moveToThread(mThread.get()); - connect(mThread, SIGNAL(started()), - mUnshield, SLOT(extract())); + connect(mThread.get(), SIGNAL(started()), + mUnshield.get(), SLOT(extract())); - connect(mUnshield, SIGNAL(finished()), - mThread, SLOT(quit())); + connect(mUnshield.get(), SIGNAL(finished()), + mThread.get(), SLOT(quit())); - connect(mUnshield, SIGNAL(finished()), + connect(mUnshield.get(), SIGNAL(finished()), this, SLOT(installationFinished()), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(error(QString, QString)), + connect(mUnshield.get(), SIGNAL(error(QString, QString)), this, SLOT(installationError(QString, QString)), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(textChanged(QString)), + connect(mUnshield.get(), SIGNAL(textChanged(QString)), installProgressLabel, SLOT(setText(QString)), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(textChanged(QString)), + connect(mUnshield.get(), SIGNAL(textChanged(QString)), logTextEdit, SLOT(appendPlainText(QString)), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(textChanged(QString)), + connect(mUnshield.get(), SIGNAL(textChanged(QString)), mWizard, SLOT(addLogText(QString)), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(progressChanged(int)), + connect(mUnshield.get(), SIGNAL(progressChanged(int)), installProgressBar, SLOT(setValue(int)), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(requestFileDialog(Wizard::Component)), + connect(mUnshield.get(), SIGNAL(requestFileDialog(Wizard::Component)), this, SLOT(showFileDialog(Wizard::Component)), Qt::QueuedConnection); - connect(mUnshield, SIGNAL(requestOldVersionDialog()), + connect(mUnshield.get(), SIGNAL(requestOldVersionDialog()), this, SLOT(showOldVersionDialog()) , Qt::QueuedConnection); } @@ -60,9 +60,6 @@ Wizard::InstallationPage::~InstallationPage() mThread->quit(); mThread->wait(); } - - delete mUnshield; - delete mThread; } void Wizard::InstallationPage::initializePage() diff --git a/apps/wizard/installationpage.hpp b/apps/wizard/installationpage.hpp index 49c92a5f31..d2380956cc 100644 --- a/apps/wizard/installationpage.hpp +++ b/apps/wizard/installationpage.hpp @@ -1,6 +1,8 @@ #ifndef INSTALLATIONPAGE_HPP #define INSTALLATIONPAGE_HPP +#include + #include #include "unshield/unshieldworker.hpp" @@ -30,8 +32,8 @@ namespace Wizard MainWizard *mWizard; bool mFinished; - QThread* mThread; - UnshieldWorker *mUnshield; + std::unique_ptr mThread; + std::unique_ptr mUnshield; void startInstallation();