Commit Graph

267 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
royqh1979@gmail.com b62c166638 - fix: highlighter can't correctly find the end of ANSI C-style Comments 2021-11-07 19:54:48 +08:00
royqh1979@gmail.com 47f10a2105 - enhancement: Problem Set Support
- enhancement: Competitive Companion Support
2021-11-02 09:29:35 +08:00
royqh1979@gmail.com f28aac649b - fix: remove the file change monitor if it's remove from the disk
- fix: don't test if a file is writable before save to it (because qt can't do that test reliably).
 - problem set ui almost done
2021-11-02 01:07:37 +08:00
royqh1979@gmail.com 1b9fdd3020 - change: "save" action will be enabled no matter contents in the current editor is modified or not 2021-11-01 23:14:17 +08:00
royqh1979 e82723c6f8 work save 2021-11-01 20:44:08 +08:00
royqh1979 9f4e8344a3 work save: oj problem cases runner 2021-11-01 09:18:23 +08:00
royqh1979@gmail.com 1853332141 clean up debug code 2021-10-29 12:29:21 +08:00
royqh1979@gmail.com b7aa67c9a4 - fix: autolink parameters are repeated when compile single files 2021-10-25 12:33:02 +08:00
royqh1979 3a7065e9d8 - fix: syntax issues' filepath info not correct when build projects 2021-10-25 09:31:58 +08:00
royqh1979 59ea699fb7 refactor codes that run programs 2021-10-25 09:16:00 +08:00
royqh1979 7bb59955e6 - enhancement: when running a program, redirect a data file to its stdin 2021-10-24 23:13:00 +08:00
royqh1979 581e59d719 - fix: issue count not correctly displayed when syntax check/compile finished
update translations
2021-10-23 16:18:02 +08:00
royqh1979 5c9ef2035e clean up compile warnings 2021-10-20 18:05:43 +08:00
royqh1979@gmail.com 88cd992159 - fix: should use c++ syntax to check ".h" files 2021-10-09 18:04:31 +08:00
royqh1979@gmail.com a16562f6ce - fix: The Enter key in the numpad doesn't work
- fix: The compiled executable not fully write to the disk before run it
 - fix: settings object not correctly released when exit
 - fix: shouldn't check syntax when save modifications before compiling
 - fix: shouldn't scroll to the end of the last line when update compile logs
 - fix: can't debug project
2021-10-09 11:33:23 +08:00
royqh1979@gmail.com 8e4c20a2a3 - fix: makefile generated for static / dynamic library projects not right
correct processing for input in code template's place holders
2021-10-05 23:30:34 +08:00
royqh1979@gmail.com 1c745871b2 - enhancement: don't add encoding options when using clang to compile (clang only support utf-8) 2021-10-04 00:18:16 +08:00
royqh1979 23b651f0c4 work save 2021-10-01 21:16:22 +08:00
royqh1979@gmail.com a4f60e45bf - enhancement: set encoding 2021-09-28 17:17:33 +08:00
royqh1979@gmail.com 3afe034aa1 - fix: crash when load last opens
- enhancement: when a system/project header file is saved to non-system folders, un-readonly the editor
 - minor speedup when processing tooltips
2021-09-28 10:01:13 +08:00
royqh1979@gmail.com 4634c0fbbc - change: continue to run / debug if there are compiling warnings (but no errors) 2021-09-26 22:52:19 +08:00
royqh1979@gmail.com 6ec3cfbfca fix: enum values no correctly displayed 2021-09-26 19:40:52 +08:00
royqh1979@gmail.com 77356215aa - enhancement: paint color editor use system palette's disabled group color
- fix: add watch not work when there's no editor openned;
 - enhancement: rainbow parenthesis
 - enhancement: run executable with parameters
2021-09-19 17:59:03 +08:00
royqh1979@gmail.com b6df4fcf41 - fix: debug very slow when local infos are long
- fix: wrong code fold calculation
2021-09-19 14:28:30 +08:00
royqh1979@gmail.com 7f14720666 * update chinese translations
* make clean for project done
2021-09-17 21:33:19 +08:00
royqh1979 78ea33d152 - done: view makefile 2021-09-17 19:58:37 +08:00
royqh1979@gmail.com 5ab9c16039 - new project done
- update project actions enable state
 - add project unit actions
2021-09-17 09:56:52 +08:00
royqh1979@gmail.com 6fc5f5995f work save:
- fix: left panel size not correctly saved
  - fix: cant run programs not statically linked
  - project files option widget
2021-09-14 23:56:08 +08:00
royqh1979@gmail.com 4e1cb482f9 work save: project general option dialog 2021-09-14 14:05:43 +08:00
royqh1979@gmail.com 1a00443f89 work save:
- change editor's encoding also change project unit's encoding Option
 - ascii encoding file don't add encoding info when generating project make file
 - make Settings Dialog more general
2021-09-14 12:10:43 +08:00
royqh1979@gmail.com 6335991ccf work save: compile & run project 2021-09-13 22:45:50 +08:00
royqh1979 c72afb3558 work save 2021-09-13 19:09:15 +08:00
royqh1979@gmail.com fc34defe13 work save 2021-09-13 10:48:44 +08:00
royqh1979 e03f537a4e work save 2021-09-13 07:49:36 +08:00
royqh1979@gmail.com fdafe622f1 work save 2021-09-12 22:45:00 +08:00
royqh1979@gmail.com 5939d536b0 work save 2021-09-12 01:01:34 +08:00
royqh1979@gmail.com 9d28bcc735 work save 2021-09-10 12:37:02 +08:00
royqh1979@gmail.com 090a6d3e1e work save 2021-09-07 10:28:40 +08:00
royqh1979 721f01f6cb - fix: header file wrongly opened when there are compiler errors 2021-09-04 21:33:10 +08:00
royqh1979 73d578b7e4 work save 2021-09-04 21:21:45 +08:00
royqh1979 9ce9469dd2 feature: seperate gcc default dirs from user settings 2021-09-04 20:49:44 +08:00
royqh1979 ad2310d4b5 - remove runner crash message dialog 2021-09-04 19:37:33 +08:00
royqh1979 64698287fc work save: translation updates 2021-09-04 19:27:44 +08:00
royqh1979@gmail.com f0530d6737 work save: auto link 2021-09-04 14:06:48 +08:00
royqh1979 3c4a2ac9d2 feature: auto link 2021-09-04 11:37:04 +08:00
royqh1979@gmail.com 156913a3ca - fix: encoding option not correctly set when check syntax in back 2021-09-03 21:06:53 +08:00
royqh1979@gmail.com f300fe15c4 * turn on "statically link libs" by defaultCFileFilter
* fix: qt can't correctly give system default encoding name
2021-09-03 20:55:14 +08:00
royqh1979 3ff0bdd579 compatible with old compiler settings 2021-09-02 21:01:23 +08:00
royqh1979 692ff570e2 Simplified Chinese translation updated
- fix: error when syntax checking for header file
 - open the included header file when double click it
 - use QEvent::HoverXXX messages instead of QEvent::Tooltip to handle hint tips
 - fix: type hint for functions is wrong
2021-08-30 13:30:42 +08:00
royqh1979@gmail.com 7207994d57 work save: header completion suggestion done 2021-08-29 10:14:07 +08:00