private void Restore() { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = Files.BackupFileFilter; dialog.CheckFileExists = true; dialog.Multiselect = false; dialog.Title = Resources.RestoreBackupDialogTitle; if (dialog.ShowDialog() == DialogResult.OK) { try { BackupFile backup = new BackupFile(this.controller.Status.DataPath, dialog.FileName); backup.BeginExtract(); BackupProgressDialog backupDialog = new BackupProgressDialog(); backupDialog.SetProgress(backup.FileName, backup.Progress); backupDialog.Show(); while (!backup.Complete) { backupDialog.SetProgress(backup.FileName, backup.Progress); Application.DoEvents(); Thread.Sleep(1); } backupDialog.Close(); Status.TextStatusDialog.ShowInfo(this.controller, this); this.controller.LoadCertificates(); Status.TextStatusDialog.HideInfo(); LoadCertificates(); MessageForm.Show(Resources.RestoreBackupDone, Resources.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exception) { Error.ErrorDialog.ShowError(exception); } } }
private void Restore() { OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = Resources.ChooseCertificateRestoreDialog; dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); dialog.CheckPathExists = true; dialog.CheckFileExists = true; dialog.Filter = Files.BackupFileFilter; if (dialog.ShowDialog() == DialogResult.OK) { BackupFile backup = new BackupFile(Status.DataPath, dialog.FileName); backup.BeginExtract(); while (!backup.Complete) { Status.SetProgress(Resources.ChooseCertificateRestoreRunning, backup.Progress); Thread.Sleep(10); } if (backup.Exception == null) { Status.SetMessage(Resources.ChooseCertificateRestoreSuccess, MessageType.Success); Begin(); } else { Status.SetMessage(Resources.ChooseCertificateRestoreFailed + backup.Exception.Message, MessageType.Error); } } }