Esempio n. 1
0
 //Вставка клавиатурная
 public void KeyboardPaste(String Path)
 {
     if (Clipboard.ContainsFileDropList())
     {
         var Res = Clipboard.GetFileDropList();
         foreach (var x in Res)
         {
             String FileName   = FileProcessor.ExecuteFileName(x);
             String FileFolder = FileProcessor.ExecuteFileFolder(x, FileName);
             try
             {
                 FilesCopyQueue.Add(new CopyInform(FileFolder, Path, FileName, System.IO.Directory.Exists(x) ? "Folder" : (new FileInfo(x)).Length.ToString(), FilesCopyQueue, Mode.Copy, Checker));
             }
             catch (Exception)
             {
             }
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Added dropped files to copy queue
 /// </summary>
 /// <param name="Files">List of files</param>
 /// <param name="DestPath">Destination folder</param>
 private void FilesDrop(String[] Files, String DestPath)
 {
     foreach (var x in Files)
     {
         //For each file we get his folder and his name.
         String FileName         = FileProcessor.ExecuteFileName(x);
         String PathToFileFolder = FileProcessor.ExecuteFileFolder(x, FileName);
         if (System.IO.Directory.Exists(x))
         {//Then added him to Copy Queue
             //If File is folder
             FilesCopyQueue.Add(new CopyInform(PathToFileFolder, DestPath, FileName,
                                               "Folder", FilesCopyQueue, Mode.Copy, Checker));
         }
         else
         {
             //if file isn't folder
             FilesCopyQueue.Add(new CopyInform(PathToFileFolder, DestPath, FileName,
                                               FileProcessor.GetUserReadableFileSize((new FileInfo(x)).Length), FilesCopyQueue, Mode.Copy, Checker));
         }
     }
 }
Esempio n. 3
0
 //Files copy Icon function
 private void CopyFiles_Click(object sender, RoutedEventArgs e)
 {
     if (_LastFocusedLeft)
     {
         if (LeftFiles.SelectedIndex == -1)
         {
             return;
         }
         FilesCopyQueue.Add(new CopyInform(PathLeft.Text, PathRight.Text, FileDescriptionLeft[LeftFiles.SelectedIndex].FileName,
                                           FileDescriptionLeft[LeftFiles.SelectedIndex].FileSize, FilesCopyQueue, Mode.Copy, Checker));
     }
     else
     {
         if (RightFiles.SelectedIndex == -1)
         {
             return;
         }
         FilesCopyQueue.Add(new CopyInform(PathRight.Text, PathLeft.Text, FileDescriptionRight[RightFiles.SelectedIndex].FileName,
                                           FileDescriptionRight[RightFiles.SelectedIndex].FileSize, FilesCopyQueue, Mode.Copy, Checker));
     }
 }
Esempio n. 4
0
        //нажатие клавиш

        /// <summary>
        /// Обработчик нажатия клавиш. Унифицирован
        /// </summary>
        /// <param name="e">Параметры нажатой клавиши</param>
        /// <param name="SelectedIndex">Индекс файла</param>
        /// <param name="CurrentBox">Текущая папка</param>
        /// <param name="DestFolder">Используется при копировании данных - вторая открытая папка</param>
        /// <param name="CurrentFileDescription">Список файлов в текущей папке</param>
        private void KeyDownHandler(ListView CurrentFilesListView, KeyEventArgs e, IList SelectedItems, ComboBox CurrentBox,
                                    String DestFolder, ObservableCollection <FileInformation> CurrentFileDescription)
        {
            if (Keyboard.Modifiers == ModifierKeys.None)
            {
                FindEntryString(CurrentFilesListView, WinAPI.GetCharFromKey(e.Key));
            }
            //Вставка
            if (e.Key == Key.V && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                KeyboardPaste(CurrentBox.Text);
            }

            //Add new items to file system (file\folder)
            if (e.Key == Key.D && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                AddFolder_Click(null, null);
            }
            if (e.Key == Key.N && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                AddFile_Click(null, null);
            }

            if (SelectedItems.Count == 0)
            {
                return;
            }

            //Rename files
            if (e.Key == Key.R && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                RenameFile_Click(null, null);
            }

            //Копирование
            if (e.Key == Key.S && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                foreach (var x in SelectedItems)
                {
                    FilesCopyQueue.Add(new CopyInform(CurrentBox.Text, DestFolder, (x as FileInformation).FileName,
                                                      (x as FileInformation).FileSize, FilesCopyQueue, Mode.Copy, Checker));
                }
            }

            //Вход\запуск
            if (e.Key == Key.Enter)
            {
                ClickEvent(SelectedItems, CurrentBox);
            }

            //вставка в буфер обмена
            if (e.Key == Key.C && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                var x = new System.Collections.Specialized.StringCollection();
                foreach (var item in SelectedItems)
                {
                    x.Add(CurrentBox.Text + (item as FileInformation).FileName);
                }
                Clipboard.SetFileDropList(x);
            }

            //Удаление
            if (e.Key == Key.Delete)
            {
                foreach (var x in SelectedItems)
                {
                    new Thread(new ParameterizedThreadStart(FileProcessor.Remove))
                    .Start(
                        new FileProcessor.RemovingStructure(
                            CurrentBox.Text + (x as FileInformation).FileName,
                            (x as FileInformation)));
                }
            }
        }