From de357ec4bc24edeeaabc892c01ab8d18768455dc Mon Sep 17 00:00:00 2001 From: "kenneth.skovhede@gmail.com" Date: Sat, 11 Sep 2010 10:42:50 +0000 Subject: [PATCH] Fixed an issue with the wizard re-displaying warnings git-svn-id: https://duplicati.googlecode.com/svn/trunk@504 59da171f-624f-0410-aa54-27559c288bec --- Duplicati/GUI/Datamodel/Task.Extension.cs | 40 +++++- .../Add backup/CleanupSettings.cs | 27 ++-- .../Add backup/PasswordSettings.cs | 15 +- .../GUI/Wizard pages/Add backup/SelectWhen.cs | 57 +++----- .../GUI/Wizard pages/WizardSettingsWrapper.cs | 136 ++++++++++++++++++ 5 files changed, 215 insertions(+), 60 deletions(-) diff --git a/Duplicati/GUI/Datamodel/Task.Extension.cs b/Duplicati/GUI/Datamodel/Task.Extension.cs index 6895501ec..32abbf8be 100644 --- a/Duplicati/GUI/Datamodel/Task.Extension.cs +++ b/Duplicati/GUI/Datamodel/Task.Extension.cs @@ -201,6 +201,14 @@ namespace Duplicati.Datamodel private const string SELECTFILES_INCLUDEIMAGES = "Select Files - Include Images"; private const string SELECTFILES_INCLUDEAPPDATA = "Select Files - Include AppData"; + private const string SELECTWHEN_WARNEDNOSCHEDULE = "Select When - Warned No Schedule"; + private const string SELECTWHEN_WARNEDTOOMANYINCREMENTALS = "Select When - Warned Too Many Incrementals"; + private const string SELECTWHEN_WARNEDNOINCREMENTALS = "Select When - Warned No Incrementals"; + + private const string PASSWORDSETTINGS_WARNEDNOPASSWORD = "Password Settings - Warned No Password"; + + private const string CLEANUPSETTINGS_WARNEDNOCLEANUP = "Cleanup Settings - Warned No Cleanup"; + private Task m_owner; public TaskExtensionWrapper(Task owner) @@ -321,6 +329,36 @@ namespace Duplicati.Datamodel get { return Duplicati.Library.Core.Utility.ParseBool(m_owner.TaskExtensionsLookup[SELECTFILES_INCLUDEAPPDATA], false); } set { m_owner.TaskExtensionsLookup[SELECTFILES_INCLUDEAPPDATA] = value.ToString(); } } - } + + public bool SelectWhen_WarnedNoSchedule + { + get { return Duplicati.Library.Core.Utility.ParseBool(m_owner.TaskExtensionsLookup[SELECTWHEN_WARNEDNOSCHEDULE], false); } + set { m_owner.TaskExtensionsLookup[SELECTWHEN_WARNEDNOSCHEDULE] = value.ToString(); } + } + + public bool SelectWhen_WarnedNoIncrementals + { + get { return Duplicati.Library.Core.Utility.ParseBool(m_owner.TaskExtensionsLookup[SELECTWHEN_WARNEDNOINCREMENTALS], false); } + set { m_owner.TaskExtensionsLookup[SELECTWHEN_WARNEDNOINCREMENTALS] = value.ToString(); } + } + + public bool SelectWhen_WarnedTooManyIncrementals + { + get { return Duplicati.Library.Core.Utility.ParseBool(m_owner.TaskExtensionsLookup[SELECTWHEN_WARNEDTOOMANYINCREMENTALS], false); } + set { m_owner.TaskExtensionsLookup[SELECTWHEN_WARNEDTOOMANYINCREMENTALS] = value.ToString(); } + } + + public bool PasswordSettings_WarnedNoPassword + { + get { return Duplicati.Library.Core.Utility.ParseBool(m_owner.TaskExtensionsLookup[PASSWORDSETTINGS_WARNEDNOPASSWORD], false); } + set { m_owner.TaskExtensionsLookup[PASSWORDSETTINGS_WARNEDNOPASSWORD] = value.ToString(); } + } + + public bool CleanupSettings_WarnedNoCleanup + { + get { return Duplicati.Library.Core.Utility.ParseBool(m_owner.TaskExtensionsLookup[CLEANUPSETTINGS_WARNEDNOCLEANUP], false); } + set { m_owner.TaskExtensionsLookup[CLEANUPSETTINGS_WARNEDNOCLEANUP] = value.ToString(); } + } +} } } diff --git a/Duplicati/GUI/Wizard pages/Add backup/CleanupSettings.cs b/Duplicati/GUI/Wizard pages/Add backup/CleanupSettings.cs index ebcddd72e..610044e14 100644 --- a/Duplicati/GUI/Wizard pages/Add backup/CleanupSettings.cs +++ b/Duplicati/GUI/Wizard pages/Add backup/CleanupSettings.cs @@ -32,8 +32,6 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup { public partial class CleanupSettings : WizardControl { - private bool m_warnedClean = false; - private WizardSettingsWrapper m_wrapper; public CleanupSettings() @@ -54,8 +52,6 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup void IncrementalSettings_PageLeave(object sender, PageChangedArgs args) { - m_settings["Incremental:WarnedClean"] = m_warnedClean; - if (args.Direction == PageChangedDirection.Back) return; @@ -78,18 +74,16 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup } } - if (!m_warnedClean && !(EnableCleanupDuration.Checked || EnableFullBackupClean.Checked)) + if (!m_wrapper.CleanupSettingsUI.HasWarnedClean && !(EnableCleanupDuration.Checked || EnableFullBackupClean.Checked)) { if (MessageBox.Show(this, Strings.CleanupSettings.DisabledCleanupWarning, Application.ProductName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning) != DialogResult.Yes) { args.Cancel = true; return; } - m_warnedClean = true; + m_wrapper.CleanupSettingsUI.HasWarnedClean = true; } - m_settings["Incremental:WarnedClean"] = m_warnedClean; - m_wrapper.MaxFullBackups = EnableFullBackupClean.Checked ? (int)CleanFullBackupCount.Value : 0; m_wrapper.BackupExpireInterval = EnableCleanupDuration.Checked ? CleanupDuration.Value : ""; m_wrapper.IgnoreFileTimestamps = IgnoreTimestamps.Checked; @@ -101,7 +95,9 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup void IncrementalSettings_PageEnter(object sender, PageChangedArgs args) { m_wrapper = new WizardSettingsWrapper(m_settings); - + + bool hasWarnedClean = m_wrapper.CleanupSettingsUI.HasWarnedClean; + if (!m_valuesAutoLoaded) { if (m_wrapper.MaxFullBackups > 0) @@ -111,7 +107,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup } else { - CleanFullBackupCount.Value = 0; + CleanFullBackupCount.Value = 4; EnableFullBackupClean.Checked = false; } @@ -123,30 +119,29 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup IgnoreTimestamps.Checked = m_wrapper.IgnoreFileTimestamps; } - if (m_settings.ContainsKey("Incremental:WarnedClean")) - m_warnedClean = (bool)m_settings["Incremental:WarnedClean"]; + m_wrapper.CleanupSettingsUI.HasWarnedClean = hasWarnedClean; } private void EnableFullBackupClean_CheckedChanged(object sender, EventArgs e) { CleanFullBackupCount.Enabled = EnableFullBackupClean.Checked; - m_warnedClean = false; + m_wrapper.CleanupSettingsUI.HasWarnedClean = false; } private void EnableCleanupDuration_CheckedChanged(object sender, EventArgs e) { CleanupDuration.Enabled = EnableCleanupDuration.Checked; - m_warnedClean = false; + m_wrapper.CleanupSettingsUI.HasWarnedClean = false; } private void CleanFullBackupCount_ValueChanged(object sender, EventArgs e) { - m_warnedClean = false; + m_wrapper.CleanupSettingsUI.HasWarnedClean = false; } private void CleanupDuration_ValueChanged(object sender, EventArgs e) { - m_warnedClean = false; + m_wrapper.CleanupSettingsUI.HasWarnedClean = false; } } diff --git a/Duplicati/GUI/Wizard pages/Add backup/PasswordSettings.cs b/Duplicati/GUI/Wizard pages/Add backup/PasswordSettings.cs index 49391d788..97e0559dc 100644 --- a/Duplicati/GUI/Wizard pages/Add backup/PasswordSettings.cs +++ b/Duplicati/GUI/Wizard pages/Add backup/PasswordSettings.cs @@ -32,7 +32,6 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup { public partial class PasswordSettings : WizardControl { - private bool m_warnedNoPassword = false; private bool m_warnedChanged = false; private bool m_settingsChanged = false; private bool m_hasGeneratedNewPassword = false; @@ -76,7 +75,6 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup void PasswordSettings_PageLeave(object sender, PageChangedArgs args) { - m_settings["Password:WarnedNoPassword"] = m_warnedNoPassword; m_settings["Password:WarnedChanged"] = m_warnedChanged; m_settings["Password:SettingsChanged"] = m_settingsChanged; m_settings["Password:NewPasswordGenerated"] = m_hasGeneratedNewPassword; @@ -91,7 +89,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup return; } - if (!m_warnedNoPassword && !EnablePassword.Checked && m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Add) + if (!m_wrapper.PasswordSettingsUI.WarnedNoPassword && !EnablePassword.Checked && m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Add) { if (MessageBox.Show(this, Strings.PasswordSettings.NoPasswordWarning, Application.ProductName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning) != DialogResult.Yes) { @@ -99,7 +97,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup return; } - m_warnedNoPassword = true; + m_wrapper.PasswordSettingsUI.WarnedNoPassword = true; } if (EnablePassword.Checked) @@ -144,7 +142,6 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup } m_settings["Password:SettingsChanged"] = m_settingsChanged; - m_settings["Password:WarnedNoPassword"] = m_warnedNoPassword; m_settings["Password:WarnedChanged"] = m_warnedChanged; m_settings["Password:NewPasswordGenerated"] = m_hasGeneratedNewPassword; @@ -173,6 +170,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup void PasswordSettings_PageEnter(object sender, PageChangedArgs args) { m_wrapper = new WizardSettingsWrapper(m_settings); + bool hasWarnedNoPassword = m_wrapper.PasswordSettingsUI.WarnedNoPassword; if (!m_valuesAutoLoaded) { @@ -200,8 +198,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup EncryptionModule_SelectedIndexChanged(EncryptionModule, null); m_settingsChanged = tmp; - if (m_settings.ContainsKey("Password:WarnedNoPassword")) - m_warnedNoPassword = (bool)m_settings["Password:WarnedNoPassword"]; + m_wrapper.PasswordSettingsUI.WarnedNoPassword = hasWarnedNoPassword; if (m_settings.ContainsKey("Password:WarnedChanged")) m_warnedChanged = (bool)m_settings["Password:WarnedChanged"]; if (m_settings.ContainsKey("Password:SettingsChanged")) @@ -223,7 +220,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup private void EnablePassword_CheckedChanged(object sender, EventArgs e) { Password.Enabled = EncryptionModule.Enabled = GeneratePasswordButton.Enabled = EncryptionControlContainer.Enabled = EnablePassword.Checked; - m_warnedNoPassword = false; + m_wrapper.PasswordSettingsUI.WarnedNoPassword = false; m_settingsChanged = true; } @@ -263,7 +260,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup private void Password_TextChanged(object sender, EventArgs e) { m_settingsChanged = true; - m_warnedNoPassword = false; + m_wrapper.PasswordSettingsUI.WarnedNoPassword = false; } private void GeneratePasswordButton_Click(object sender, EventArgs e) diff --git a/Duplicati/GUI/Wizard pages/Add backup/SelectWhen.cs b/Duplicati/GUI/Wizard pages/Add backup/SelectWhen.cs index f72d08d13..e41e6b20a 100644 --- a/Duplicati/GUI/Wizard pages/Add backup/SelectWhen.cs +++ b/Duplicati/GUI/Wizard pages/Add backup/SelectWhen.cs @@ -32,10 +32,6 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup { public partial class SelectWhen : WizardControl { - private bool m_hasWarnedNoSchedule; - private bool m_hasWarnedNotRecommendedIncremental; - private bool m_hasWarnedTooManyIncremental; - private WizardSettingsWrapper m_wrapper; public SelectWhen() @@ -49,24 +45,20 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup void SelectWhen_PageLeave(object sender, PageChangedArgs args) { - m_settings["When:HasWarnedNoSchedule"] = m_hasWarnedNoSchedule; - m_settings["When:HasWarnedNotRecommendedIncremental"] = m_hasWarnedNotRecommendedIncremental; - m_settings["When:HasWarnedTooManyIncremental"] = m_hasWarnedTooManyIncremental; - if (args.Direction == PageChangedDirection.Back) return; - if (!m_hasWarnedNoSchedule && NoScheduleRadio.Checked) + if (!m_wrapper.SelectWhenUI.HasWarnedNoSchedule && NoScheduleRadio.Checked) { if (MessageBox.Show(this, Strings.SelectWhen.NoScheduleWarning, Application.ProductName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) != DialogResult.Yes) { args.Cancel = true; return; } - m_hasWarnedNoSchedule = true; + m_wrapper.SelectWhenUI.HasWarnedNoSchedule = true; } - if (!m_hasWarnedNotRecommendedIncremental && !IncrementalPeriodRadio.Checked) + if (!m_wrapper.SelectWhenUI.HasWarnedNoIncrementals && !IncrementalPeriodRadio.Checked) { string s = NeverFullRadio.Checked ? Strings.SelectWhen.OnlyIncrementalBackupsWarning : Strings.SelectWhen.OnlyFullBackupsWarning; if (MessageBox.Show(this, s, Application.ProductName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) != DialogResult.Yes) @@ -74,7 +66,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup args.Cancel = true; return; } - m_hasWarnedNoSchedule = true; + m_wrapper.SelectWhenUI.HasWarnedNoIncrementals = true; } DateTime scheduledTime = OffsetDate.Value.Date.Add(OffsetTime.Value.TimeOfDay); @@ -130,7 +122,7 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup return; } - if (!m_hasWarnedTooManyIncremental && fullDuration.Ticks / scheduleInterval.Ticks > 100) + if (!m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental && fullDuration.Ticks / scheduleInterval.Ticks > 100) { if (MessageBox.Show(this, string.Format(Strings.SelectWhen.TooManyIncrementalsWarning,fullDuration.Ticks / scheduleInterval.Ticks), Application.ProductName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning) != DialogResult.Yes) { @@ -138,14 +130,10 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup return; } - m_hasWarnedTooManyIncremental = true; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = true; } } - m_settings["When:HasWarnedNoSchedule"] = m_hasWarnedNoSchedule; - m_settings["When:HasWarnedNotRecommendedIncremental"] = m_hasWarnedNotRecommendedIncremental; - m_settings["When:HasWarnedTooManyIncremental"] = m_hasWarnedTooManyIncremental; - m_wrapper.BackupTimeOffset = scheduledTime; if (ScheduleRadio.Checked) { @@ -190,6 +178,10 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup { m_wrapper = new WizardSettingsWrapper(m_settings); + bool hasWarnedNoSchedule = m_wrapper.SelectWhenUI.HasWarnedNoSchedule; + bool HasWarnedTooManyIncremental = m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental; + bool hasWarnedNoIncrementals = m_wrapper.SelectWhenUI.HasWarnedNoIncrementals; + DayOfWeek d = System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.FirstDayOfWeek; CheckBox[] chks = new CheckBox[] { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; Label[] lbls = new Label[] { Day1Label, Day2Label, Day3Label, Day4Label, Day5Label, Day6Label, Day7Label }; @@ -245,52 +237,49 @@ namespace Duplicati.GUI.Wizard_pages.Add_backup } } - if (m_settings.ContainsKey("When:HasWarnedNoSchedule")) - m_hasWarnedNoSchedule = (bool)m_settings["When:HasWarnedNoSchedule"]; - if (m_settings.ContainsKey("When:HasWarnedNotRecommendedIncremental")) - m_hasWarnedNotRecommendedIncremental = (bool)m_settings["When:HasWarnedNotRecommendedIncremental"]; - if (m_settings.ContainsKey("When:HasWarnedTooManyIncremental")) - m_hasWarnedTooManyIncremental = (bool)m_settings["When:HasWarnedTooManyIncremental"]; + m_wrapper.SelectWhenUI.HasWarnedNoSchedule = hasWarnedNoSchedule; + m_wrapper.SelectWhenUI.HasWarnedNoIncrementals = hasWarnedNoIncrementals; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = HasWarnedTooManyIncremental; } private void ScheduleRadio_CheckedChanged(object sender, EventArgs e) { - m_hasWarnedNoSchedule = false; - m_hasWarnedTooManyIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedNoSchedule = false; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = false; ScheduleGroup.Enabled = ScheduleRadio.Checked; } private void NoScheduleRadio_CheckedChanged(object sender, EventArgs e) { - m_hasWarnedNoSchedule = false; + m_wrapper.SelectWhenUI.HasWarnedNoSchedule = false; } private void IncrementalPeriodRadio_CheckedChanged(object sender, EventArgs e) { - m_hasWarnedNotRecommendedIncremental = false; - m_hasWarnedTooManyIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedNoIncrementals = false; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = false; FullDuration.Enabled = IncrementalPeriodRadio.Checked; } private void NeverFullRadio_CheckedChanged(object sender, EventArgs e) { - m_hasWarnedTooManyIncremental = false; - m_hasWarnedNotRecommendedIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedNoIncrementals = false; } private void AlwaysFullRadio_CheckedChanged(object sender, EventArgs e) { - m_hasWarnedNotRecommendedIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedNoIncrementals = false; } private void RepeatInterval_ValueChanged(object sender, EventArgs e) { - m_hasWarnedTooManyIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = false; } private void AllowedDay_CheckedChanged(object sender, EventArgs e) { - m_hasWarnedTooManyIncremental = false; + m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = false; } } } diff --git a/Duplicati/GUI/Wizard pages/WizardSettingsWrapper.cs b/Duplicati/GUI/Wizard pages/WizardSettingsWrapper.cs index 5c02887f7..98d35e453 100644 --- a/Duplicati/GUI/Wizard pages/WizardSettingsWrapper.cs +++ b/Duplicati/GUI/Wizard pages/WizardSettingsWrapper.cs @@ -29,6 +29,13 @@ namespace Duplicati.GUI.Wizard_pages /// public class WizardSettingsWrapper { + /* + * Most of the properties in this class are just copies + * of the actual data object properties and most of this + * class could be removed if they mapped directly to + * the data objects instead. + */ + private Dictionary m_settings; private const string PREFIX = "WSW_"; @@ -149,6 +156,14 @@ namespace Duplicati.GUI.Wizard_pages this.SelectFilesUI.IncludeImages = schedule.Task.Extensions.SelectFiles_IncludeImages; this.SelectFilesUI.IncludeSettings = schedule.Task.Extensions.SelectFiles_IncludeAppData; + this.SelectWhenUI.HasWarnedNoSchedule = schedule.Task.Extensions.SelectWhen_WarnedNoSchedule; + this.SelectWhenUI.HasWarnedTooManyIncremental = schedule.Task.Extensions.SelectWhen_WarnedTooManyIncrementals; + this.SelectWhenUI.HasWarnedNoIncrementals = schedule.Task.Extensions.SelectWhen_WarnedNoIncrementals; + + this.PasswordSettingsUI.WarnedNoPassword = schedule.Task.Extensions.PasswordSettings_WarnedNoPassword; + + this.CleanupSettingsUI.HasWarnedClean = schedule.Task.Extensions.CleanupSettings_WarnedNoCleanup; + this.Overrides = new Dictionary(schedule.Task.TaskOverridesLookup); this.EncryptionSettings = new Dictionary(schedule.Task.EncryptionSettingsLookup); this.CompressionSettings = new Dictionary(schedule.Task.CompressionSettingsLookup); @@ -208,6 +223,14 @@ namespace Duplicati.GUI.Wizard_pages schedule.Task.Extensions.SelectFiles_IncludeImages = this.SelectFilesUI.IncludeImages; schedule.Task.Extensions.SelectFiles_IncludeAppData = this.SelectFilesUI.IncludeSettings; + schedule.Task.Extensions.SelectWhen_WarnedNoSchedule = this.SelectWhenUI.HasWarnedNoSchedule; + schedule.Task.Extensions.SelectWhen_WarnedTooManyIncrementals = this.SelectWhenUI.HasWarnedTooManyIncremental; + schedule.Task.Extensions.SelectWhen_WarnedNoIncrementals = this.SelectWhenUI.HasWarnedNoIncrementals; + + schedule.Task.Extensions.PasswordSettings_WarnedNoPassword = this.PasswordSettingsUI.WarnedNoPassword; + + schedule.Task.Extensions.CleanupSettings_WarnedNoCleanup = this.CleanupSettingsUI.HasWarnedClean; + SyncLookupTables(this.Overrides, schedule.Task.TaskOverridesLookup); SyncLookupTables(this.EncryptionSettings, schedule.Task.EncryptionSettingsLookup); @@ -650,6 +673,21 @@ namespace Duplicati.GUI.Wizard_pages /// public SelectFilesUI SelectFilesUI { get { return new SelectFilesUI(this); } } + /// + /// Gets a wrapper for the settings that are available on the SelectWhen UI + /// + public SelectWhenUI SelectWhenUI { get { return new SelectWhenUI(this); } } + + /// + /// Gets a wrapper for the settings that are available on the CleanupSettings UI + /// + public CleanupSettingsUI CleanupSettingsUI { get { return new CleanupSettingsUI(this); } } + + /// + /// Gets a wrapper for the settings that are available on the PasswordSettings UI + /// + public PasswordSettingsUI PasswordSettingsUI { get { return new PasswordSettingsUI(this); } } + /// /// Gets all the encryption settings present on the task /// @@ -966,6 +1004,104 @@ namespace Duplicati.GUI.Wizard_pages get { return m_parent.GetItem("UI:SelectFiles:IncludeSettings", true); } set { m_parent.SetItem("UI:SelectFiles:IncludeSettings", value); } } + } + + /// + /// Represents a set of settings related to the SelectWhen wizard page + /// + public class SelectWhenUI + { + private WizardSettingsWrapper m_parent; + + /// + /// Initializes a new instance of the class. + /// + /// The parent. + public SelectWhenUI(WizardSettingsWrapper parent) + { + m_parent = parent; + } + + /// + /// Gets or sets a value indicating if the user has been warned that there is no schedule + /// + public bool HasWarnedNoSchedule + { + get { return m_parent.GetItem("UI:SelectWhen:HasWarnedNoSchedule", false); } + set { m_parent.SetItem("UI:SelectWhen:HasWarnedNoSchedule", value); } + } + + /// + /// Gets or sets a value indicating if the user has been warned about not selecting incremental backups + /// + public bool HasWarnedNoIncrementals + { + get { return m_parent.GetItem("UI:SelectWhen:HasWarnedNoIncrementals", false); } + set { m_parent.SetItem("UI:SelectWhen:HasWarnedNoIncrementals", value); } + } + + /// + /// Gets or sets a value indicating if the user has been warned that the settings generate too many incrementals + /// + public bool HasWarnedTooManyIncremental + { + get { return m_parent.GetItem("UI:SelectWhen:HasWarnedTooManyIncremental", false); } + set { m_parent.SetItem("UI:SelectWhen:HasWarnedTooManyIncremental", value); } + } } + + /// + /// Represents the persisted settings for the CleanupSettings UI + /// + public class CleanupSettingsUI + { + private WizardSettingsWrapper m_parent; + + /// + /// Initializes a new instance of the class. + /// + /// The parent. + public CleanupSettingsUI(WizardSettingsWrapper parent) + { + m_parent = parent; + } + + /// + /// Gets or sets a value indicating if the user has been warned that cleanup is disabled + /// + public bool HasWarnedClean + { + get { return m_parent.GetItem("UI:CleanupSettings:WarnedClean", false); } + set { m_parent.SetItem("UI:CleanupSettings:WarnedClean", value); } + } + } + + /// + /// Represents a set of settings related to the SelectWhen wizard page + /// + public class PasswordSettingsUI + { + private WizardSettingsWrapper m_parent; + + /// + /// Initializes a new instance of the class. + /// + /// The parent. + public PasswordSettingsUI(WizardSettingsWrapper parent) + { + m_parent = parent; + } + + /// + /// Gets or sets a value indicating if the user has been warned that the backup is not encrypted + /// + public bool WarnedNoPassword + { + get { return m_parent.GetItem("UI:PasswordSettings:WarnedNoPassword", false); } + set { m_parent.SetItem("UI:PasswordSettings:WarnedNoPassword", value); } + } + } + + }