/// <summary> /// initializes new RevertIndexControl object /// </summary> public RevertIndexControl() { InitializeComponent(); _settings = new RevertIndexSettings(); ResetUI(); }
/// <summary> /// performs task /// </summary> /// <param name="fileName">file full path to perform task on</param> public void Execute(string fileName) { if (fileName.Length > 0) { RevertIndexSettings userSettings = (RevertIndexSettings)Control.Options; Progress(0, -1); LogAdded(string.Format(Properties.Resources.logFileProcessing, fileName)); try { TMFileManager manager = new TMFileManager(fileName); manager.OnProgress += new TMFileManager.OnProgressDelegate(Progress); // check password if (manager.IsProtected && !IsPswValid(manager)) { LogAdded(string.Format(Properties.Resources.logCancelledFile, fileName)); } else { // settings DataImportSettings setts = new DataImportSettings(userSettings.Scenario); setts.OverwriteExistingTUs = userSettings.IsOverwriteTUs; setts.PreservePsw = userSettings.IsPreservePsw; setts.CreateBackupFile = false; // progress & perform task manager.ReverseIndex(string.Format(@"{0}\{1}", userSettings.TargetFolder, Path.GetFileName(fileName)), setts); LogAdded(Properties.Resources.logTaskFinished); LogAdded(string.Format(Properties.Resources.logTUDetails, manager.TUsCount, manager.TUsImportedCount)); } } catch (Exception ex) { LogAdded(string.Format(Properties.Resources.errRevertTaskFailed, fileName, ex.Message)); MessageBox.Show(string.Format(Properties.Resources.errRevertTaskFailed, fileName, ex.Message).Replace("\\r\\n", "\r\n"), Properties.Resources.Title); } Progress(100, -1); } }
/// <summary> /// updates UI with settings /// </summary> /// <param name="settings">settings to update to</param> public void UpdateUI(ISettings settings) { if (settings != null && settings.GetType() == _settings.GetType()) { _settings = (RevertIndexSettings)settings; chOverwriteTUs.Checked = _settings.IsOverwriteTUs; chPreservePsw.Checked = _settings.IsPreservePsw; tbTargetFile.Text = _settings.TargetFolder; switch (_settings.Scenario) { case ImportSettings.ImportTUProcessingMode.ProcessRawTUOnly: rbPresegmentedSc.Checked = true; break; case ImportSettings.ImportTUProcessingMode.ProcessBothTUs: rbMixedSc.Checked = true; break; default: rbDefaultSc.Checked = true; break; } } }