public MainViewModel() { var configuration = Configuration.GetConfiguration("defaultconfig.json"); Config.CollectionTarget = configuration.CollectionConnectionString; Config.DeletedTarget = configuration.DeletedConnectionString; collectionHistory = new CollectionHistory(); deletedHisotry = new DeleteHisotry(); deletedHisotry.DeletedHistory = new List <string>(); MyFiles.Clear(); history = new DirectoryHistory(FilePath); foreach (var logicalDrive in Directory.GetLogicalDrives()) { DirectoriesAndFiles.Add(new DirectoryViewModel(logicalDrive)); } history.HistoryChanged += History_HistoryChanged; CompressCollectionCommand = new DelegateCommand(CompressCollection); OpenCommand = new DelegateCommand(Open); CompressCommand = new DelegateCommand(Compress); DecompressCommand = new DelegateCommand(Decompress); DeleteFileCommand = new DelegateCommand(DeleteFile); AddToCollectionCommand = new DelegateCommand(AddToCollection); MoveBackCommand = new DelegateCommand(MoveBack, CanMoveBack); MoveForwardCommand = new DelegateCommand(MoveForward, CanMoveForward); MoveForwardCommand = new DelegateCommand(MoveForward, CanMoveForward); }
private void btnAddFolder_Click(object sender, RoutedEventArgs e) { // Добавить папку. if (grid.SelectedIndex == -1) { try { string folderPath = new SelectFiles().OpenFolderDialog(); if (folderPath != null) { MyFiles.AddNewFile(folderPath); // Добавить папку в список синхронизаций. } } catch { } } else { try { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. string folderPath = new SelectFiles().OpenFolderDialog(); if (folderPath != null) { MyFiles.AddPath(selectedRow, folderPath); // Добавляем папку в список обновляемых. } } catch { } } }
private void btnAddFile_Click(object sender, RoutedEventArgs e) { if (grid.SelectedIndex == -1) { try { PathToNewFile = new SelectFiles().OpenFileDialog(); // Открыть диалог для выбора нового файла. if (PathToNewFile != null) { MyFiles.AddNewFile(PathToNewFile); // Добавить новый файл в список синхронизаций. } } catch { } } else { try { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. PathToNewSyncFile = new SelectFiles().OpenFileDialog(); // Добавляем путь к файлу, который нужно заменить. if (PathToNewSyncFile != null) { MyFiles.AddPath(selectedRow, PathToNewSyncFile); // Добавляем новый файл в список обновляемых. } } catch { } } }
protected async void GetFiles(object sender, EventArgs e) { var files = await _fileOperations.GetMyFilesAsync(); MyFiles.DataSource = files; MyFiles.DataBind(); }
private void Hyperlink_FileEditNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { // Редактируем файл. if (grid.SelectedIndex == -1) { MessageBox.Show("Выделите строку с удаляемым файлом", "Нет файла для удаления", MessageBoxButton.OK, MessageBoxImage.Error); return; } int selectedRow = grid.SelectedIndex; // Номер выделенной строки. // Что это за пункт: файл или папка if (MyFiles.FileList[selectedRow].FileType == 0) // Это файл. { PathToNewFile = new SelectFiles().OpenFileDialog(); // Открыть диалог для выбора нового файла. } else { PathToNewFile = new SelectFiles().OpenFolderDialog(); // Открыть диалог для выбора папки. } if (PathToNewFile != null) { MyFiles.EditFile(selectedRow, PathToNewFile); // Добавить новый файл в список синхронизаций. } }
protected async void CommandBtn_Click(Object sender, CommandEventArgs e) { switch ((String)e.CommandName) { case "Download": var success = await _fileOperations.DownloadFileAsync((String)e.CommandArgument); if (success) { DownloadSuccess.Visible = true; } else { failMessage.Text = "Unable to identify file. FileID cannot be an empty string."; DownloadFail.Visible = true; } break; case "Open": var files = await _fileOperations.GetMyFilesAsync((String)e.CommandArgument); MyFiles.DataSource = files; MyFiles.DataBind(); break; } }
private void GetFileStructure() { string myDir = ""; System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog(); fbd.RootFolder = Environment.SpecialFolder.Desktop; fbd.ShowNewFolderButton = false; fbd.Description = "Browse to the root directory where the files are stored."; if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { myDir = fbd.SelectedPath; try { TextRootDir = fbd.SelectedPath; MyFiles.Clear(); foreach (var file in Directory.GetFiles(myDir, TextFilter, SearchOption.AllDirectories)) { MyFiles.Add(file); } } catch (Exception excep) { MessageBox.Show(excep.Message); return; } } }
private void Hyperlink_SyncFileInfoNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { // Посмотреть информацию о файле. int selectedRow = grid.SelectedIndex; // Номер выделенной строки. var tb = ((Hyperlink)e.OriginalSource).DataContext; // Получаем путь для синхронизации. MyFiles.GetSyncFileInfo(tb.ToString()); }
private void Hyperlink_RequestRemoveNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { // Удаляем из списка путей синхронизаций. int selectedRow = grid.SelectedIndex; // Номер выделенной строки. var tb = ((Hyperlink)e.OriginalSource).DataContext; // Получаем путь для синхронизации. MyFiles.RemovePath(selectedRow, tb.ToString()); grid.UnselectAll(); }
private void DataGridRow_MouseRightButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) { grid.UnselectAll(); ((DataGridRow)sender).IsSelected = true; ContextMenu menu = new ContextMenu(); MenuItem fileInfo = new MenuItem(); fileInfo.Header = "Информация о источнике"; fileInfo.Icon = new System.Windows.Controls.Image { Source = new BitmapImage(new Uri("pack://application:,,,/Image/info.ico")) }; fileInfo.Click += FileInfo_Click; menu.Items.Add(fileInfo); MenuItem openFolder = new MenuItem(); openFolder.Header = "Открыть в проводнике"; openFolder.Icon = new System.Windows.Controls.Image { Source = new BitmapImage(new Uri("pack://application:,,,/Image/16/openfolder.ico")) }; openFolder.Click += OpenFolder_Click; menu.Items.Add(openFolder); MenuItem editRoot = new MenuItem(); editRoot.Header = "Редактировать источник"; editRoot.Icon = new System.Windows.Controls.Image { Source = new BitmapImage(new Uri("pack://application:,,,/Image/edit.ico")) }; editRoot.Click += btnEditRoot_Click; menu.Items.Add(editRoot); MenuItem clearPathList = new MenuItem(); clearPathList.Header = "Очистить список путей"; clearPathList.ToolTip = "Очистить список путей у выбранного источника."; clearPathList.Click += (s, n) => MyFiles.ClearPathList(grid.SelectedIndex); menu.Items.Add(clearPathList); MenuItem clearRoot = new MenuItem(); clearRoot.Header = "Удалить источник"; clearRoot.ToolTip = "Удалить выделенный источник из списка."; clearRoot.Icon = new System.Windows.Controls.Image { Source = new BitmapImage(new Uri("pack://application:,,,/Image/delete.ico")) }; clearRoot.Click += btnRemoveRoot_Click; menu.Items.Add(clearRoot); menu.IsOpen = true; }
private void MainWindow_Closing(object sender, CancelEventArgs e) { MyFiles.SaveSession(); // Сохранить список файлов. Sizes windowSizes = new Sizes(); windowSizes.WinSize.Height = this.Height; windowSizes.WinSize.Width = this.Width; windowSizes.WinSize.Left = this.Left; windowSizes.WinSize.Top = this.Top; windowSizes.WinSize.State = this.WindowState; windowSizes.SaveWindowSize(); }
private void btnSelectFile_Click(object sender, RoutedEventArgs e) { // Указать файл для обновления. try { PathToNewFile = new SelectFiles().OpenFileDialog(); // Открыть диалог для выбора нового файла. if (PathToNewFile != null) { MyFiles.AddNewFile(PathToNewFile); // Добавить новый файл в список синхронизаций. } } catch { } }
private void Hyperlink_FileRemoveNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { // Удалить файл из списка. int selectedRow = grid.SelectedIndex; // Номер выделенной строки. if (selectedRow == -1) { MessageBox.Show("Выделите строку с удаляемым файлом", "Нет файла для удаления", MessageBoxButton.OK, MessageBoxImage.Error); return; } MyFiles.RemoveFile(selectedRow); grid.UnselectAll(); }
private void CompressCollection(object collection) { if (collection == null) { throw new ArgumentNullException(nameof(collection)); } foreach (var file in MyFiles) { Compress(file); } MyFiles.Clear(); }
private void Hyperlink_FileInfoNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { // Посмотреть информацию о файле. int selectedRow = grid.SelectedIndex; // Номер выделенной строки. if (MyFiles.FileList[selectedRow].FileType == 0) // Это файл. { MyFiles.GetFileInfo(selectedRow); } else // Это папка. { MyFiles.GetFolderInfo(selectedRow); } }
private void menuAddSyncPath_Click(object sender, RoutedEventArgs e) { // Добавляем путь к файлу для обновления. try { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. PathToNewSyncFile = new SelectFiles().OpenFileDialog(); // Добавляем путь к файлу, который нужно заменить. if (PathToNewSyncFile != null) { MyFiles.AddPath(selectedRow, PathToNewSyncFile); // Добавляем новый файл в список обновляемых. } } catch { } }
private void InputFiles() { var files = new List <MyFiles>(); var file = new MyFiles { Name = "File1.dll", Size = 1215454 }; files.Add(file); file = new MyFiles { Name = "File2.dll", Size = 15544 }; files.Add(file); ProcessFile(files); }
private void AddToCollection(object passedFile) { if (passedFile == null) { throw new ArgumentNullException(nameof(passedFile)); } if (passedFile is FileViewModel fileViewModel) { MyFiles.Add(fileViewModel); collectionHistory.Collection += MyFiles.Last().FullName; collectionHistory.UpdateCollection(); } }
private void menuRemoveFile_Click(object sender, RoutedEventArgs e) { // Удалить файл из списка. int selectedRow = grid.SelectedIndex; // Номер выделенной строки. //int selectingRows = grid.SelectedItems.Count; // Число выделенных строк. if (selectedRow == -1) { MessageBox.Show("Выделите строку с удаляемым файлом", "Нет файла для удаления", MessageBoxButton.OK, MessageBoxImage.Error); return; } MyFiles.RemoveFile(selectedRow); }
private void FileInfo_Click(object sender, RoutedEventArgs e) { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. switch (MyFiles.FileList[selectedRow].FileType) { case 0: MyFiles.GetFileInfo(selectedRow); break; case 1: MyFiles.GetFolderInfo(selectedRow); break; } }
private void btnAddSyncFolder_Click(object sender, RoutedEventArgs e) { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. if (selectedRow == -1) { MessageBox.Show("Вы не выбрали источник!\nПожалуйста, выберите источник, а затем добавляйте папку в список адресатов!", "Не выбран источник", MessageBoxButton.OK, MessageBoxImage.Error); return; } string folderPath = new SelectFiles().OpenFolderDialog(); MyFiles.AddPath(selectedRow, folderPath); // Добавляем папку в список адресатов. }
private void ExploreFiles(TreeViewItem item) { var directoryInfo = (DirectoryInfo)null; if (item.Tag is DirectoryInfo) { directoryInfo = (DirectoryInfo)item.Tag; } if (ReferenceEquals(directoryInfo, null)) { return; } MyFiles.Clear(); FolderName = directoryInfo.Name; AddDataToCollection(directoryInfo.GetFiles(), item, ""); AddDataToCollection(directoryInfo.GetDirectories(), item, ""); }
private void gridSelectedRow_DoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. switch (MyFiles.FileList[selectedRow].FileType) { case 0: PathToNewSyncFile = new SelectFiles().OpenSaveFileDialog(MyFiles.FileList[selectedRow].FileName); // Добавляем путь к источнику. MyFiles.AddPath(selectedRow, PathToNewSyncFile); // Добавляем новый файл в список обновляемых. break; case 1: string folderPath = new SelectFiles().OpenFolderDialog(); MyFiles.AddPath(selectedRow, folderPath); // Добавляем папку в список адресатов. break; } }
private void btnRemoveRoot_Click(object sender, RoutedEventArgs e) { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. if (selectedRow == -1) { MessageBox.Show("Вы не выбрали источник!\nПожалуйста, выберите источник, а затем удаляйте его!", "Не выбран источник", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (MessageBox.Show("ВНИМАНИЕ!\nПри удалении источника будут удалены и пути для него.\nВы уверены?", "Вы уверены?", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { MyFiles.RemoveFile(selectedRow); } }
private void btnEditFile_Click(object sender, RoutedEventArgs e) { // Редактировать файл в списке. if (grid.SelectedIndex == -1) { MessageBox.Show("Выделите строку с удаляемым файлом", "Нет файла для удаления", MessageBoxButton.OK, MessageBoxImage.Error); return; } int selectedRow = grid.SelectedIndex; // Номер выделенной строки. PathToNewFile = String.Empty; PathToNewFile = new SelectFiles().OpenFileDialog(); // Открыть диалог для выбора нового файла. if (PathToNewFile != String.Empty) { MyFiles.EditFile(selectedRow, PathToNewFile); // Добавить новый файл в список синхронизаций. } }
private void Empty_DoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) { /* * Добавление файла или добавить путь синхронизации, если строка выделена. */ // Указать файл для обновления. if (grid.SelectedIndex == -1) { try { PathToNewFile = new SelectFiles().OpenFolderDialog(); // Открыть диалог для выбора нового файла. if (PathToNewFile != null) { MyFiles.AddNewFile(PathToNewFile); // Добавить новый файл в список синхронизаций. } } catch { } } else { // Добавляем путь к файлу для обновления. try { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. /*if (MyFiles.FileList[selectedRow].FileType == 0) // Это файл. * { * PathToNewSyncFile = new SelectFiles().OpenSaveFileDialog(MyFiles.FileList[selectedRow].FileName); // Добавляем путь к файлу, который нужно заменить. * } * else * { * PathToNewSyncFile = new SelectFiles().OpenFolderDialog(); // Открыть диалог для выбора папки. * }*/ PathToNewSyncFile = new SelectFiles().OpenFolderDialog(); // Открыть диалог для выбора папки. if (PathToNewSyncFile != null) { MyFiles.AddPath(selectedRow, PathToNewSyncFile += "\\" + MyFiles.FileList[selectedRow].FileName); // Добавляем новый файл в список обновляемых. } grid.SelectedIndex = -1; // Снимаем выделение строки. } catch { } } }
private void Hyperlink_RequestEditNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { // Редактируем путь синхронизации. int selectedRow = grid.SelectedIndex; // Номер выделенной строки. var tb = ((Hyperlink)e.OriginalSource).DataContext; // Получаем путь для синхронизации. if (MyFiles.FileList[selectedRow].FileType == 0) // Это файл. { PathToNewSyncFile = new SelectFiles().OpenFileDialog(); // Открыть диалог для выбора нового файла. } else { PathToNewSyncFile = new SelectFiles().OpenFolderDialog(); // Открыть диалог для выбора папки. } if (PathToNewSyncFile != null) { MyFiles.EditPath(selectedRow, tb.ToString(), PathToNewSyncFile); // Изменить путь синхронизации. } }
private void text_PreviewDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { // Note that you can have more than one file. string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false); // Assuming you have one file that you care about, pass it off to whatever // handling code you have defined. foreach (string file in files) { FileInfo ff = new FileInfo(file); if (grid.SelectedIndex == -1) { try { PathToNewFile = ff.FullName; // Путь к файлу. if (PathToNewFile != null) { MyFiles.AddNewFile(PathToNewFile); // Добавить новый файл в список синхронизаций. } } catch { } } else { try { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. PathToNewSyncFile = ff.FullName; if (PathToNewSyncFile != null) { MyFiles.AddPath(selectedRow, PathToNewSyncFile); // Добавляем новый файл в список обновляемых. } } catch { } } //text.Text += ff.FullName + "\n"; // Можно вытащить путь. } } }
private void Button_Click(object sender, RoutedEventArgs e) { var senderName = (sender as Button).Name; switch (senderName) { case "ButtonOK": { string s_key = TextBoxYuan.Text.Trim(); string s_value = TextBoxNew.Text.Trim(); if (string.IsNullOrEmpty(s_key) || string.IsNullOrEmpty(s_value)) { GlobalTool.BarMsg("请输入内容"); return; } if (GlobalTool.AllDic.ContainsKey(s_key)) { GlobalTool.AllDic[s_key] = s_value; } else { GlobalTool.AllDic.Add(s_key, s_value); } JavaScriptSerializer serializer = new JavaScriptSerializer(); string json = serializer.Serialize(GlobalTool.AllDic); MyFiles.WriteLocalTrans(json); GlobalTool.CloseDialogLearn(); GlobalTool.BarMsg("添加成功"); GlobalTool.GetDic(); } break; case "ButtonCancel": GlobalTool.CloseDialogLearn(); break; } }
private void btnAddSyncFile_Click(object sender, RoutedEventArgs e) { int selectedRow = grid.SelectedIndex; // Номер выделенной строки. if (selectedRow == -1) { MessageBox.Show("Вы не выбрали источник!\nПожалуйста, выберите источник, а затем добавляйте файл в список адресатов!", "Не выбран источник", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (MyFiles.FileList[selectedRow].FileType == 1) { MessageBox.Show("Нельзя добавлять файл к источнику типа 'Папка'!\nПопробуйте указать папку.", "Не верно выбран источник", MessageBoxButton.OK, MessageBoxImage.Error); return; } PathToNewSyncFile = new SelectFiles().OpenSaveFileDialog(MyFiles.FileList[selectedRow].FileName); // Добавляем путь к источнику. MyFiles.AddPath(selectedRow, PathToNewSyncFile); // Добавляем новый файл в список обновляемых. }