diff options
| author | Tannin <devnull@localhost> | 2015-05-09 21:46:40 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2015-05-09 21:46:40 +0200 |
| commit | 3680e37d392123b7cafa6696b1683b9015d000c1 (patch) | |
| tree | 5600fc5ca82fab678851064fc30069b264edf255 /src/installationmanager.cpp | |
| parent | abba182b1ba630b41660424abf372af527b1612c (diff) | |
| parent | 1403d51a82fa4c7548e21d7411486244881bc8d8 (diff) | |
Merge
Diffstat (limited to 'src/installationmanager.cpp')
| -rw-r--r-- | src/installationmanager.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index 7d431f02..b55d8d3a 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -414,11 +414,7 @@ void InstallationManager::updateProgressFile(LPCWSTR fileName) void InstallationManager::report7ZipError(LPCWSTR errorMessage)
{
-#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
- m_InstallationProgress.setLabelText(QString::fromWCharArray(errorMessage));
-#else
- reportError(QString::fromUtf16(errorMessage));
-#endif
+ reportError(QString::fromWCharArray(errorMessage));
m_CurrentArchive->cancel();
}
@@ -443,8 +439,12 @@ bool InstallationManager::testOverwrite(GuessedValue<QString> &modName, bool *me {
QString targetDirectory = QDir::fromNativeSeparators(m_ModsDirectory + "\\" + modName);
while (QDir(targetDirectory).exists()) {
- QueryOverwriteDialog overwriteDialog(m_ParentWidget);
+ Settings &settings(Settings::instance());
+ bool backup = settings.directInterface().value("backup_install", false).toBool();
+ QueryOverwriteDialog overwriteDialog(m_ParentWidget,
+ backup ? QueryOverwriteDialog::BACKUP_YES : QueryOverwriteDialog::BACKUP_NO);
if (overwriteDialog.exec()) {
+ settings.directInterface().setValue("backup_install", overwriteDialog.backup());
if (overwriteDialog.backup()) {
QString backupDirectory = generateBackupName(targetDirectory);
if (!copyDir(targetDirectory, backupDirectory, false)) {
@@ -545,7 +545,7 @@ bool InstallationManager::doInstall(GuessedValue<QString> &modName, int modID, m_InstallationProgress.setValue(0);
m_InstallationProgress.setWindowModality(Qt::WindowModal);
m_InstallationProgress.show();
- if (!m_CurrentArchive->extract(ToWString(QDir::toNativeSeparators(targetDirectory)).c_str(),
+ if (!m_CurrentArchive->extract(ToWString("\\\\?\\" + QDir::toNativeSeparators(targetDirectory)).c_str(),
new MethodCallback<InstallationManager, void, float>(this, &InstallationManager::updateProgress),
new MethodCallback<InstallationManager, void, LPCWSTR>(this, &InstallationManager::updateProgressFile),
new MethodCallback<InstallationManager, void, LPCWSTR>(this, &InstallationManager::report7ZipError))) {
|
