Commit Graph

585 Commits

Author SHA1 Message Date
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
Roy Qu 29da40bb14 - fix: toggle block comment/delete to word begin/delete to word end are not correctly disabled when editor not open 2022-10-18 19:09:46 +08:00
Roy Qu 0c305272c0 clean up code 2022-10-18 12:46:51 +08:00
Roy Qu a62910e1a3 - fix: editor tooltip for #include_next is not correctly calculated
- fix: ctrl+click on #include_next header name doesn't open the right file
  - enhancement: parser used for non-project C files won't find header files in C++ include folders.
2022-10-18 12:24:59 +08:00
Roy Qu 3509c25fc8 - enhancement: delete a watch expression don't reload who watch var view
- enhancement: auto save/restore debug panel's current tab
  - fix: correctly restore left(explorer) panel's current tab
  - enhancement: auto close non-modified new editor after file/project openned;
  - fix: project files openned by double click in bookmark/breakpoint panel may cause app crash when closed.
  - fix: When open a project that's already openned, shouldn't close it.
  - enhancement: When open a project, let user choose weither open it in new window or replace the already openned project
2022-10-17 23:23:05 +08:00
Roy Qu 984d10eaf1 - enhancement: project and non-project files use different breakpoint and watchvar view (auto switch when not debugging and editor switched)
- enhancement: save project's breakpoint and watchvar in it's own debug file.
  - enhancement: delete a watch expression don't reload who watch var view
2022-10-16 23:10:57 +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 975d90c8f1 - enhancement: save project's bookmark in it's own bookmark file
- enhancement: project and non-project files use different bookmark view (auto switch when switch editors)
  - enhancement: auto merge when save bookmarks.
2022-10-11 21:51:33 +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 25ac4d5048 refactor: open/create project
refactor: save/load project layout
2022-10-09 22:19:18 +08:00
Roy Qu 1e5a130def - fix: gliches in UI's left panel in some OS
- fix: correctly restore project layout when reopen it
  - fix: correctly handle rename unit
  - refactor: use filename as the primary key for project unit
2022-10-08 23:30:30 +08:00
Roy Qu 70e03abdb1 done: save/load project layout 2022-10-02 23:32:33 +08:00
Roy Qu 4542df6049 done: add/new/remove project unit 2022-10-02 17:23:27 +08:00
Roy Qu 8ca7377cfe done: correctly set parent node for new project unit 2022-10-02 13:29:51 +08:00
Roy Qu e557a31848 refactor project 2022-10-01 08:54:44 +08:00
Roy Qu c1b414d10a - fix: project files that lies in project include folder is wrongly openned in Read-only mode 2022-09-30 17:51:26 +08:00
Roy Qu ebf78dbecb work done: make qsynedit a standalone module 2022-09-26 14:54:28 +08:00
Roy Qu 00ea7ee773 create QSynedit namespace 2022-09-25 09:55:18 +08:00
Roy Qu 9b09b4263f - fix: crash when create non C/C++ source file in project
- fix: can't open text project file in the editor
  - change: when create non-text project file, don't auto open it
2022-09-23 10:27:44 +08:00
Roy Qu 5ba802c0ee - fix: "Encode in UTF-8" is not correctly checked, when the editor is openned using UTF-8 encoding. 2022-09-21 09:31:01 +08:00
Roy Qu 4df3ba4f14 - enhancement: don't parse all openned files when start up
- enhancement: don't parse files when close all and exit
2022-08-24 17:05:16 +08:00
Roy Qu 92d7370903 - enhancement: create template 2022-08-07 21:41:57 +08:00
Roy Qu 2a0cfe7948 - change: switch positions of problem case output and expected output 2022-08-05 16:20:50 +08:00
Roy Qu fdbf86e774 linux compatibility fix 2022-07-24 10:02:36 +08:00
Roy Qu 3d42cdf6c3 - fix: can't create folder in files view, if nothing is selected 2022-07-23 15:41:19 +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 cb2cbf49d0 - change: uncheck "hide unsupported files" in files view shouldn't gray out non-c files
- enhancement: double clicking a non-text file in the files view, will open it with external program
  - enhancement: double clicking a non-text file in the project's view, will open it with external program
2022-07-07 20:08:58 +08:00
Roy Qu 898d5f4e08 - enhancement: resort files in the files view after rename 2022-07-06 19:44:44 +08:00
Roy Qu 262b4916fd - enhancement: set current index to the folder after new folder created in the file view 2022-07-06 18:16:25 +08:00
Roy Qu a6f334f837 remove all warnings 2022-07-04 11:39:06 +08:00
Roy Qu 2d7c2145e3 - enhancement: prevent group undo when caret position changed
- fix: undo link break may lose leading spaces
  refactor undo
2022-07-04 10:01:40 +08:00
Roy Qu 39dd7e3abb work save: redo done 2022-07-02 17:59:07 +08:00
Roy Qu 097108a2c9 - update raylib to 4.2-dev
- update raylib-drawing to 1.1
  - add "raylib manual" in the help menu
2022-07-01 17:15:20 +08:00
Roy Qu 895a927ee0 - fix: select all shouldn't set file's modified flag
- enhancement: add (return)type info for functions/varaibles/typedefs in the class browser panel
2022-06-23 13:05:10 +08:00
Roy Qu 85c18d1f66 - enhancement: use different color to differenciate folder and headers in completion popup window
- enhancement: auto add "/" to folder when completing #include headers
2022-06-20 21:43:42 +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 2f0a7a3d89 - fix: reduce height of the message panel when dragging from right to bottom 2022-06-17 12:12: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 c4ca944a15 - fix: can't paste contents copied from Clion/IDEA/PyCharm 2022-06-16 09:11:45 +08:00
Roy Qu 04311eb8e5 - enhancement: add ignore spaces checkbox in problem cases panel 2022-06-15 14:13:11 +08:00
Roy Qu f8cd0e63ad - change: swap position of problem case's output and expected input controls
- enhancement: when problem case panel is positioned at right, problem case's input, output and expected controls is layouted vertically
2022-06-15 11:27:12 +08:00
Roy Qu 3e4361777b Merge branch 'master' of github.com:royqh1979/RedPanda-CPP 2022-06-14 09:10:13 +08:00
Roy Qu cfdbdca812 - enhancement: adjust the appearance of problem case's input/output/expected control 2022-06-14 09:09:35 +08:00
Roy Qu a93141be89 remove duplicate actions 2022-06-13 16:48:55 +08:00
Roy Qu 9545ad9b6f - fix: compiler settings not correctly saved 2022-06-13 16:31:41 +08:00
Roy Qu f258f56117 fix: new actions in shortcuts settings can't be setted 2022-06-13 15:44:59 +08:00
Roy Qu fb18a1f1a3 - enhancement: add 'run all problem cases' / 'run current problem case' / 'batch set cases' to the option dialog's shortcut panel 2022-06-13 09:38:32 +08:00
Roy Qu 5a31e1dd42 - fix: rename macro doesn't work in project
- fix: can't remove a shortcut
  - enhancement: hide all menu actions in the option dialog's shortcut panel
2022-06-12 22:54:34 +08:00
Roy Qu 2182553fe1 - fix: rename macro doesn't work in project 2022-06-12 18:26:39 +08:00
Roy Qu 73fda980bc - enhancement: rename in files view's context menu
- enhancement: delete in files view's context menu
  - change: drag&drop in files view default to move
2022-06-12 15:48:19 +08:00
Roy Qu ef715b2c34 - enhancement: restore caret position after batch replace 2022-06-10 22:08:10 +08:00