Commit Graph

635 Commits

Author SHA1 Message Date
Roy Qu fcca49e9e5 - fix: Can't debug when debug a file while other file has breakpoints
- change: Don't save breakpoints for non-project files
2023-02-21 09:34:40 +08:00
Roy Qu 242f8a742e - Enhancement: Disable reformat code for non-C/C++ files. 2023-02-18 22:09:14 +08:00
Roy Qu 57c4c5bc98 - fix: Only C/C++/GAS files can set breakpoints.
- Enhancement: Don't show breakpoints/watch related menuitems in context menu for non-C/C++/GAS files.
2023-02-18 16:20:07 +08:00
Roy Qu 24734bfb28 - enhancement: If executable doesn't have symbol table, inform user and stop.
- enhancement: If breakpoint is setted but executable doesn't have debug info ,inform user and stop.
  - enhancement: If current compiler set has "strip addition infos(-s)" enabled, inform user and stop.
2023-02-18 12:08:03 +08:00
Roy Qu 4b54d3799a fix: Fold area is not correctly calculated after editing. 2023-02-17 17:33:48 +08:00
Roy Qu dbdf098b94 - enhancement: Limit max speed for mouse scroll (and touch pad?) 2023-02-17 15:33:33 +08:00
Roy Qu 52eb2960ac - change: Remove "Compile & Run" menu item. It's replaced by "Run". 2023-02-17 09:18:39 +08:00
Roy Qu a410226f46 Don't confirm recompiler when debug single file 2023-02-17 09:11:52 +08:00
Roy Qu 46dd637770 - enhancement: Syntaxer for lua. 2023-02-16 12:26:35 +08:00
Roy Qu 25d0f5b782 - fix: Can't parse enum values.
- fix: Can't correctly show enum values in the class browser.
  - fix: Can't correctly create project, if template's encoding setting is not valid.
  - enhancement: Add "embed assembly" template.
2023-02-15 16:24:24 +08:00
Roy Qu 926802a8f5 - change: Don't confirm rebuild/recompile when run/debug. 2023-02-14 23:42:11 +08:00
Roy Qu 08fdeca219 - fix: Can't compile files with chinese characters in filenames using winlibs mingw gcc 2023-02-13 19:21:11 +08:00
Roy Qu aaae910c59 - change: The default disassemble style of CPU Dialog is "AT&T" now. 2023-02-13 10:24:35 +08:00
Roy Qu 57cbf3a49a - fix: New non-saved filenames is wrongly saved in the last openfiles list.
- fix: File is parsed before editor is fully created.
  - enhancement: New GAS File in the File Menu
  - change: rename "New File" to "New C/C++ File"
2023-02-12 22:33:34 +08:00
Roy Qu 0e3441e604 - fix: Crash when debug project that has nasm files.
- enhancement: Generate debug info for nasm files in Linux/MacOS.
  - enhancement: Compile/Run/Debug GAS source files.
  - enhancement: Compile/Debug GAS source files in project.
2023-02-12 12:53:14 +08:00
Roy Qu ff86213aee - fix: Confirm if recompile, when start to debug and project files has modifications. 2023-02-11 11:31:54 +08:00
Roy Qu 79ed9573d6 - fix: Respect encoding "Project default" when search/find occurrencies/open project units.
- enhancement: Show progress dialog when search/find occurrencies in large projects.
2023-02-07 10:46:06 +08:00
Roy Qu 79bf453c6c - enhancement: Pause autosave timer when autosave new files. 2023-01-26 11:33:27 +08:00
Roy Qu 7b13d3a519 - enhancement: Pause autosave timer when autosave new files. 2023-01-26 11:23:24 +08:00
Roy Qu 0ccec06f33 add project encoding 2023-01-24 11:31:30 +08:00
Roy Qu 1f491fccfd - fix: Settings in Options/Tools/General is messed up when switching items in the list.
- fix: Infos in the status bar not correctly updated when editor closed.
  - change: Project's encoding shouldn't be set to "auto detect"
