1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-17 19:20:49 +00:00

Merge branch 'unique_ptr_wizard' into 'master'

Use unique_ptr for Wizard::InstallationPage members

See merge request OpenMW/openmw!2160
This commit is contained in:
psi29a 2022-07-18 20:54:57 +00:00
commit 6cb8079877
2 changed files with 19 additions and 20 deletions

View File

@ -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<QThread>();
mUnshield = std::make_unique<UnshieldWorker>(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()

View File

@ -1,6 +1,8 @@
#ifndef INSTALLATIONPAGE_HPP
#define INSTALLATIONPAGE_HPP
#include <memory>
#include <QWizardPage>
#include "unshield/unshieldworker.hpp"
@ -30,8 +32,8 @@ namespace Wizard
MainWizard *mWizard;
bool mFinished;
QThread* mThread;
UnshieldWorker *mUnshield;
std::unique_ptr<QThread> mThread;
std::unique_ptr<UnshieldWorker> mUnshield;
void startInstallation();