From 37c77f25bde57753a7b2dff62439827b299dc5d4 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Fri, 4 Sep 2026 13:42:18 -0700 Subject: [PATCH] LT-22738: Change the default restore option for Send/Receive data The Send/Receive checkbox in the restore dialog now follows the restore target instead of the backup contents. Restoring over the original name forces it on, because that project keeps its repository history, and restoring to a different name leaves it unchecked until the user asks for it. It stays unavailable when the backup holds no Send/Receive data. Co-Authored-By: Claude Opus 5 (1M context) --- .../BackupRestore/RestoreProjectDlg.cs | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Src/FwCoreDlgs/BackupRestore/RestoreProjectDlg.cs b/Src/FwCoreDlgs/BackupRestore/RestoreProjectDlg.cs index e5f6581c51..0bbb6b4420 100644 --- a/Src/FwCoreDlgs/BackupRestore/RestoreProjectDlg.cs +++ b/Src/FwCoreDlgs/BackupRestore/RestoreProjectDlg.cs @@ -265,6 +265,7 @@ private void m_rdoRestoreToName_CheckedChanged(object sender, EventArgs e) m_presenter.EmptyProjectName = false; if (m_txtOtherProjectName.Enabled && m_txtOtherProjectName.Text == String.Empty) m_txtOtherProjectName.Text = m_presenter.GetSuggestedNewProjectName(); + UpdateSendReceiveDataOption(); } private void m_btnBrowse_Click(object sender, EventArgs e) @@ -372,8 +373,7 @@ private void SetDialogControlsFromBackupSettings(BackupFileSettings settings, St m_supportingFiles.Enabled = settings.IncludeSupportingFiles; m_spellCheckAdditions.Checked = settings.IncludeSpellCheckAdditions; m_spellCheckAdditions.Enabled = settings.IncludeSpellCheckAdditions; - m_sendReceiveData.Checked = settings.IncludeSendReceiveData; - m_sendReceiveData.Enabled = settings.IncludeSendReceiveData; + UpdateSendReceiveDataOption(); if (m_rdoDefaultFolder.Checked) m_lblDefaultBackupIncludes.Text = m_presenter.IncludesFiles(settings); else @@ -386,6 +386,22 @@ private void SetDialogControlsFromBackupSettings(BackupFileSettings settings, St SetOriginalNameFromSettings(); } + /// ------------------------------------------------------------------------------------ + /// + /// Sets the Send/Receive option from the restore target. Restoring over the original + /// project keeps that project's repository history, so the option is forced on; + /// restoring to a different name leaves it off unless the user opts in (LT-22738). + /// It is unavailable either way when the backup holds no Send/Receive data. + /// + /// ------------------------------------------------------------------------------------ + private void UpdateSendReceiveDataOption() + { + var backupHasSendReceiveData = Settings.Backup != null && Settings.Backup.IncludeSendReceiveData; + var restoringToOriginalName = m_rdoUseOriginalName.Checked; + m_sendReceiveData.Checked = backupHasSendReceiveData && restoringToOriginalName; + m_sendReceiveData.Enabled = backupHasSendReceiveData && !restoringToOriginalName; + } + private void m_btnHelp_Click(object sender, EventArgs e)