private void RenameMetaFile(TreeNode node) { if (node.Text == "<пусто>") { return; } string currentMetaFilePath = GetNodePath(node); if (currentMetaFilePath == "/") { MessageBox.Show(this, "Невозможно переименовать корневой каталог!", "Невозможно переименовать", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (currentMetaFilePath.StartsWith(DehaxOS.SYSTEM_DIRECTORY_PATH)) { MessageBox.Show(this, "Невозможно переименовать файлы системы!", "Невозможно переименовать", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } EditNameForm editNameForm = new EditNameForm(); if (editNameForm.ShowDialog(this) == DialogResult.OK) { try { if (node.GetNodeCount(true) > 0) { _dehaxOS.RenameDirectory(currentMetaFilePath, editNameForm.NewName); node.Text = editNameForm.NewName; } else { _dehaxOS.RenameFile(currentMetaFilePath, editNameForm.NewName); node.Text = editNameForm.NewName; } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }
private void CreateFile(TreeNode node) { if (node.Text == "<пусто>") { return; } string currentMetaFilePath = GetNodePath(node); if (currentMetaFilePath.StartsWith(DehaxOS.SYSTEM_DIRECTORY_PATH)) { MessageBox.Show(this, "Невозможно создать файл в каталоге системы!", "Невозможно создать файл", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } EditNameForm editNameForm = new EditNameForm(); if (editNameForm.ShowDialog(this) == DialogResult.OK) { try { _dehaxOS.CreateFile((currentMetaFilePath != "/" ? currentMetaFilePath + "/" : currentMetaFilePath) + editNameForm.NewName); if (node.FirstNode.Text == "<пусто>") { node.FirstNode.Remove(); } TreeNode newNode = node.Nodes.Add(editNameForm.NewName); } catch (Exception ex) when(ex is ArgumentException) { MessageBox.Show(this, ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }
private void CreateFile(TreeNode node) { if (node.Text == "<пусто>") { return; } string currentMetaFilePath = GetNodePath(node); if (currentMetaFilePath.StartsWith(DehaxOS.SYSTEM_DIRECTORY_PATH)) { MessageBox.Show(this, "Невозможно создать файл в каталоге системы!", "Невозможно создать файл", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } EditNameForm editNameForm = new EditNameForm(); if (editNameForm.ShowDialog(this) == DialogResult.OK) { try { _dehaxOS.CreateFile((currentMetaFilePath != "/" ? currentMetaFilePath + "/" : currentMetaFilePath) + editNameForm.NewName); if (node.FirstNode.Text == "<пусто>") { node.FirstNode.Remove(); } TreeNode newNode = node.Nodes.Add(editNameForm.NewName); } catch (Exception ex) when (ex is ArgumentException) { MessageBox.Show(this, ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }