Commit Graph

217 Commits

Author SHA1 Message Date
Roy Qu b6b046b0e2 warning user when make program no exists. 2022-12-16 09:10:39 +08:00
Roy Qu 02e6748db5 - fix: Buttons in options -> compiler -> compiler set -> programs are not usable.
- enhancement: Don't check existence of gcc/g++/make/gdb at startup.
  - enhancement: Auto disable "compile" button if gcc doesn't exist.
  - enhancement: Auto disable "debug" button if gdb doesn't exist.
  - enhancement: Auto disable "compile" button for project if make doesn't exist.
2022-12-13 15:58:27 +08:00
Roy Qu 2520ddf8f5 - enhancement: Show memory usage for problem cases. 2022-12-13 08:49:20 +08:00
Roy Qu b1ca0bb600 - enhancement: Import FPS (free problem set) files. 2022-12-11 19:47:43 +08:00
Roy Qu f9fb966c38 - enhancement: Add "Generate Assembly" in "Run" Menu
- enhancement: Improve highlighter for asm
2022-12-01 22:10:44 +08:00
Roy Qu 82564239b9 - enhancement: project's custom compile include/lib/bin directory is under folder of the app, save them using the path relative to the app 2022-11-16 09:24:42 +08:00
Roy Qu 052f4610ee - fix: crash when alt+mouse drag selection 2022-11-10 09:05:34 +08:00
Roy Qu 93751d1b23 - fix: When start parsing and exit app, app may crash
- enhancement: add "Allow parallel build" option in project option dialog's custom compile options page
  - fix: crash when rename project file
  - fix: When remove project file, symbols in it not correctly removed from code parser
  - fix: infos in class browser (structure panel) not correctly updated when add/create/remove/rename project files
2022-11-06 22:51:14 +08:00
Roy Qu 01c1e96aeb - change: Don't turn on "Show some more warnings (-Wextra)" option by default for DEBUG compiler set
- fix: Changes mainwindows's compiler set combobox not correctly handled for project
  - change: Don't localize autogenerated name for new files and new project (new msys2 gcc compiler can't correctly handle non-ascii chars in filenames)
2022-10-30 11:58:42 +08:00
Roy Qu 819d217708 - change: Don't turn on "Show some more warnings (-Wextra)" option by default for DEBUG compiler set 2022-10-29 20:51:31 +08:00
Roy Qu 0c1402a386 - change: remove "Optimize for the following machine" and "Optimize less, while maintaining full compatibility" options in the compiler setting panel, which are obseleted.
- change: escape spaces in the executabe path under linux.
2022-10-29 17:21:38 +08:00
Roy Qu 3cbd323f97 fix: syntax check issues for new file not correctly parsed 2022-10-26 08:12:00 +08:00
Roy Qu 5edcad104e - enhancement: before run a project'executable, check if there's project file newer than the executable 2022-10-25 19:09:46 +08:00
Roy Qu 2e7391d870 - enhancement: auto locate current open file in the project view panel 2022-10-24 20:01:46 +08:00
Roy Qu 55b63a4f95 - enhancement: refresh project view for git status won't redraw project structure
- enhancement: auto save project options after the compilerset option for project resetted
  - enhancement: "." and ".." in paths of issues not correctly handled
  - enhancement: auto locate the last opened file in the project view after project creation
  - enhancement: separate compiler's language standard option for C / C++
  - fix: compiler settings not correctly handled when create makefile
2022-10-24 19:23:43 +08:00
Roy Qu 6d2ce9035d - reduce memory usage when deciding file types
- enhancement: refresh project view for git status won't redraw project structure
  - enhancement: auto save project options after the compilerset option for project resetted
  - enhancement: "." and ".." in paths of issues not correctly handled