2023-01-24 10:21:19 +08:00
Roy Qu 7d2920198e - enhancement: Use lldb-mi as the debugger.
- enhancement: Set lldb-mi as the debugger program for clang, when finding compiler set in folders.
2023-01-22 22:19:19 +08:00
Roy Qu c5331f0597 - enhancement: If there is "cppreference.chm" or "cppreference-%locale_name%.chm"(like cppreference-zh_CN.chm) in the redpanda C++'s app folder, open it instead of the cppreference website. 2023-01-20 12:17:04 +08:00
Roy Qu c77a25f109 - enhancement: Save project files' real encoding;
- enhancement: Use project files' real encoding information when generating the makefile.
2023-01-19 20:04:05 +08:00
Roy Qu 4456772fa7 - enhancement: Code Completion now respect compiler set's language standard settings. 2023-01-19 11:08:32 +08:00
Roy Qu 8603fa10ee - enhancement: Add "Help"/"Submit Iusses".
- enhancement: Add "Help"/"Document" for Simplified Chinese users.
2023-01-16 15:42:03 +08:00
Roy Qu edeb47d2c2 Let user choose if continue to save, if backup file creation failed. 2023-01-15 09:43:54 +08:00
Roy Qu d8fae209c6 - enhancement: set caret to the corresponding line in the editor after "run"/"generate assembly"
- fix: syntax highlighting for cpp style line comment is not correct.
2023-01-12 21:58:04 +08:00
Roy Qu ea26548835 - enhancement: Add "Open files in editor" in the search panel
- enhancement: Auto disable the "in project" option in the "search in files" dialog, if no project is opened.
  - enhancement: Auto disable the "search again" button in the search panel if the current search history item is search in the project, and no project is opened.
2023-01-12 16:53:00 +08:00
Roy Qu 93a37a2bc6 rename symbol/batch replace correctly support undo 2023-01-12 13:46:09 +08:00
Roy Qu bc1b22ad25 - enhancement: Rename symbols won't remove all breakpoints/bookmarks
- enhancement: Batch replace won't remove all breakpoints/bookmarks
  - enhancement: Execute parameters can be used in debug.
2023-01-12 12:07:22 +08:00
Roy Qu 06a528313d refactor 2023-01-11 17:06:32 +08:00
Roy Qu 1761c66456 refactor 2023-01-11 16:22:26 +08:00
Roy Qu 2ab5efc6fe - fix: "Goto declaration" / "Goto definition" / "Find occurences" not correctly disabled for non-c/c++ files. 2023-01-07 20:04:51 +08:00
Roy Qu 89ee9d8914 - fix: Crash when find occurrences in a project that has missing files.
rename FileEndType to NewlineType
2023-01-04 11:01:34 +08:00
Roy Qu 4f2fb8f540 - enhancement: Let encoding options in the statusbar more explicit.
change FileEndingType names
  applySettings shouldn't be called every time show event triggered.
2023-01-04 09:08:58 +08:00
Roy Qu f179f45cd9 - fix: Restore main window and cpu info window will set wrong font in the cpu info. 2023-01-03 22:34:38 +08:00
Roy Qu 562293c05d - enhancement: Waiting for syntax parsers to finish before saving files, to prevent data lost caused by syntax parsering crash. 2023-01-03 21:43:45 +08:00
Roy Qu 9296877b86 - enhancement: "Toggle readonly" in the Edit menu.
- fix: Error When save project units' encoding settings.
2023-01-02 16:50:30 +08:00
Roy Qu 96f9a898d0 - enhancement: "Switch Header/Source" in editor title bar context menu. 2023-01-01 08:32:33 +08:00
Roy Qu 0caaad8436 - fix: Action "Run all problem cases" is triggered twice by one clicked. 2022-12-31 09:36:50 +08:00
Roy Qu babecbd3bc change "ConsolePauser.exe" to "consolepauser.exe" in all codes 2022-12-30 09:06:39 +08:00
Roy Qu dd92cfa6da - enhancement: "Run" / "Generate Assembly" for project source files 2022-12-28 16:39:18 +08:00
Roy Qu 52ed2b79f7 auto remove a.out generead by tcc 2022-12-25 12:01:51 +08:00
Roy Qu 0af113e2a1 auto remove a.exe generated by tcc 2022-12-25 12:00:09 +08:00
Roy Qu 84b09fe842 - enhancement: "Convert HTML for - Input" / "Convert HTML for - Expected" in "Options" - "Executor" - "Problem Set"
- fix: Unit for memory limit is not correctly loaded when open problem properties dialog.
  - enhancement: Auto open the properties dialog, after add a new problem.
