summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Tanner <thosrtanner2@users.sourceforge.net>2015-05-03 08:43:12 +0100
committerTom Tanner <thosrtanner2@users.sourceforge.net>2015-05-03 08:43:12 +0100
commit26368df7a6f718b86fa2d5b6a616980037968160 (patch)
tree372fe8c21c6bb8eb0db0b3428f3526b7eefa35a7 /src
parent5f399f6a39c24cac66e572f1f78aea5703130dea (diff)
Retain 'backup' switch state on mod overwrite options
Diffstat (limited to 'src')
-rw-r--r--src/installationmanager.cpp6
-rw-r--r--src/queryoverwritedialog.cpp3
-rw-r--r--src/queryoverwritedialog.h7
3 files changed, 13 insertions, 3 deletions
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<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)) {
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 <http://www.gnu.org/licenses/>.
#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; }