Preference Packs: Add revert to backup option

This commit is contained in:
Chris Hennes
2022-02-10 23:07:05 -06:00
parent a21b99fed2
commit a7e356c865
12 changed files with 6733 additions and 6 deletions

View File

@@ -45,6 +45,7 @@
#include "DlgCreateNewPreferencePackImp.h"
#include "DlgPreferencePackManagementImp.h"
#include "DlgRevertToBackupConfigImp.h"
using namespace Gui::Dialog;
@@ -96,6 +97,14 @@ DlgGeneralImp::DlgGeneralImp( QWidget* parent )
ui->ManagePreferencePacks->setToolTip(tr("Manage preference packs"));
connect(ui->ManagePreferencePacks, &QPushButton::clicked, this, &DlgGeneralImp::onManagePreferencePacksClicked);
// If there are any saved config file backs, show the revert button, otherwise hide it:
const auto & backups = Application::Instance->prefPackManager()->configBackups();
if (backups.empty())
ui->RevertToSavedConfig->setEnabled(false);
else
ui->RevertToSavedConfig->setEnabled(true);
connect(ui->RevertToSavedConfig, &QPushButton::clicked, this, &DlgGeneralImp::revertToSavedConfig);
}
/**
@@ -379,6 +388,17 @@ void DlgGeneralImp::saveAsNewPreferencePack()
newPreferencePackDialog->open();
}
void DlgGeneralImp::revertToSavedConfig()
{
revertToBackupConfigDialog = std::make_unique<DlgRevertToBackupConfigImp>(this);
connect(revertToBackupConfigDialog.get(), &DlgRevertToBackupConfigImp::accepted, [this]() {
auto parentDialog = qobject_cast<DlgPreferencesImp*> (this->window());
if (parentDialog)
parentDialog->reload();
});
revertToBackupConfigDialog->open();
}
void DlgGeneralImp::newPreferencePackDialogAccepted()
{
auto preferencePackTemplates = Application::Instance->prefPackManager()->templateFiles();