From 26368df7a6f718b86fa2d5b6a616980037968160 Mon Sep 17 00:00:00 2001 From: Tom Tanner Date: Sun, 3 May 2015 08:43:12 +0100 Subject: Retain 'backup' switch state on mod overwrite options --- src/installationmanager.cpp | 6 +++++- src/queryoverwritedialog.cpp | 3 ++- src/queryoverwritedialog.h | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index e5f03481..b55d8d3a 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -439,8 +439,12 @@ bool InstallationManager::testOverwrite(GuessedValue &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)) { diff --git a/src/queryoverwritedialog.cpp b/src/queryoverwritedialog.cpp index 1d7aea0a..932b2637 100644 --- a/src/queryoverwritedialog.cpp +++ b/src/queryoverwritedialog.cpp @@ -20,11 +20,12 @@ along with Mod Organizer. If not, see . #include "queryoverwritedialog.h" #include "ui_queryoverwritedialog.h" -QueryOverwriteDialog::QueryOverwriteDialog(QWidget *parent) +QueryOverwriteDialog::QueryOverwriteDialog(QWidget *parent, Backup b) : QDialog(parent), ui(new Ui::QueryOverwriteDialog), m_Action(ACT_NONE) { ui->setupUi(this); + ui->backupBox->setChecked(b == BACKUP_YES); QIcon icon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion); ui->iconLabel->setPixmap(icon.pixmap(128)); diff --git a/src/queryoverwritedialog.h b/src/queryoverwritedialog.h index 1a22a60e..3f7b3194 100644 --- a/src/queryoverwritedialog.h +++ b/src/queryoverwritedialog.h @@ -37,8 +37,13 @@ public: ACT_RENAME }; + enum Backup { + BACKUP_NO, + BACKUP_YES + }; + public: - explicit QueryOverwriteDialog(QWidget *parent = 0); + QueryOverwriteDialog(QWidget *parent, Backup b); ~QueryOverwriteDialog(); bool backup() const; Action action() const { return m_Action; } -- cgit v1.3.1