diff --git a/NEWS.md b/NEWS.md
index fd815718..6ef33f8a 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -12,6 +12,7 @@ Red Panda C++ Version 1.1.4
- enhancement: prevent group undo when caret position changed
- fix: undo link break may lose leading spaces
- fix: correctly restore editor's modified status when undo/redo
+ - enhancement: set current index to the folder after new folder created in the file view
Red Panda C++ Version 1.1.3
diff --git a/RedPandaIDE/RedPandaIDE_pt.ts b/RedPandaIDE/RedPandaIDE_pt.ts
index 3c21cc45..c858b909 100644
--- a/RedPandaIDE/RedPandaIDE_pt.ts
+++ b/RedPandaIDE/RedPandaIDE_pt.ts
@@ -4088,14 +4088,6 @@
-
-
-
-
-
-
-
-
@@ -4500,6 +4492,10 @@
+
+
+
+
NewClassDialog
diff --git a/RedPandaIDE/RedPandaIDE_zh_CN.ts b/RedPandaIDE/RedPandaIDE_zh_CN.ts
index 7e8095d1..96f01dea 100644
--- a/RedPandaIDE/RedPandaIDE_zh_CN.ts
+++ b/RedPandaIDE/RedPandaIDE_zh_CN.ts
@@ -188,17 +188,17 @@ p, li { white-space: pre-wrap; }
BacktraceModel
-
+
函数
-
+
文件名
-
+
行
@@ -244,37 +244,37 @@ p, li { white-space: pre-wrap; }
BreakpointModel
-
+
文件名
-
+
行
-
+
条件
-
+
保存文件'%1'失败。
-
+
无法写入文件'%1'.
-
+
JSON文件'%1':%2中存在错误:%3
-
+
无法读取文件'%1'.
@@ -1272,10 +1272,10 @@ Are you really want to continue?
-
-
-
-
+
+
+
+
错误
@@ -1294,34 +1294,34 @@ Are you really want to continue?
文件%1已经被打开!
-
+
要复制的内容超过了行数限制!
-
+
要复制的内容超过了字符数限制!
-
+
要剪切的内容超过了行数限制!
-
+
要剪切的内容超过了字符数限制!
-
+
打印文档
-
-
-
+
+
+
Ctrl+单击以获取更多信息
@@ -1330,27 +1330,27 @@ Are you really want to continue?
未找到符号'%1'!
-
+
找不到astyle程序
-
+
找不到astyle程序"%1".
-
+
断点条件
-
+
输入当前断点的生效条件:
-
+
只读
@@ -3840,13 +3840,13 @@ Are you really want to continue?
小熊猫C++
-
-
-
-
-
-
-
+
+
+
+
+
+
+
编译器
@@ -3865,8 +3865,8 @@ Are you really want to continue?
工具
-
+
运行
@@ -3877,26 +3877,26 @@ Are you really want to continue?
-
-
+
+
项目
-
-
+
+
监视
-
-
+
+
结构
-
+
文件
@@ -3906,68 +3906,68 @@ Are you really want to continue?
-
-
+
-
+
+
调试
-
+
求值
-
+
调试主控台
-
+
调用栈
-
+
断点
-
+
局部变量
-
-
+
+
查找
-
+
历史:
-
+
重新查找
-
+
替换为:
-
+
替换
-
+
关闭
@@ -4001,78 +4001,78 @@ Are you really want to continue?
新建
-
+
Ctrl+N
-
+
打开...
-
+
Ctrl+O
-
+
保存
-
+
Ctrl+S
-
+
另存为...
-
+
另存为
-
+
全部保存
-
+
Ctrl+Shift+S
-
+
选项
-
+
编译
-
-
+
+
工具输出
-
+
选择输入文件
-
+
...
@@ -4087,47 +4087,47 @@ Are you really want to continue?
Git
-
+
F9
-
+
F10
-
+
恢复
-
+
Ctrl+Z
-
+
重做
-
+
Ctrl+Y
-
+
剪切
-
+
Ctrl+X
-
+
@@ -4135,264 +4135,264 @@ Are you really want to continue?
复制
-
+
Ctrl+C
-
+
粘贴
-
+
Ctrl+V
-
+
选择全部
-
+
Ctrl+A
-
+
缩进
-
+
取消缩进
-
+
切换注释
-
+
Ctrl+/
-
+
全部收起
-
+
全部展开
-
+
使用ANSI编码
-
+
使用UTF-8编码
-
+
自动检测
-
+
转换为ANSI编码
-
+
转换为UTF-8编码
-
+
编译运行
-
+
F11
-
+
全部重编译
-
+
F12
-
+
停止执行
-
+
F6
-
+
F5
-
+
单步跳过
-
+
F7
-
+
单步进入
-
-
-
+
+
+
试题集
-
-
+
+
新建试题集
-
+
添加试题
-
+
删除试题
-
-
+
+
保存试题集
-
-
+
+
载入试题集
-
+
内存
-
+
Address:
地址表达式:
-
+
取消
-
-
+
+
TODO
-
-
+
+
书签
-
-
-
+
+
+
试题
-
+
添加试题案例
-
+
Remove Problem Set
删除试题集
-
+
打开答案源代码文件
-
+
Run Current Case
运行所有案例
-
+
测试案例验证选项
-
+
%v/%m
-
+
输出
-
+
输入
-
+
期望输出
@@ -4431,371 +4431,371 @@ Are you really want to continue?
管理器
-
+
消息
-
+
忽略空格
-
+
新建源代码文件
-
+
Tab
-
+
Shift+Tab
-
+
F8
-
+
单步跳出
-
+
Ctrl+F8
-
+
执行到光标处
-
+
Ctrl+F5
-
+
继续执行
-
+
F4
-
+
添加监视
-
+
打开CPU信息窗口...
-
+
退出
-
+
查找...
-
+
Ctrl+F
-
+
在文件中查找...
-
+
Ctrl+Shift+F
-
+
替换
-
+
Ctrl+R
-
+
查找下一个
-
+
F3
-
+
查找前一个
-
+
Shift+F3
-
+
删除监视值
-
+
Remove All
删除全部监视值
-
+
修改监视值
-
+
对代码重新排版
-
+
Ctrl+Shift+A
-
+
前一次编辑位置
-
+
Ctrl+Alt+Left
-
+
后一次编辑位置
-
+
Ctrl+Alt+Right
-
+
Ctrl+W
-
+
全部关闭
-
+
Ctrl+Shift+W
-
+
最大化编辑器
-
+
Ctrl+F11
-
+
下一窗口
-
+
Ctrl+Tab
-
+
前一窗口
-
+
Ctrl+Shift+Tab
-
+
切换断点
-
+
Ctrl+F4
-
-
+
+
删除所有断点
-
+
设置断点条件...
-
+
跳转到声明处
-
+
Ctrl+Shift+G
-
+
跳转到定义处
-
+
Ctrl+G
-
+
查找符号的引用
-
+
打开所在的文件夹
-
+
Ctrl+B
-
+
打开命令行窗口
-
+
文件属性...
-
+
关闭项目
-
+
项目属性
-
+
新建项目...
-
+
新建项目文件
-
+
F1
-
+
向上移动选中的行
-
+
Ctrl+Shift+Up
-
+
向下移动选中的行
-
+
Ctrl+Shift+Down
-
+
转换为UTF-8 BOM编码
-
+
使用UTF-8 BOM编码
-
+
编译器选项...
-
+
切换管理器面板
-
+
Ctrl+F9
-
+
切换消息面板
-
+
Ctrl+F10
-
+
Raylib教程
@@ -4805,194 +4805,194 @@ Are you really want to continue?
新建文件
-
+
添加到项目...
-
+
从项目删除
-
+
查看Makefile
-
+
清理构建文件
-
+
在浏览器中打开
-
+
在终端中打开
-
+
关于
-
-
+
+
重命名符号
-
+
Shift+F6
-
+
打印...
-
+
Ctrl+P
-
-
+
+
导出为RTF
-
-
+
+
导出为HTML
-
+
移动到其他视图
-
+
Ctrl+M
-
+
C++参考手册
-
+
C参考手册
-
+
显示全部工具面板
-
+
Create Repository
创建Git仓库
-
+
提交(Commit)
-
+
撤销(Revert)
-
+
回滚(Reset)
-
+
添加文件
-
+
还原(Restore)
-
+
官方网站
-
+
分支切换(Switch)
-
+
合并(Merge)
-
+
Log
显示日志(Log)
-
+
远程仓库...
-
+
取回(Fetch)
-
+
拉取(Pull)
-
+
推送(Push)
-
+
隐藏不支持的文件
-
+
切换块注释
-
+
Alt+Shift+A
-
+
匹配当前括号
-
+
Ctrl+]
@@ -5001,50 +5001,50 @@ Are you really want to continue?
工具窗口栏
-
+
状态栏
-
+
Ctrl+Backspace
-
+
中断
-
+
删除到单词开头
-
+
Ctrl+Shift+B
-
+
删除到单词结尾
-
+
Ctrl+Shift+E
-
+
Add Class...
新建类...
-
+
New Header
新建头文件...
@@ -5054,47 +5054,47 @@ Are you really want to continue?
插入行
-
+
删除当前行
-
+
Ctrl+D
-
+
复制当前行
-
+
Ctrl+E
-
+
删除当前单词
-
+
Ctrl+Shift+D
-
+
删除到行尾
-
+
Ctrl+Del
-
+
删除到行首
@@ -5103,27 +5103,27 @@ Are you really want to continue?
C/C++参考
-
+
EGE图形库手册
-
+
添加书签
-
+
删除书签
-
+
修改书签说明
-
+
在文件视图中定位
@@ -5132,7 +5132,7 @@ Are you really want to continue?
打开文件夹
-
+
运行参数...
@@ -5356,9 +5356,9 @@ Are you really want to continue?
全部复制
-
-
+
+
@@ -5377,7 +5377,7 @@ Are you really want to continue?
-
+
试题集%1
@@ -5425,12 +5425,12 @@ Are you really want to continue?
试题属性...
-
+
设置试题集名称
-
+
试题集名称:
@@ -5450,16 +5450,16 @@ Are you really want to continue?
修改描述
-
-
-
+
+
+
书签描述
-
-
-
+
+
+
描述:
@@ -5483,12 +5483,12 @@ Are you really want to continue?
断点条件...
-
+
断点条件
-
+
输入当前断点的生效条件:
@@ -5510,17 +5510,17 @@ Are you really want to continue?
-
+
添加文件夹
-
+
新文件夹
-
+
文件夹:
@@ -5576,7 +5576,7 @@ Are you really want to continue?
-
+
新建文件夹
@@ -5587,9 +5587,9 @@ Are you really want to continue?
-
-
-
+
+
+
删除
@@ -5649,83 +5649,81 @@ Are you really want to continue?
C/C++源代码文件 (*.c *.cpp *.cc *.cxx)
-
+
新建文件夹%1
-
- 无标题
+ 无标题
-
- 无标题%1
+ 无标题%1
-
+
你真的要删除%1吗?
-
+
你真的要删除%1个文件吗?
-
+
保存项目
-
+
项目'%1'有改动。
-
-
+
+
需要保存吗?
-
-
+
+
文件已发生变化
-
+
新建项目文件?
-
+
您是否要将新建的文件加入项目?
-
-
-
-
+
+
+
+
保存失败
-
+
改变项目编译器配置集
-
+
改变项目的编译器配置集会导致所有的自定义编译器选项被重置。
-
+
你真的想要那么做吗?
@@ -5744,104 +5742,109 @@ Are you really want to continue?
输入数据文件 (*.in)
-
+
+
+ 无标题%1
+
+
+
修改监视表达式
-
+
监视表达式
-
+
您真的要清除该文件的所有断点吗?
-
+
新建项目
-
+
关闭'%1'以打开新项目?
-
+
文件夹不存在
-
+
文件夹'%1'不存在。是否创建?
-
+
无法创建文件夹
-
+
创建文件夹'%1'失败。
-
+
-
+
文件夹%1不是空的。
-
+
你真的要删除它吗?
-
+
改变工作文件夹
-
+
File '%1' is not in the current working folder
文件'%1'不在当前工作文件夹中。
-
+
是否将工作文件夹改设为'%1'?
-
+
无法提交
-
+
Git需要用信息进行提交。
-
+
选择输入数据文件
-
-
+
+
所有文件 (*.*)
-
+
Choose Expected Input Data File
选择期望输出文件
@@ -5851,61 +5854,61 @@ Are you really want to continue?
第%1行
-
-
+
+
选择工作文件夹
-
-
+
+
头文件已存在
-
-
+
+
头文件"%1"已存在!
-
+
源文件已存在!
-
+
源文件"%1"已存在!
-
+
无法提交!
-
+
下列文件处于冲突状态,请解决后重新添加和提交:
-
+
提交信息
-
+
提交信息:
-
+
提交失败
-
+
提交信息不能为空!
@@ -5914,52 +5917,53 @@ Are you really want to continue?
小熊猫Dev-C++项目文件 (*.dev)
-
+
新建项目失败
-
+
无法使用模板创建项目
-
+
删除文件
-
+
同时从硬盘上删除文件?
-
+
+
无标题
-
+
新的项目文件名
-
+
文件名:
-
+
文件已存在!
-
+
文件'%1'已经存在!
-
+
添加到项目
@@ -5974,75 +5978,75 @@ Are you really want to continue?
本操作会删除此试题的所有案例。
-
+
小熊猫C++项目文件(*.dev)
-
+
重命名出错
-
+
符号'%1'在系统头文件中定义,无法修改。
-
+
新名称
-
-
+
+
替换出错
-
+
无法打开文件'%1'进行替换!
-
+
内容和上次查找时不一致。
-
+
RTF格式文件 (*.rtf)
-
+
HTML文件 (*.html)
-
+
当前的试题集不是空的。
-
+
试题%1
-
-
+
+
试题集文件 (*.pbs)
-
+
载入失败
-
+
试题案例%1
@@ -6056,13 +6060,13 @@ Are you really want to continue?
-
-
-
-
-
-
-
+
+
+
+
+
+
+
错误
@@ -6089,79 +6093,79 @@ Are you really want to continue?
版本控制
-
+
磁盘文件'%1'已被修改。
-
+
是否重新读取它的内容?
-
+
磁盘文件'%1'已被删除。
-
+
是否保持它在小熊猫C++中打开的编辑窗口?
-
+
打开
-
+
编译失败
-
+
运行失败
-
-
-
+
+
+
确认转换
-
-
-
+
+
+
当前编辑器中的文件将会使用%1编码保存。<br />这项操作无法被撤回。<br />你确定要继续吗?
-
+
新监视表达式
-
+
输入监视表达式
-
+
(%1/%2)正在解析文件"%3"
-
-
+
+
完成%1个文件的解析,用时%2秒
-
+
(每秒%1个文件)
@@ -6493,68 +6497,68 @@ Are you really want to continue?
文件'%1'已在项目中
-
+
项目已升级
-
+
已成功将项目升级到新的格式
-
+
旧项目文件备份在'%1'。
-
+
头文件
-
+
源文件
-
+
其他文件
-
+
设置需要更新
-
+
The compiler settings format of Dev-C++ has changed.
小熊猫C++的编译器设置格式已发生改变。
-
+
请在项目 >> 项目属性 >> 编译器设置中修改您的设置并保存您的项目
-
+
未找到编译器
-
+
您为该项目设置的编译器不存在。
-
+
它将会被全局编译器设置代替。
-
+
Developed using the Red Panda Dev-C++ IDE
使用小熊猫C++编辑器开发
@@ -6925,22 +6929,22 @@ Are you really want to continue?
共%1个文件[%2个源程序文件,%3个头文件,%4个资源文件,%5个其他文件]
-
+
无法删除旧图标文件
-
+
无法删除旧图标文件'%1'
-
+
选择图标文件
-
+
图像文件 (*.ico *.png *.jpg)
@@ -6991,32 +6995,32 @@ Are you really want to continue?
ProjectModel
-
+
文件已存在
-
+
文件'%1'已存在。是否删除?
-
+
删除失败
-
+
无法删除文件'%1'
-
+
改名失败
-
+
无法将文件'%1'改名为'%2'
@@ -7323,60 +7327,60 @@ Are you really want to continue?
无法载入自动链接设置
-
-
-
-
+
+
+
+
下列%1文件夹不存在:
-
-
+
+
二进制
-
+
未指定%1文件夹
-
+
C包含
-
-
+
+
C++包含
-
-
-
-
+
+
+
+
无法找到%1程序"%2"
-
+
C编译器
-
+
C++编译器
-
+
构建程序(Make)
-
+
调试器
@@ -7445,7 +7449,7 @@ Are you really want to continue?
生成调试信息(-g3)
-
+
您同意小熊猫C++在PATH路径中寻找gcc编译器吗?
@@ -7554,34 +7558,34 @@ Are you really want to continue?
只生成汇编代码(-S)
-
-
+
+
确认
-
+
在验证编译器设置"%1"时遇到了下列问题:
-
+
是否让小熊猫C++删除这些配置,并尝试重新建立配置?
-
+
如果仍然保留这些设置,可能会导致编译错误。<br /><br />请选择“是”,除非您清楚的知道选择“否”的后果,
-
-
+
+
未配置编译器设置。
-
+
您需要小熊猫C++在下列位置搜索编译器吗:<br />%1<br />%2
@@ -7624,22 +7628,22 @@ Are you really want to continue?
下标"%1"越界
-
+
字节
-
+
KB
-
+
MB
-
+
GB
@@ -7968,12 +7972,12 @@ Are you really want to continue?
RegisterModel
-
+
寄存器
-
+
值
@@ -8401,14 +8405,14 @@ Are you really want to continue?
性能
-
+
编译器配置集
-
+
@@ -8420,7 +8424,7 @@ Are you really want to continue?
自动链接
-
+
@@ -8496,15 +8500,15 @@ Are you really want to continue?
杂项
-
-
+
+
程序运行
-
+
试题集
@@ -8753,12 +8757,12 @@ Are you really want to continue?
SynDocument
-
+
无法读取文件'%1'!
-
+
无法写入文件'%2'!
@@ -8766,8 +8770,8 @@ Are you really want to continue?
SynEdit
+
-
高亮处理进入了死循环
@@ -8986,49 +8990,49 @@ Are you really want to continue?
WatchModel
-
+
保存文件'%1'失败。
-
+
无法写入文件'%1'.
-
+
JSON文件'%1':%2中存在错误:%3
-
-
+
+
执行以求值
-
-
+
+
在当前作用域中无效
-
+
无法读取文件'%1'.
-
+
表达式
-
+
类型
-
+
值
diff --git a/RedPandaIDE/RedPandaIDE_zh_TW.ts b/RedPandaIDE/RedPandaIDE_zh_TW.ts
index 4823e9a9..9964a33c 100644
--- a/RedPandaIDE/RedPandaIDE_zh_TW.ts
+++ b/RedPandaIDE/RedPandaIDE_zh_TW.ts
@@ -4108,14 +4108,6 @@
-
-
-
-
-
-
-
-
@@ -4500,6 +4492,10 @@
+
+
+
+
NewClassDialog
diff --git a/RedPandaIDE/mainwindow.cpp b/RedPandaIDE/mainwindow.cpp
index 0135f150..2f789a66 100644
--- a/RedPandaIDE/mainwindow.cpp
+++ b/RedPandaIDE/mainwindow.cpp
@@ -3535,13 +3535,17 @@ void MainWindow::onShowInsertCodeSnippetMenu()
void MainWindow::onFilesViewCreateFolder()
{
QModelIndex index = ui->treeFiles->currentIndex();
+ QModelIndex parentIndex;
QDir dir;
if (index.isValid()
&& ui->treeFiles->selectionModel()->isSelected(index)) {
- if (mFileSystemModel.isDir(index))
+ if (mFileSystemModel.isDir(index)) {
dir = QDir(mFileSystemModel.fileInfo(index).absoluteFilePath());
- else
+ parentIndex = index;
+ } else {
dir = mFileSystemModel.fileInfo(index).absoluteDir();
+ parentIndex = mFileSystemModel.index(dir.absolutePath());
+ }
ui->treeFiles->expand(index);
} else {
dir = mFileSystemModel.rootDirectory();
@@ -3552,7 +3556,8 @@ void MainWindow::onFilesViewCreateFolder()
count++;
folderName = tr("New Folder %1").arg(count);
}
- dir.mkdir(dir.filePath(folderName));
+ QModelIndex newIndex = mFileSystemModel.mkdir(parentIndex,folderName);
+ ui->treeFiles->setCurrentIndex(newIndex);
}
void MainWindow::onFilesViewCreateFile()
@@ -3574,11 +3579,11 @@ void MainWindow::onFilesViewCreateFile()
suffix=".cpp";
else
suffix=".c";
- QString fileName = tr("Untitled")+suffix;
+ QString fileName = tr("untitled")+suffix;
int count = 0;
while (dir.exists(fileName)) {
count++;
- fileName = tr("Untitled %1").arg(count)+suffix;
+ fileName = tr("untitled%1").arg(count)+suffix;
}
QFile file(dir.filePath(fileName));
file.open(QFile::NewOnly);
diff --git a/RedPandaIDE/mainwindow.ui b/RedPandaIDE/mainwindow.ui
index b4141010..7003ec6f 100644
--- a/RedPandaIDE/mainwindow.ui
+++ b/RedPandaIDE/mainwindow.ui
@@ -464,7 +464,7 @@
QTabWidget::West
- 1
+ 0
true
@@ -541,6 +541,9 @@
QAbstractItemView::ExtendedSelection
+
+ false
+
false
diff --git a/RedPandaIDE/widgets/customfilesystemmodel.cpp b/RedPandaIDE/widgets/customfilesystemmodel.cpp
index dcdc92bf..1a79b7b5 100644
--- a/RedPandaIDE/widgets/customfilesystemmodel.cpp
+++ b/RedPandaIDE/widgets/customfilesystemmodel.cpp
@@ -22,3 +22,4 @@ CustomFileSystemModel::CustomFileSystemModel(QObject *parent) : QFileSystemModel
{
}
+