2022-10-24 17:23:37 +08:00
Roy Qu 012628aef3 - fix: editor & class browser not correct updated when editor is switched but not focused
- fix: when invalidating a c/c++ source file, statements that not declared in it are wrongly removed.
2022-10-23 10:40:00 +08:00
Roy Qu 93ce54d688 remove debug info 2022-10-21 09:58:19 +08:00
Roy Qu 382ffffdc8 minor fix: uninitialized variable 2022-10-21 09:56:14 +08:00
Roy Qu 7883397409 - enhancement: set compilation stage in the options / compiler set pages
- enhancement: set custom compilation output suffix in the options / compiler set pages
2022-10-12 19:48:35 +08:00
Roy Qu f67628863f - fix: minor memory leaks when set itemmodels
- fix: thread for parsing doesn't correctly released when parsing finished ( so and the parser)
2022-10-10 18:05:18 +08:00
Roy Qu 39c56aeff2 - change: clear tools output panel when start to compile
- change: don't show syntax check messages in the tools output panel
2022-10-10 07:11:59 +08:00
Roy Qu e557a31848 refactor project 2022-10-01 08:54:44 +08:00
Roy Qu 58a8b7e6dd - fix: when "cleary symbol table of hidden editors" is turned on, content in the editor reshown is not correctly parsed 2022-09-27 18:53:42 +08:00
Roy Qu 15bbf15d38 work save 2022-09-26 12:01:45 +08:00
Roy Qu 71a728a868 work save 2022-09-25 17:43:31 +08:00
Roy Qu 00ea7ee773 create QSynedit namespace 2022-09-25 09:55:18 +08:00
Roy Qu 17eb0c1f94 - enhancement: add select current word command in the Selection menu
- change: add Selection menu
  - enhancement: add memory view rows/columns settings in the settings dialog -> debugger -> general panel
  - enhancement: add "Go to Line..." in the Code menu
2022-07-21 15:28:07 +08:00
Roy Qu b2585f567a - enhancement: autolink add "force utf8" property (mainly for raylib) 2022-06-23 19:07:48 +08:00
Roy Qu 20690b7e51 - enhancement: add the option "Set Encoding for the Executable" to project's compiler options
- fix: can't correctly compile when link params are seperated by line breaks
2022-06-22 17:08:35 +08:00
Roy Qu 5c2c2bead2 - fix: when messages panel is docked at right, its width not correctly restored when restart. 2022-06-17 18:18:12 +08:00
Roy Qu 3d6d3c5210 - fix: when run/debug the executable, add current compiler set's bin folders to path
- fix: when open in shell, add current compiler set's bin folders to path
2022-06-16 21:34:31 +08:00
Roy Qu d01a60e88f - fix: c files added to a project will be compiled as c++ file. 2022-06-10 08:41:52 +08:00
Roy Qu cd6e5719b7 fix: autolink calculation not stable 2022-06-04 14:44:50 +08:00
brokencuph a96af19f2e make behavior consistent in adding compiler bindirs to Path
When running the compiled user program, current compiler's
binary directories should be added to the beginning of the
Path environment variable instead of the end, in order to
avoid loading other user-installed versions of
MinGW libraries (such as libstdc++).

Previously, in openShell of mainwindow.cpp the behavior has already
been updated, but in executablerunner.cpp and ojproblemcasesrunner.cpp,
the behavior is different. Now they have been changed to be
consistent with the one in openShell.
2022-05-30 16:01:28 +08:00
Roy Qu e920d230df - fix: "run current cases" dosen't correctly display real output 2022-05-26 21:22:07 +08:00
Roy Qu 06ee536431 - fix: tab icon not correct restore when hide and show a panel
- fix: the hiding state of the tools output panel is not correctly saved
2022-05-21 10:44:39 +08:00
Roy Qu c56a020781 - enhancement: can debug files that has non-ascii chars in its path and is compiled by clang
- fix: when debugging project, default compiler set is wrongly used
2022-05-15 17:14:22 +08:00
Roy Qu ba29839cc4 fix: compiler arguments widget can't correct load settings 2022-05-14 20:27:21 +08:00
Roy Qu a3946b6015 - enhancement: add compiler commandline argument for "-E" (only preprocessing)
- enhancement: auto set output suffix to ".expanded.cpp" when compiler commandline argument for "-E" is turned on
  - enhancement: auto set output suffix to ".s" when compiler commandline argument for "-S" is turned on
2022-05-14 16:43:59 +08:00
Roy Qu 086dfd0865 finish: redesign compiler command line arguments 2022-05-14 11:21:59 +08:00
Roy Qu 58b7c55cd6 work save 2022-05-13 20:22:16 +08:00
Roy Qu 9867d0d931 update compiler set options 2022-05-12 15:28:08 +08:00
Roy Qu 45744b43f0 - change: highlight whole #define statement using one color
- enhancement: don't highlight '\' as error
  - enhancement: hide add charset  option in project options dialog's compiler set page, when project compiler set is clang
  - fix: When generating project's makefile for clang, don't add -fexec-charset / -finput-charset command line options
