Esempio n. 1
0
 private static void ShowArchiveWindow()
 {
     if (archiveWnd == null)
     {
         archiveWnd         = new ArchiveWindow();
         archiveWnd.Closed += activeWnd_Closed;
     }
     archiveWnd.Show();
 }
Esempio n. 2
0
        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);
            }
        }