Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }
Ejemplo n.º 3
0
        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;
                }
            }
        }
Ejemplo n.º 4
0
        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;
                }
            }
        }