2022-05-02 21:47:01 +08:00
Roy Qu ffaa8086d1 compatible with qt 5.12 2022-04-28 19:02:34 -07:00
Roy Qu 845427b747 - fix: correctly parse link error message for clang 2022-04-27 19:13:38 +08:00
Roy Qu 945ba4ce73 - fix: use utf8 as the encoding for clang's error output 2022-04-27 15:26:13 +08:00
Roy Qu f16d015fdd - fix: gcc compiler set name is not correct in Linux
- enhancement: hide add charset option when the currect compiler set is clang
  - enhancement: auto check the c project option in the new project dialog
  - change: use "app.ico" as default name for the project icon file
  - fix: c file should use CC to build in the auto generated makefile
2022-04-25 21:48:04 +08:00
Roy Qu 784d94c541 - fix: don't add non-project header files to makefile's object rules 2022-04-09 09:35:17 +08:00
Roy Qu 39a0f87b94 - fix: can't build project that has source files in subfolders
- fix: can't build project that has custom object folder
  - fix: buttons in the project option dialog's output page don't work
2022-04-08 22:14:18 +08:00
Roy Qu f0c0197380 - fix: auto syntax check fail, if the file is not gbk and includes files encoded with utf8
- fix: running programs with input redirected can't exit at once.
2022-03-31 09:56:49 +08:00
Roy Qu 17516c8111 - fix: error in auto generate makefile under linux 2022-03-30 19:50:55 +08:00
Roy Qu 7bc5a2ee7a - fix: can't stop a freeze program that has stdin redirected.
- enhancement: context menu for problem cases table
2022-03-30 19:28:46 +08:00
Roy Qu a1614cef68 - enhancement: display problem case running time
- enhancement: set problem case input/expected output file
  - enhancement: auto position cursor in expected with output's cursor
2022-03-29 18:06:24 +08:00
Roy Qu facdb59c66 msvc compatibility 2022-03-29 09:43:24 +08:00
Roy Qu ac54496aeb - fix: auto syntax check use wrong charset, if a file in editing is not encoded with ANSI encoding
- enhancement: timeout for problem case test in
2022-03-27 11:44:52 +08:00
Roy Qu 090cccc033 refactor: remove ProjectUnit's mEditor field 2022-03-21 09:08:05 +08:00
Roy Qu 14d99711f8 linux:
- fix: if there is a Red Panda C++ process running program, other Red
Panda C++ processes can't run program correctly.
2022-03-16 20:39:11 +08:00
Roy Qu c67e196e72 - fix: if there is a Red Panda C++ process running program, other Red Panda C++ processes can't run program correctly. 2022-03-16 20:08:39 +08:00
Roy Qu 664922a301 - fix: convert to encoding setting in compiler set option not correctly handled
work save:
  git repository class
2022-02-15 00:01:50 +08:00
Roy Qu 62e51d166c Merge branch 'master' into git
# Conflicts:
#	NEWS.md
2022-02-11 21:55:20 +08:00
Roy Qu 71e885f941 - fix: huge build size for c++ files 2022-02-11 14:04:18 +08:00
royqh1979@gmail.com 4e16a2e186 - change: rename "compile log" panel to "tools output"
- fix: debug panel can't be correctly show/hide
  - enhancement: redesign tools output's context menu, add "clear" menu item
  - update translations