2022-12-24 12:08:13 +08:00
Roy Qu ed89690f7a - fix: Icon size not correct under macOS high DPI / zoom factor settings.
- enhancement: "Icon zoom" in options / environment / appearance
2022-12-20 11:01:04 +08:00
Roy Qu fc07b4dcd4 - enhancement: Don't add "-g3" option when generate assembely.
- enhancement: Generate assembly is not correctly disabled when current file is not C/C++.
2022-12-17 17:20:33 +08:00
Roy Qu efc7af7f46 - enhancement: Run all cases button not correct disabled when no case exits. 2022-12-17 13:40:13 +08:00
Roy Qu 4b9e51a925 refactor: tool buttons for problem & cases 2022-12-17 13:34:11 +08:00
Roy Qu 88449a5381 refactor: context menus
refactor: tool buttons for problem and problem set
2022-12-17 11:37:33 +08:00
Roy Qu d2a2002629 fix: Compiler buttons not correctly disabled for non-c/c++ files 2022-12-16 18:31:48 +08:00
Roy Qu 68f4dcec3f fix: compile buttons not correctly disabled when no file opening. 2022-12-16 18:27:10 +08:00
Roy Qu d60febaac8 - enhancement: Export FPS (free problem set) files. 2022-12-16 15:54:02 +08:00
Roy Qu 492345b939 - enhancement: "Trim trailing spaces" in code menu
- change: Don't auto disable compile and debug buttons.
  - enhancement: Better error messages for missing compile/debug/make programs.
  - enhancement: "Show special chars" in options / editor / font
  - fix: Lost compiler set settings if a compiler set's bin dirs is empty.
  - enhancement: Better error message when trying to debug with Release compile set.
2022-12-16 11:10:46 +08:00
Roy Qu 16db14e761 - enhancement: "Remove trailing spaces" in options / editor / misc
- enhancement: show special chars
2022-12-16 01:03:57 +08:00
Roy Qu 4985191120 - enhancement: Remove multiple problems in the problem set view
- enhancement: Clear the proble view after a new problem set created
2022-12-15 16:33:17 +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 67f0e4dee2 support "url" in fps file 2022-12-11 21:46:51 +08:00
Roy Qu b1ca0bb600 - enhancement: Import FPS (free problem set) files. 2022-12-11 19:47:43 +08:00
Roy Qu b4e561cf83 improve makefile highlighter
fix: qsortfilterproxymodel not correctly cleared when exiting and project closed.
2022-12-07 09:48:10 +08:00
Roy Qu 8af963579a - enhancement: Highlighter for makefiles 2022-12-06 22:51:59 +08:00
Roy Qu 650e3b407c update version number 2022-12-05 12:04:48 +08:00
Roy Qu 77942999d5 - enhancement: Use asm highlighter in cpu window
- fix: "AT&T" radio button not correctly checked in cpu window
  - enhancement: Remove blank lines in the register list of cpu window.
  - fix: Cpu window's size not correctly saved, if it is not closed before app exits.
  - fix: Can't restore cpu window's splitter position.
2022-12-02 10:19:03 +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 164d766c75 - enhancement: Disable "run" and "debug" actions when current project is static or dynamic library 2022-11-30 21:05:08 +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 e764c14286 - enhancement: auto save / load problem set 2022-11-14 19:10:32 +08:00
Roy Qu b085560743 - fix: Escape suquences like \uxxxx and \Uxxxxxxxx in strings are not correctly highlighted.
- enhancement: Search / replace dialogs redesigned.
  - fix: inline functions are not correctly parsed;
  - fix: &operator= functions are not correctly parsed;
  - fix: Code Formatter's "add indent to continueous lines" option is not correctly saved.
