From f2e09075fc78b07b3053d525579cafa58e1b1788 Mon Sep 17 00:00:00 2001 From: "royqh1979@gmail.com" Date: Sat, 2 Oct 2021 21:46:34 +0800 Subject: [PATCH] - ehancement: check if debugger path contains non-ascii characters (this will prevent it from work) --- NEWS.md | 1 + RedPandaIDE/RedPandaIDE_zh_CN.qm | Bin 80775 -> 83205 bytes RedPandaIDE/RedPandaIDE_zh_CN.ts | 565 ++++++++++++++++++++----------- RedPandaIDE/debugger.cpp | 14 +- RedPandaIDE/mainwindow.cpp | 15 +- 5 files changed, 382 insertions(+), 213 deletions(-) diff --git a/NEWS.md b/NEWS.md index 23cc8b97..88f3e81c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -24,6 +24,7 @@ Version 0.5.0 - implement: context menu for debug console - fix: errors in debug console - fix: speed up the parsing process of debugger + - ehancement: check if debugger path contains non-ascii characters (this will prevent it from work) Version 0.2.1 - fix: crash when load last opens diff --git a/RedPandaIDE/RedPandaIDE_zh_CN.qm b/RedPandaIDE/RedPandaIDE_zh_CN.qm index dee41697b6f599b835545ca98d3e16b3f5f0e179..19e92242b1bb9a91b0a7dddb4feb543402939c15 100644 GIT binary patch delta 10093 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 Zeyy?-5Z(|~!Kh0AXB9=c4$K|J{{xjj@!J3Z delta 8013 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凯尔特语系 + + CodeSnippetsManager + + + Load default code snippets failed + 载入缺省代码模板失败 + + + + Can't copy default code snippets '%1' to '%2'. + 无法将缺省代码模板'%1'复制到'%2'。 + + + + + Read code snippets failed + 读取代码模板失败 + + + + Can't open code snippet file '%1' for read. + 无法读入代码模板文件'%1' + + + + Read code snippet file '%1' failed:%2 + 读取代码模板文件'%1'失败:%2 + + + + + Save code snippets failed + 保存代码模板失败 + + + + Can't open code snippet file '%1' for write. + + + + + Write to code snippet file '%1' failed. + 写入代码片段文件'%1'失败。 + + + + CodeSnippetsModel + + + Caption + 名称 + + + + Completion Prefix + 代码补全前缀 + + + + Description + 描述 + + + + Menu Section + 菜单节 + + ColorEdit @@ -693,11 +761,26 @@ Are you really want to continue? + Debugger path error + 调试路径错误 + + + + Debugger's path "%1" contains non-ascii characters. + 调试路径"%1"中包含非ASCII字符(如,中文字符) + + + + This prevents it from executing. + 这会导致调试器无法启动。 + + + Debugger not exists 找不到调试器 - + Can''t find debugger in : "%1" 找不到调试器程序"%1" @@ -744,71 +827,71 @@ Are you really want to continue? 失败 - - - - - - - + + + + + + + Error 错误 - + File %1 is not writable! 无法写入文件"%1" - + Save As 另存为 - + The text to be copied exceeds count limit! 要复制的内容超过了行数限制! - + The text to be copied exceeds character limit! 要复制的内容超过了字符数限制! - + The text to be cut exceeds count limit! 要剪切的内容超过了行数限制! - + The text to be cut exceeds character limit! 要剪切的内容超过了字符数限制! - - - + + + Ctrl+click for more info Ctrl+单击以获取更多信息 - - + + Symbol '%1' not found! 未找到符号'%1'! - + Break point condition 断点条件 - + Enter the condition of the breakpoint: 输入当前断点的生效条件: - + Readonly 只读 @@ -1306,6 +1389,24 @@ Are you really want to continue? C语言文件 + + EditorSnippetWidget + + + Form + 表单 + + + + Add + 添加 + + + + Remove + 删除 + + EditorSymbolCompletionWidget @@ -2304,7 +2405,7 @@ Are you really want to continue? - + Issues 编译器 @@ -2506,10 +2607,10 @@ Are you really want to continue? - - - - + + + + Compile 编译 @@ -2555,7 +2656,8 @@ Are you really want to continue? - + + Copy 复制 @@ -2566,6 +2668,7 @@ Are you really want to continue? + Paste 粘贴 @@ -2576,6 +2679,7 @@ Are you really want to continue? + Select All 选择全部 @@ -2920,7 +3024,7 @@ Are you really want to continue? - + Clear all breakpoints 删除所有断点 @@ -3015,7 +3119,7 @@ Are you really want to continue? 在终端中打开 - + File Encoding 文件编码 @@ -3025,32 +3129,32 @@ Are you really want to continue? 文件历史 - - - - - - + + + + + + Debugging 正在调试 - - - - - - + + + + + + Running 正在运行 - - - - - - + + + + + + Compiling 正在编译 @@ -3059,349 +3163,355 @@ Are you really want to continue? 行:%1 列:%2 已选择:%3 总行数:%4 总长度:%5 - + Line:%1 Col:%2 Selected:%3 Lines:%4 Length:%5 行:%1 列:%2 已选择:%3 总行数:%4 总长度:%5 - + Read Only 只读 - + Insert 插入 - + Overwrite 覆写 - + Close project 关闭项目 - + Are you sure you want to close %1? 你确定要关闭'%1'吗? - - + + Confirm 确认 - - - + + + Source file is not compiled. 源文件尚未编译。 - - + + Compile now? 现在编译? - - + + Source file is more recent than executable. 源文件比可执行程序新。 - + Recompile now? 重新编译? - + No compiler set 无编译器设置 - + No compiler set is configured. 没有配置编译器设置。 - + Can't start debugging. 无法启动调试器 - - + + Enable debugging 启用调试参数 - - + + You have not enabled debugging info (-g3) and/or stripped it from the executable (-s) in Compiler Options.<BR /><BR />Do you want to correct this now? 当前编译设置中未启用调试选项(-g3),或启用了信息剥除选项(-s)<br /><br/>是否纠正这一问题? - + Project not built 项目尚未构建 - + Project hasn't been built. Build it now? 项目尚未构建。是否构建? - + Host applcation missing 宿主程序不存在 - + DLL project needs a host application to run. 动态链接库(DLL)需要一个宿主程序来运行。 - + But it's missing. 但它不存在。 - + Host application not exists 宿主程序不存在 - + Host application file '%1' doesn't exist. 宿主程序'%1'不存在。 - + Recompile? 重新编译? - - + + Save last open info error 保存上次打开信息失败 - + Can't remove old last open information file '%1' 无法删除旧上次打开信息文件'%1' - + Can't save last open info file '%1' 无法保存上次打开信息文件'%1' - + Load last open info error 载入上次打开信息失败 - + Can't load last open info file '%1' 无法载入上次打开信息文件'%1' - + Copy all 全部复制 - + + Clear 清除 - + + Show debug logs in the debug console + 在调试主控台中显示调试器输出 + + + Remove this search 清除这次搜索 - + Clear all searches 删除所有搜索 - + Breakpoint condition... 断点条件... - + Break point condition 断点条件 - + Enter the condition of the breakpoint: 输入当前断点的生效条件: - + Remove all breakpoints 清除所有断点 - + Rename File 重命名文件 - - + + Add Folder 添加文件夹 - + New folder 新文件夹 - + Folder name: 文件夹: - + Rename Folder 重命名 - + Remove Folder 删除文件夹 - + Sort By Type 按类型排序 - + Sort alphabetically 按名称排序 - + Show inherited members 显示继承的成员 - + Goto declaration 跳转到声明处 - + Goto definition 跳转到定义处 - + Character sets 字符集 - + %1 files autosaved 已自动保存%1个文件 - + Save project 保存项目 - + The project '%1' has modifications. 项目'%1'有改动。 - + Do you want to save it? 需要保存吗? - + Do you really want to clear all breakpoints in this file? 您真的要清除该文件的所有断点吗? - + New project 新建项目 - + Close %1 and start new project? 关闭'%1'以打开新项目? - + Folder not exist 文件夹不存在 - + Folder '%1' doesn't exist. Create it now? 文件夹'%1'不存在。是否创建? - + Can't create folder 无法创建文件夹 - + Failed to create folder '%1'. 创建文件夹'%1'失败。 - + Save new project as - + Red panda Dev-C++ project file (*.dev) 小熊猫Dev-C++项目文件 (*.dev) - + New project fail 新建项目失败 - + Can't assign project template 无法使用模板创建项目 - + Add to project 添加到项目 - - - - - - - - - + + + + + + + + + Error 错误 @@ -3411,75 +3521,75 @@ Are you really want to continue? 项目历史 - + File '%1' was changed. 磁盘文件'%1'已被修改。 - + Reload its content from disk? 是否重新读取它的内容? - + File '%1' was removed. 磁盘文件'%1'已被删除。 - + Keep it open? 是否保持它在小熊猫C++中打开的编辑窗口? - + Open 打开 - + Compile Failed 编译失败 - + Run Failed 运行失败 - - + + Confirm Convertion 确认转换 - - + + The editing file will be saved using %1 encoding. <br />This operation can't be reverted. <br />Are you sure to continue? 当前编辑器中的文件将会使用%1编码保存。<br />这项操作无法被撤回。<br />你确定要继续吗? - + New Watch Expression 新监视表达式 - + Enter Watch Expression (it is recommended to use 'this->' for class members): 输入监视表达式 - + Parsing file %1 of %2: "%3" (%1/%2)正在解析文件"%3" - - + + Done parsing %1 files in %2 seconds 完成%1个文件的解析,用时%2秒 - + (%1 files per second) (每秒%1个文件) @@ -4569,27 +4679,27 @@ Are you really want to continue? 无标题 - + Index %1 out of range 下标"%1"越界 - + bytes 字节 - + KB KB - + MB MB - + GB GB @@ -5218,176 +5328,182 @@ Are you really want to continue? 取消 - + Appearence 外观 - + Environment 环境 - - + + Compiler Set 编译器配置集 - - + + Compiler 编译器 - + Auto Link 自动链接 - - - - - + + + + + General 通用 - - - - - - - - - - + + + + + + + + + + + Editor 编辑器 - + Font 字体 - + Copy & Export 复制/导出 - + Color 配色 - + Code Completion 代码补全 - + Symbol Completion 符号补全 - + + Snippet + 代码模板 + + + Auto Syntax Checking 自动语法检查 - + Tooltips 信息提示 - + Auto save 自动保存 - + Misc 杂项 - + Program Runner 程序运行 - + Debugger 调试器 - + Code Formatter 代码排版 - - - - - - - - - - + + + + + + + + + + Project 项目 - + Files 文件 - + Custom Compile options 自定义编译选项 - + Directories 文件夹 - + Precompiled Header 预编译头文件 - + Makefile Makefile - + Output 输出 - + DLL host DLL宿主 - + Version info 版本信息 - + Save Changes 保存修改 - + There are changes in the settings, do you want to save them before swtich to other page? 本页中有尚未保存的设置修改,是否保存后再切换到其他页? @@ -5435,6 +5551,41 @@ Are you really want to continue? 命令: %1 %2 + + SymbolUsageManager + + + + Load symbol usage info failed + 载入符号使用数据失败 + + + + Can't open symbol usage file '%1' for read. + 无法读取符号使用书文件"%1"。 + + + + Can't parse symbol usage file '%1': %2 + 无法解析符号使用数据文件"%1":%2 + + + + + Save symbol usage info failed + 保存符号使用数据失败 + + + + Can't open symbol usage file '%1' for write. + 无法写入符号使用数据文件"%1"。 + + + + Write to symbol usage file '%1' failed. + 写入符号使用数据文件"%1"。 + + SynEdit diff --git a/RedPandaIDE/debugger.cpp b/RedPandaIDE/debugger.cpp index a0b76c13..7be4d33a 100644 --- a/RedPandaIDE/debugger.cpp +++ b/RedPandaIDE/debugger.cpp @@ -35,8 +35,18 @@ bool Debugger::start() } mExecuting = true; QString debuggerPath = compilerSet->debugger(); - QFile debuggerProgram(debuggerPath); - if (!debuggerProgram.exists()) { + //QFile debuggerProgram(debuggerPath); + if (!isTextAllAscii(debuggerPath)) { + mExecuting = false; + QMessageBox::critical(pMainWindow, + tr("Debugger path error"), + tr("Debugger's path \"%1\" contains non-ascii characters.") + .arg(debuggerPath) + + "
" + + tr("This prevents it from executing.")); + return false; + } + if (!fileExists(debuggerPath)) { mExecuting = false; QMessageBox::critical(pMainWindow, tr("Debugger not exists"), diff --git a/RedPandaIDE/mainwindow.cpp b/RedPandaIDE/mainwindow.cpp index a3e81e20..92a9f746 100644 --- a/RedPandaIDE/mainwindow.cpp +++ b/RedPandaIDE/mainwindow.cpp @@ -1588,11 +1588,18 @@ void MainWindow::buildContextMenus() //context menu signal for Editor's tabbar ui->EditorTabsLeft->tabBar()->setContextMenuPolicy(Qt::CustomContextMenu); - connect(ui->EditorTabsLeft->tabBar(),&QWidget::customContextMenuRequested, - this, &MainWindow::onEditorTabContextMenu); + connect(ui->EditorTabsLeft->tabBar(), + &QWidget::customContextMenuRequested, + this, + &MainWindow::onEditorTabContextMenu + ); + ui->EditorTabsRight->tabBar()->setContextMenuPolicy(Qt::CustomContextMenu); - connect(ui->EditorTabsRight->tabBar(),&QWidget::customContextMenuRequested, - this, &MainWindow::onEditorTabContextMenu); + connect(ui->EditorTabsRight->tabBar(), + &QWidget::customContextMenuRequested, + this, + &MainWindow::onEditorTabContextMenu + ); //context menu signal for Compile Issue view ui->tableIssues->setContextMenuPolicy(Qt::CustomContextMenu);