2022-02-10 12:03:56 +08:00
Roy Qu 0099aa436a - fix: when running problem cases, the output textbox might be wrongly cleared. 2022-02-04 19:14:10 +08:00
royqh1979@gmail.com 425b4a4e96 fix: crash while delete headers created by new header dialog 2022-02-01 16:17:28 +08:00
royqh1979@gmail.com a9f7cdd0e6 add timeout for flushing output buffer when running problem cases 2022-01-28 08:21:56 +08:00
Roy Qu 002f9d4805 - fix: mainwindow action's short cut doesn't work, if the action is not in menu or toolbar
- fix: when run all cases for a problem, processing of output is slow
2022-01-28 00:31:11 +08:00
Roy Qu ee9db9cdfd - enhancement: parser not called when open a file, if option "clean parser symbols when hidden" is turned on. 2022-01-24 20:59:02 +08:00
royqh1979@gmail.com 4797c15b04 - enhancement: add exec charset option to compiler set settings 2022-01-24 11:23:30 +08:00
Roy Qu ebe2dbb95e - fix: editor crash when no highlighter is assigned (the editing file is a not c/cpp source file);
- fix: ')' not correctly skip in the editor when no highlighter is assigned (the editing file is a not c/cpp source file);
2022-01-23 21:04:08 +08:00
Roy Qu 9af7c736d9 cement: If console pauser doesn't exist, warn and stop running programs. 2022-01-20 00:12:50 +08:00
Roy Qu 6209b1ff05 - fix: in linux, projects no need of winres to be built
update debian pacakges files
2022-01-15 12:25:30 +08:00
Roy Qu c56b6c5414 add more templates 2022-01-10 10:53:16 +08:00
Roy Qu e3b9565b84 support PREFIX in qmake script 2022-01-05 09:08:44 +08:00
Roy Qu bb6a4ed9c8 qt 5.12 compatibility 2022-01-04 16:50:54 +08:00
Roy Qu 02cba8e03c - rename to Red Pand C++ 2021-12-30 19:25:47 +08:00
Roy Qu 13c79bb55d - enhancement: detach pausing console window
- use "-var-update" gdb command instead of "noop"
2021-12-29 22:03:18 +08:00
Roy Qu 88c5c836a6 - enhancement: redirect input to program in Linux 2021-12-29 19:15:50 +08:00
Roy Qu 3be06fe586 - fix: wrong executable filename for source files in linux
- enhancement: console pauser for linux
2021-12-29 13:16:03 +08:00
royqh1979@gmail.com 317db42876 add license information 2021-12-26 23:18:28 +08:00
royqh1979@gmail.com f3ab76d60a update version to 0.12.3 2021-12-26 21:26:00 +08:00
Roy Qu 1fe9be9791 add app library path 2021-12-26 15:08:54 +08:00
Roy Qu edc9fe6ed0 add options to set terminal 2021-12-25 23:38:53 +08:00
Roy Qu f2504e1f43 add options for gdb server
debug with gdb server
2021-12-25 18:09:50 +08:00
Roy Qu 9fc4b0ff09 - enhancement: run programs in terminal (under Linux)
- fix:  monospace font doesn't exists under Debian Linux
 - fix: files are readonly when opened in editor
2021-12-25 08:23:52 +08:00
Roy Qu 7f4840a299 basic linux compatibily 2021-12-24 23:18:20 +08:00
Roy Qu b956dbbcab - enhancement: enable run/debug/compile when console program finished but pausing. 2021-12-23 17:07:27 +08:00
Roy Qu 6ab8ba9869 - fix: compiler set's custom link parameters not used when compiling
- fix: code completion doesn't work when input inside () or []
2021-12-19 16:54:31 +08:00
Roy Qu 0b414df5b2 - fix: auto add 32-bit compiler sets for TDM64-GCC 2021-12-16 17:56:42 +08:00
Roy Qu 879f001d0c - fix: current line of the disassembly in the cpu window not correctly setted
- enhancement: add "step into one machine instruction" and "step over one machine instruction" in the cpu window
2021-12-16 10:46:38 +08:00
Roy Qu 436a299ebb - enhancement: set font for problem case input/output textedits
- enhancement: when run problem cases, updates output immediately
2021-12-15 19:12:16 +08:00
Roy Qu c3ea1e6dd4 - enhancement: recalc layout info for code editors when dpi changed 2021-12-13 19:10:16 +08:00
Roy Qu 319c26902c - fix: path in macros should use system's path separator 2021-12-09 08:10:14 +08:00
Roy Qu d3abf822fb Merge branch 'master' into gdbmi 2021-11-23 18:16:53 +08:00
Roy Qu cd1e20c2d7 - fix: restore caret position after reformat code
- enhancement: ask user to rebuild project, when run/debug the project and it has been modified
 - fix: correct set the enabled state of "delete line"/"insert line"/"delete word"/"delete to BOL"/"delete to EOL" menu items
2021-11-23 10:32:33 +08:00
Roy Qu 69ba84fc86 - fix: the count in the title of issues view isn't correct 2021-11-22 18:42:58 +08:00
royqh1979@gmail.com e044bb0703 Merge branch 'master' into gdbmi 2021-11-20 07:22:09 +08:00
royqh1979@gmail.com 0f130291aa - fix: add unit to project not correctly set new unit file's encoding 2021-11-15 19:30:24 +08:00
royqh1979 d14a1be208 - fix: text color of labels in statusbar not correctly updated when change theme
- change: auto generate gcc version info in the about dialog
 - change: seperates version info to version.h
2021-11-14 17:43:25 +08:00
royqh1979@gmail.com 8b7d19f94e work save 2021-11-12 10:51:00 +08:00