private void UpdatesCheckComplete(object sender, RunWorkerCompletedEventArgs e) { try { if (e.Error != null) { m_main.SetStatusText(string.Format("{0} {1}", guiStrings.MsgUpdateFailed, e.Error.Message)); return; } else if (e.Cancelled) { return; } var result = e.Result as GarUpdateInfo; if (null == result) { m_main.SetStatusText(guiStrings.MsgNoUpdates); return; } ShowUpdateResult(result); } finally { OnCanExecuteChanged(); } }
void OnConvertComplete(object sender, RunWorkerCompletedEventArgs e) { m_main.ResumeWatchDirectoryChanges(); m_progress_dialog.Dispose(); if (null != m_pending_error) { if (m_pending_error is OperationCanceledException) { m_main.SetStatusText(m_pending_error.Message); } else { m_main.PopupError(m_pending_error.Message, guiStrings.TextMediaConvertError); } } m_main.Activate(); m_main.RefreshView(); }
public void ExtractAll(string destination) { var file_list = m_fs.GetFilesRecursive(); if (!file_list.Any()) { m_main.SetStatusText(string.Format("{1}: {0}", guiStrings.MsgEmptyArchive, m_arc_name)); return; } var extractDialog = new ExtractArchiveDialog(m_arc_name, destination); extractDialog.Owner = m_main; var result = extractDialog.ShowDialog(); if (!result.Value) { return; } destination = extractDialog.Destination; if (!string.IsNullOrEmpty(destination)) { destination = Path.GetFullPath(destination); PrepareDestination(destination); } else { destination = "."; } m_skip_images = !extractDialog.ExtractImages.IsChecked.Value; m_skip_script = !extractDialog.ExtractText.IsChecked.Value; m_skip_audio = !extractDialog.ExtractAudio.IsChecked.Value; if (!m_skip_images) { m_image_format = extractDialog.GetImageFormat(extractDialog.ImageConversionFormat); } m_main.SetStatusText(string.Format(guiStrings.MsgExtractingTo, m_arc_name, destination)); ExtractFilesFromArchive(string.Format(guiStrings.MsgExtractingArchive, m_arc_name), file_list); }
public bool Run() { Directory.SetCurrentDirectory(m_main.CurrentPath); var items = m_main.CurrentDirectory.SelectedItems.Cast <EntryViewModel> (); if (string.IsNullOrEmpty(m_arc_name)) { m_arc_name = Path.GetFileName(m_main.CurrentPath); if (!items.Skip(1).Any()) // items.Count() == 1 { var item = items.First(); if (item.IsDirectory) { m_arc_name = Path.GetFileNameWithoutExtension(item.Name); } } } var dialog = new CreateArchiveDialog(m_arc_name); dialog.Owner = m_main; if (!dialog.ShowDialog().Value) { return(false); } if (string.IsNullOrEmpty(dialog.ArchiveName.Text)) { m_main.SetStatusText("Archive name is empty"); return(false); } m_format = dialog.ArchiveFormat.SelectedItem as ArchiveFormat; if (null == m_format) { m_main.SetStatusText("Format is not selected"); return(false); } m_options = dialog.ArchiveOptions; if (m_format.IsHierarchic) { m_file_list = BuildFileList(items, AddFilesRecursive); } else { m_file_list = BuildFileList(items, AddFilesFromDir); } m_arc_name = Path.GetFullPath(dialog.ArchiveName.Text); m_progress_dialog = new ProgressDialog() { WindowTitle = guiStrings.TextTitle, Text = string.Format(guiStrings.MsgCreatingArchive, Path.GetFileName(m_arc_name)), Description = "", MinimizeBox = true, }; m_progress_dialog.DoWork += CreateWorker; m_progress_dialog.RunWorkerCompleted += OnCreateComplete; m_progress_dialog.ShowDialog(m_main); return(true); }