コード例 #1
0
        private void OnRenameFolderClick(object window)
        {
            var folderNameDialogAdapter   = this.dialogFactory.GetFolderNameDialog();
            FolderNameDialogResult result = folderNameDialogAdapter.ShowDialog();

            if (result.DialogOperationResult == true)
            {
                string newFolderName = result.FolderName;
                string newFullPath   = Path.Combine(Path.GetDirectoryName(selectDirectoryItem.FullPath), newFolderName);

                if (string.Equals(selectDirectoryItem.FullPath, newFullPath))
                {
                    return;
                }

                try
                {
                    this.iOWrapper.DirectoryMove(selectDirectoryItem.FullPath, newFullPath);
                    selectDirectoryItem.FullPath = newFullPath;
                }
                catch (Exception ex)
                {
                    var messageWindow = this.dialogFactory.GetMessageBoxWindow();
                    messageWindow.ShowDialog(ex.Message,
                                             messageManager.GetMessage("ArasVSMethodPlugin"),
                                             MessageButtons.OK,
                                             MessageIcon.Error);
                }
            }
        }
コード例 #2
0
        private void OnNewFolderClick(object window)
        {
            var folderNameDialogAdapter   = this.dialogFactory.GetFolderNameDialog();
            FolderNameDialogResult result = folderNameDialogAdapter.ShowDialog();

            if (result.DialogOperationResult == true)
            {
                string folderName = result.FolderName;

                string newFolderPath = Path.Combine(selectDirectoryItem.FullPath, folderName);
                int    index         = 1;

                while (this.iOWrapper.DirectoryExists(newFolderPath))
                {
                    newFolderPath = Path.Combine(selectDirectoryItem.FullPath, $"{folderName} {index}");
                    index++;
                }

                this.iOWrapper.DirectoryCreateDirectory(newFolderPath);

                if (selectDirectoryItem.IsExpanded)
                {
                    var childViewModel = new DirectoryItemViewModel(newFolderPath, DirectoryItemType.Folder, searchToLevel);
                    childViewModel.Parent = selectDirectoryItem;
                    childViewModel.SelectDirectoryItem += OnSelectDirectoryItem;

                    selectDirectoryItem.Children.Add(childViewModel);
                    selectDirectoryItem.Children   = new ObservableCollection <DirectoryItemViewModel>(selectDirectoryItem.Children.OrderBy(x => x.Name));
                    selectDirectoryItem.IsSelected = false;
                    childViewModel.IsSelected      = true;
                }
                else
                {
                    selectDirectoryItem.IsExpanded = true;

                    var childViewModel = selectDirectoryItem.Children.FirstOrDefault(x => x.FullPath == newFolderPath);
                    if (childViewModel != null)
                    {
                        selectDirectoryItem.IsSelected = false;
                        childViewModel.IsSelected      = true;
                    }
                }
            }
        }