2022-11-11 21:20:57 +08:00
Roy Qu e0c4ba201d - fix: Crash when editing a function at the end of file without ; or {
- enhancement: Add the "parsing TODOs" option in Options Dialog / Editor / Misc
  - enhancement: Remove todos/bookmarks/breakpoints when deleting file from project
  - enhancement: Rename filenames in todos/bookmarks/breakpoints  when renaming project file
2022-11-07 21:44:12 +08:00
Roy Qu fba7bd953c - fix: Contents in class browser not correctly updated when close the last editor for project.
- fix: When all editors closed, switch browser mode dosen't correct update the class browser;

  - stream line codes for project parser and  close browser
2022-11-07 11:24:23 +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 4eec64939e - fix: Edting / show context menu when code analysis is turned on may crash app.
- fix: Show context menu when edting non c/c++ file may crash app.
2022-11-06 09:43:28 +08:00
Roy Qu 1c3bf9000c - enhancement: base class dropdown list in new class dialog now works 2022-11-05 23:35:15 +08:00
Roy Qu 4fa490253e - enhancement: switch header/source 2022-11-05 19:39:33 +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 833be397b0 - enhancement: add "editors share one code parser" in "options" / "editor" / "code completion", to reduce memory usage.
Turned off by default on PCs with memory > 4G; Force turned on PCs with memory < 1G.
  - enhancement: add "goto block start"/"goto block end" in "Code" menu
2022-10-27 15:18:57 +08:00
Roy Qu fde8a868fa - enhancement: auto sort TODO items 2022-10-26 11:10:56 +08:00
Roy Qu da2a7549f1 - fix: Encoding info in the status bar not correctly updated when save a new file 2022-10-26 09:33:45 +08:00
Roy Qu 6bf443d3d8 - fix: Restore project's original compiler set if user choose 'No' in the confirm project compiler set change dialog. 2022-10-26 08:45:18 +08:00
Roy Qu b4fbcbddb0 - enhancement: when create a new folder in the files view, auto select that folder and rename it 2022-10-25 22:10:38 +08:00
Roy Qu 4380470cef - enhancement: when create a new folder in the files view, auto select that folder and rename it
- enhancement: when new header in the project view, auto select basename in the filename dialog
  - enhancement: when add file in the project view, auto select basename in the filename dialog
  - change: Don't generate localized filename when new header/add file in the project view
2022-10-25 21:49:35 +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 3f74a5fd10 - fix: rules for obj missed in the makefile generated for project 2022-10-25 17:38:37 +08:00
Roy Qu b958cdc00c - enhancement: when closing project, prevent all editors that belongs to the project check syntax and parse todos. 2022-10-24 22:53: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 fcb64a69af - fix: info not correctly update when open an editor 2022-10-24 10:58:30 +08:00
Roy Qu e13217a395 - fix: headers included by project files not correctly analyzed
- fix: class members not correctly displayed in the class browser
 - fix: when project is opened with no file opened, class browser not correctly updated
2022-10-23 21:42:11 +08:00
Roy Qu a42ec4e253 fix: crash when create project 2022-10-23 18:39:15 +08:00
Roy Qu f348f0782a - enhancement: keep current position in the class browser after contents modified 2022-10-23 16:43:26 +08:00
Roy Qu b4deb9299b - enhancement: keep current position in the class browser after contents modified 2022-10-23 16:31:05 +08:00
Roy Qu 471b3d6f26 - fix: namespace members defined in multiple places not correctly merged in the class browser
- fix: correctly display statements whose parent is not in the current file
  - fix: statements is the class browser is correctly sorted
  - enhancement: Weither double click on the class browser should goto definition/declaration,  depends on the current cursor position
2022-10-23 15:22:26 +08:00
Roy Qu be0c9ad4f5 - fix: save/load bookmark doesn't work 2022-10-23 00:39:24 +08:00
Roy Qu e8300abd65 - redesign the project parser, more efficient and correct
- enhancement: todo parser for project
2022-10-22 23:29:12 +08:00
Roy Qu 1301168135 - change: add/remove/new project file won't save all openned project files.
- fix: save all project files shouldn't trigger syntax check in inactive editors
2022-10-21 12:43:02 +08:00
Roy Qu 4caeeb3a78 compatibility for qt 5.12 2022-10-19 00:55:59 +00:00
Roy Qu eed7fdcf56 fix: click a non-existing header name will get an error 2022-10-18 23:22:29 +08:00