diff options
| author | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-05-03 08:43:12 +0100 |
|---|---|---|
| committer | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-05-03 08:43:12 +0100 |
| commit | 26368df7a6f718b86fa2d5b6a616980037968160 (patch) | |
| tree | 372fe8c21c6bb8eb0db0b3428f3526b7eefa35a7 | |
| parent | 5f399f6a39c24cac66e572f1f78aea5703130dea (diff) | |
Retain 'backup' switch state on mod overwrite options
| -rw-r--r-- | src/installationmanager.cpp | 6 | ||||
| -rw-r--r-- | src/queryoverwritedialog.cpp | 3 | ||||
| -rw-r--r-- | src/queryoverwritedialog.h | 7 |
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; }
|
