mirror of
https://github.com/ioquake/launch.git
synced 2024-11-28 22:11:55 +00:00
Store the wizard Q3A path in InstallWizard instead of a field.
This commit is contained in:
parent
8e5e041322
commit
c09b876566
5 changed files with 27 additions and 11 deletions
|
@ -60,6 +60,16 @@ void InstallWizard::setIsQuake3PatchRequired(bool value)
|
||||||
isQuake3PatchRequired = value;
|
isQuake3PatchRequired = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString InstallWizard::getQuakePath() const
|
||||||
|
{
|
||||||
|
return quakePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstallWizard::setQuakePath(const QString &path)
|
||||||
|
{
|
||||||
|
quakePath = path;
|
||||||
|
}
|
||||||
|
|
||||||
void InstallWizard::cancel()
|
void InstallWizard::cancel()
|
||||||
{
|
{
|
||||||
if (currentId() == Page_Copy)
|
if (currentId() == Page_Copy)
|
||||||
|
@ -79,7 +89,7 @@ void InstallWizard::on_InstallWizard_finished(int result)
|
||||||
#ifdef Q_OS_WIN32
|
#ifdef Q_OS_WIN32
|
||||||
if (result == QDialog::Accepted)
|
if (result == QDialog::Accepted)
|
||||||
{
|
{
|
||||||
settings->setQuakePath(field("quake3Path").toString());
|
settings->setQuakePath(quakePath);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
result = result; // Silence warning.
|
result = result; // Silence warning.
|
||||||
|
|
|
@ -30,6 +30,9 @@ public:
|
||||||
bool getIsQuake3PatchRequired() const;
|
bool getIsQuake3PatchRequired() const;
|
||||||
void setIsQuake3PatchRequired(bool value);
|
void setIsQuake3PatchRequired(bool value);
|
||||||
|
|
||||||
|
QString getQuakePath() const;
|
||||||
|
void setQuakePath(const QString &path);
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
Page_Setup,
|
Page_Setup,
|
||||||
|
@ -49,6 +52,7 @@ private:
|
||||||
Settings *settings;
|
Settings *settings;
|
||||||
QList<CopyFile> copyFiles;
|
QList<CopyFile> copyFiles;
|
||||||
bool isQuake3PatchRequired;
|
bool isQuake3PatchRequired;
|
||||||
|
QString quakePath;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INSTALLWIZARD_H
|
#endif // INSTALLWIZARD_H
|
||||||
|
|
|
@ -79,7 +79,7 @@ void InstallWizard_Copy::initializePage()
|
||||||
isCopyFinished = false;
|
isCopyFinished = false;
|
||||||
|
|
||||||
// Try to create the destination directory and baseq3 subdirectory.
|
// Try to create the destination directory and baseq3 subdirectory.
|
||||||
const QString quake3Path(field("quake3Path").toString() + QString("/baseq3"));
|
const QString quake3Path(((InstallWizard *)wizard())->getQuakePath() + QString("/baseq3"));
|
||||||
QDir dir;
|
QDir dir;
|
||||||
|
|
||||||
if (!dir.mkpath(quake3Path))
|
if (!dir.mkpath(quake3Path))
|
||||||
|
|
|
@ -224,7 +224,7 @@ void InstallWizard_Patch::downloadFinished()
|
||||||
|
|
||||||
if (strncmp(header.name, pakPrefix, strlen(pakPrefix)) == 0)
|
if (strncmp(header.name, pakPrefix, strlen(pakPrefix)) == 0)
|
||||||
{
|
{
|
||||||
QString filename(field("quake3Path").toString());
|
QString filename(((InstallWizard *)wizard())->getQuakePath());
|
||||||
filename.append('/');
|
filename.append('/');
|
||||||
filename.append(header.name);
|
filename.append(header.name);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,8 @@ void InstallWizard_Setup::initializePage()
|
||||||
|
|
||||||
bool InstallWizard_Setup::validatePage()
|
bool InstallWizard_Setup::validatePage()
|
||||||
{
|
{
|
||||||
|
InstallWizard *iw = (InstallWizard *)wizard();
|
||||||
|
|
||||||
if (ui->stackPages->currentIndex() == Page_Install)
|
if (ui->stackPages->currentIndex() == Page_Install)
|
||||||
{
|
{
|
||||||
QDir dir(ui->cbInstallSource->currentText());
|
QDir dir(ui->cbInstallSource->currentText());
|
||||||
|
@ -67,11 +69,11 @@ bool InstallWizard_Setup::validatePage()
|
||||||
}
|
}
|
||||||
|
|
||||||
// CD doesn't contain latest patch.
|
// CD doesn't contain latest patch.
|
||||||
((InstallWizard *)wizard())->setIsQuake3PatchRequired(true);
|
iw->setIsQuake3PatchRequired(true);
|
||||||
|
|
||||||
// Copy page will copy baseq3/pak0.pk3.
|
// Copy page will copy baseq3/pak0.pk3.
|
||||||
((InstallWizard *)wizard())->addCopyFile(ui->cbInstallSource->currentText() + QString("/QUAKE3/baseq3/pak0.pk3"), ui->txtInstallDest->text() + QString("/baseq3/pak0.pk3"));
|
iw->addCopyFile(ui->cbInstallSource->currentText() + QString("/QUAKE3/baseq3/pak0.pk3"), ui->txtInstallDest->text() + QString("/baseq3/pak0.pk3"));
|
||||||
registerField("quake3Path", ui->txtInstallDest);
|
iw->setQuakePath(ui->txtInstallDest->text());
|
||||||
}
|
}
|
||||||
else if (ui->stackPages->currentIndex() == Page_InstallSteam)
|
else if (ui->stackPages->currentIndex() == Page_InstallSteam)
|
||||||
{
|
{
|
||||||
|
@ -98,10 +100,10 @@ bool InstallWizard_Setup::validatePage()
|
||||||
|
|
||||||
for (int i = 0; i < pakFiles.size(); i++)
|
for (int i = 0; i < pakFiles.size(); i++)
|
||||||
{
|
{
|
||||||
((InstallWizard *)wizard())->addCopyFile(pakFiles.at(i).absoluteFilePath(), ui->txtInstallSteamDest->text() + QString("/baseq3/") + pakFiles.at(i).fileName());
|
iw->addCopyFile(pakFiles.at(i).absoluteFilePath(), ui->txtInstallSteamDest->text() + QString("/baseq3/") + pakFiles.at(i).fileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
registerField("quake3Path", ui->txtInstallSteamDest);
|
iw->setQuakePath(ui->txtInstallSteamDest->text());
|
||||||
}
|
}
|
||||||
#ifdef Q_OS_WIN32
|
#ifdef Q_OS_WIN32
|
||||||
else if (ui->stackPages->currentIndex() == Page_Locate)
|
else if (ui->stackPages->currentIndex() == Page_Locate)
|
||||||
|
@ -125,7 +127,7 @@ bool InstallWizard_Setup::validatePage()
|
||||||
{
|
{
|
||||||
// pak1.pk3 doesn't exist, must be a fresh install.
|
// pak1.pk3 doesn't exist, must be a fresh install.
|
||||||
((InstallWizard *)wizard())->setIsQuake3PatchRequired(true);
|
((InstallWizard *)wizard())->setIsQuake3PatchRequired(true);
|
||||||
registerField("quake3Path", ui->txtLocatePath);
|
iw->setQuakePath(ui->txtLocatePath->text());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,8 +138,8 @@ bool InstallWizard_Setup::validatePage()
|
||||||
}
|
}
|
||||||
|
|
||||||
const QByteArray hash = QCryptographicHash::hash(file.readAll(), QCryptographicHash::Md5).toHex();
|
const QByteArray hash = QCryptographicHash::hash(file.readAll(), QCryptographicHash::Md5).toHex();
|
||||||
((InstallWizard *)wizard())->setIsQuake3PatchRequired(hash != "48911719d91be25adb957f2d325db4a0");
|
iw->setIsQuake3PatchRequired(hash != "48911719d91be25adb957f2d325db4a0");
|
||||||
registerField("quake3Path", ui->txtLocatePath);
|
iw->setQuakePath(ui->txtLocatePath->text());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue