private static void ShowArchiveWindow() { if (archiveWnd == null) { archiveWnd = new ArchiveWindow(); archiveWnd.Closed += activeWnd_Closed; } archiveWnd.Show(); }
public void CompressBtn_Click(object sender, RoutedEventArgs e) { try { if (((MenuItem)e.OriginalSource).Name == "lCompressBtn") { if (LeftList.SelectedItems.Count > 0) { ArchiveWindow win = new ArchiveWindow(); win.Owner = this; win.ShowDialog(); foreach (var fi in LeftList.SelectedItems) { if (((ListViewItem)fi).Tag is DirectoryInfo) { throw new Exception("U can archive only files"); } if (((FileInfo)((ListViewItem)fi).Tag).Name == win.NewName.Text) { throw new Exception("File already exist"); } } var zipPath = lDirectory.FullName + '\\' + win.NewName.Text + ".zip"; using (var fs = File.Create(zipPath)) { fs.Close(); } foreach (var fi in LeftList.SelectedItems) { FileUtils.AddToArchive(((FileInfo)((ListViewItem)fi).Tag).FullName, zipPath); } LeftList.Items.Clear(); ShowFiles(lDirectory, LeftList, lDirInfo); } else { throw new Exception("Select files!"); } } else { if (RightList.SelectedItems.Count > 0) { ArchiveWindow win = new ArchiveWindow(); win.Owner = this; win.ShowDialog(); foreach (var fi in RightList.SelectedItems) { if (((ListViewItem)fi).Tag is DirectoryInfo) { throw new Exception("U can archive only files"); } if (((FileInfo)(((ListViewItem)fi).Tag)).Name == win.Name) { throw new Exception("File already exist"); } } var zipPath = rDirectory.FullName + '\\' + win.NewName.Text + ".zip"; using (var fs = File.Create(zipPath)) { fs.Close(); } foreach (var fi in RightList.SelectedItems) { FileUtils.AddToArchive(((FileInfo)((ListViewItem)fi).Tag).FullName, zipPath); } RightList.Items.Clear(); ShowFiles(rDirectory, RightList, rDirInfo); } else { throw new Exception("Select files!"); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Unable to invoke CompressEvent", MessageBoxButton.OK, MessageBoxImage.Error); } }