Commit Graph

1462 Commits

Author SHA1 Message Date
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 b9aceb420b - fix: Before run a project's executable, we should check timestamp for project files AND modification states of files openned in editor. 2022-10-29 18:19:45 +08:00
Roy Qu 0fb49389fa Merge branch 'master' of github.com:royqh1979/RedPanda-CPP 2022-10-29 17:22:14 +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 662990e997 fix linux compatibility 2022-10-28 08:40:46 +00:00
Roy Qu 054a99b690 msvc compatibility 2022-10-28 16:34:26 +08:00
Roy Qu e987959551 - add default autolink for fmtlib in Windows
- reduce size of the executable of win-git-askpass tool
  - fix: memory size not correctly calculated when check if share parser.
  - fix: c/c++ file use different parser for share.
2022-10-28 12:43:47 +08:00
Roy Qu 2ce732cfa5 C/C++ use differnet parser 2022-10-28 09:47:34 +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 0018ed5d7d - editors that not in the editing panel shouldn't trigger switch breakpoint
- editors that not in the editing panel shouldn't show context menu
2022-10-27 07:42:05 +08:00
Roy Qu 798607fba0 - fix: editors that not in the editing panel should not be syntax checked/ todo parsed/ code analyzed
- fix: editors that not in the editing panel should not trigger breakpoint/bookmark/watch switch
2022-10-26 22:39:40 +08:00
Roy Qu 04e11dbc3b - fix: selection's position not correctly set after input a char / insert string (and causes error under OVERWRITE mode) 2022-10-26 19:40:34 +08:00
Roy Qu 5bd8fedb2b - fix: Correctly set file's real encoding to ASCII after saving 2022-10-26 16:23:34 +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 3cbd323f97 fix: syntax check issues for new file not correctly parsed 2022-10-26 08:12:00 +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 cab0c8ca24 - enhancement: add "auto reformat when saving codes" in "Options" / "Editor" / "Misc" (off by default)
- enhancement: use "todo" and "fixme" as the keyword for TODO comments
2022-10-25 10:13:51 +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 f20a979885 fix : issues tab hidden 2022-10-24 20:06:12 +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 2417998ca0 update translations 2022-10-24 19:36:14 +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 0d45cca2a5 - enhancement: reduce memory usage when deciding file type 2022-10-24 12:51:50 +08:00
Roy Qu fcb64a69af - fix: info not correctly update when open an editor 2022-10-24 10:58:30 +08:00
Roy Qu aa6951c2ca - fix: class browser not correctly displayed when "whole project" is checked 2022-10-23 23:24:26 +08:00
Roy Qu 09c7b5e791 fix: "." and ".." in included header paths not correctly handled 2022-10-23 23:06:55 +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 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 d38d986aef clear debug output 2022-10-23 00:40:25 +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 f0bdfed9b4 clean up code 2022-10-22 22:38:31 +08:00
Roy Qu 74b250c9d2 work save 2022-10-22 22:10:35 +08:00
Roy Qu d1d68758aa work done: refactor cpp parser for project 2022-10-22 19:33:20 +08:00
Roy Qu dbf34548d8 work save: clean up CppPreprocessor clear & reset 2022-10-22 10:59:39 +08:00
Roy Qu 6ba6030af7 work save: CppPreprocessor clean 2022-10-22 10:44:10 +08:00
Roy Qu 921a6b41c5 clean up CppPreprocessor::addDefinesInFile 2022-10-22 10:19:47 +08:00
Roy Qu 51d0f2c2aa clean up code 2022-10-22 08:46:27 +08:00
Roy Qu 8378857157 fix: crash when close editor 2022-10-21 21:20:02 +08:00
Roy Qu aadc8fd0f2 fix: crash when close editor that have issues 2022-10-21 19:12:18 +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 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 8e771bd322 minor change 2022-10-21 09:07:32 +08:00
Roy Qu 351c728cf0 minor change 2022-10-19 19:43:48 +08:00
Roy Qu acbe5a1c94 fix gcc / clang link problem 2022-10-19 19:07:01 +08:00
Roy Qu ab6feb1758 minor fix 2022-10-19 10:37:30 +08:00
Roy Qu 17bcac80fd fix: can't link in qt creator / debian 11 2022-10-19 09:49:09 +08:00
Roy Qu f0874217b0 minor fix 2022-10-19 01:23:55 +00: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 5f0371cb5b - enhancement: add option "max undo memory usage" in the options / editor / misc page 2022-10-11 22:33:09 +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 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 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 9f39248dbc done: remove unit also remove it's empty parent 2022-10-02 16:25:00 +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 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 d946b9373e refactor: clean up QSynedit 2022-09-27 14:01:38 +08:00
Roy Qu a165efa7cf - fix: astyle.exe can't correctly format files that using non-ascii identifier 2022-09-26 16:17:02 +08:00
Roy Qu 70bf0c9eb7 fix: build error under linux 2022-09-26 15:10:31 +08:00
Roy Qu ebf78dbecb work done: make qsynedit a standalone module 2022-09-26 14:54:28 +08:00
Roy Qu 15bbf15d38 work save 2022-09-26 12:01:45 +08:00
Roy Qu 51a3b5bb82 work save 2022-09-26 11:18:43 +08:00
Roy Qu 71a728a868 work save 2022-09-25 17:43:31 +08:00
Roy Qu 6f4b24c753 work save 2022-09-25 16:07:52 +08:00
Roy Qu 00ea7ee773 create QSynedit namespace 2022-09-25 09:55:18 +08:00
Roy Qu 40cae133ba - fix: the project compiler options is not correctly read when open old dev-c++ project 2022-09-24 21:24:58 +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 8474ae6b8f - fix: the size of horizontal caret is wrong 2022-09-07 15:08:31 +08:00
Roy Qu 6d40857fb9 minor fix 2022-09-04 10:09:48 +08:00
Roy Qu 6ff83d602c - enhancement: change orders of the problems in the problem set panel by drag&drop
- enhancement: change orders of the problem cases in the problem panel by drag&drop
2022-09-03 20:18:32 +08:00
Roy Qu ca4687c7cd fix: don't clear symbol table when minimized 2022-08-27 11:07:48 +08:00
Roy Qu d438864a4d - change: reduce time intervals for selection by mouse 2022-08-25 16:53:06 +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 a8dc93d4b4 - fix: can't set shortcut that contains shift and non-alphabet characters 2022-08-08 12:11:16 +08:00
Roy Qu 6b64eab16b - fix: can't correctly set project icon 2022-08-08 10:45:35 +08:00
Roy Qu eda042a683 replace QFile::copy with customed one 2022-08-07 22:25:52 +08:00
Roy Qu 92d7370903 - enhancement: create template 2022-08-07 21:41:57 +08:00
Roy Qu 5966ee0a5f - change: organization structure of templates 2022-08-07 12:09:22 +08:00
Roy Qu 829e73895b - fix: files in network drive is opened in readonly mode 2022-08-06 08:51:53 +08:00
Roy Qu 8d4411ee55 - enhancement: Portuguese Translation ( Thanks for crcpucmg@github) 2022-08-05 20:56:09 +08:00
Roy Qu 80451256c2 move translations 2022-08-05 20:39:01 +08:00
Roy Qu 363bbb2221 update translations 2022-08-05 20:38:28 +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 40dec1b9ff - fix: (wrongly) use the default font to calculate non-ascii characters' width 2022-07-31 11:51:34 +08:00
Roy Qu 66746e8c3d - fix: indents for "default" are not the same with "case" 2022-07-30 10:22:27 +08:00
Roy Qu fc1de8f28c - fix: inefficient loop when render long lines 2022-07-29 18:33:08 +08:00
Roy Qu 1ce0ec3d32 - enhancement: disable column mode in readonly editors 2022-07-28 21:19:54 +08:00
Roy Qu a3cb17299b - fix: Drag&Drop no correctly disabled for readonly editors 2022-07-28 17:09:30 +08:00
Roy Qu 8bd2802c99 - enhancement: choose default language when first run 2022-07-28 14:03:18 +08:00
Roy Qu c7e8ee6072 - enhancement: don't show cpp defines when editing c files 2022-07-28 13:51:38 +08:00
Roy Qu 62caa94e23 - fix: selection is not correctly set after input in column mode 2022-07-25 14:32:12 +08:00
Roy Qu 7db3a7ebc1 - fix: block indent doesn't work 2022-07-25 09:45:06 +08:00
Roy Qu 1b56f1b615 refactor for clean 2022-07-24 22:53:20 +08:00
Roy Qu 8affc316f3 optimize the algorithm for finding compiler sets 2022-07-24 19:08:09 +08:00
royqh1979@gmail.com 8d51876518 - fix: can't find the gcc compiler, if there are gcc and clang compilers in the same folder 2022-07-24 18:24:21 +08:00
Roy Qu d034089214 5.12 compatibility fix 2022-07-24 03:19:11 +00: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 eebd7336c2 - change: sort local identifiers before keywords in the auto completion popup 2022-07-22 21:02:07 +08:00
Roy Qu 2f8988cf91 - fix: "Timeout for problem case" can't be rechecked, in the Settings Dialog -> executor -> problem set panel. 2022-07-22 11:34:45 +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 f20d5f1b07 change windows profile 2022-07-20 19:41:06 +08:00
Roy Qu 90b4693e7d set minimum winver to 0x0601 (windows 7) 2022-07-20 19:38:01 +08:00
Roy Qu 8acee3ed20 - fix: correctly update the start postion of selection after code completion 2022-07-20 16:57:42 +08:00
Roy Qu 6f7f637d11 update mesages 2022-07-19 20:29:46 +08:00
Roy Qu 66a802485f update version to 1.1.5 2022-07-07 20:30:27 +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 777c295cc0 minor change 2022-07-06 14:19:07 +08:00
Roy Qu 8d59bf9abb - redesign redo system
- fix: correctly restore editor's modified status when undo/redo
2022-07-06 14:11:32 +08:00
Roy Qu 10631f54d7 work save 2022-07-06 00:06:07 +08:00
Roy Qu fc6b582402 clean up undolist 2022-07-05 22:25:28 +08:00
Roy Qu 2ff9dee9c0 clean up qsynedit 2022-07-05 22:05:12 +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 a86544d6ae remove debug infos 2022-07-03 13:09:42 +08:00
Roy Qu 7ba5f3e5c8 fix: undo chains 2022-07-03 13:08:14 +08:00
Roy Qu 76f0b9d17b - fix: calculation of the code block ranges when inserting/deleting 2022-07-03 12:00:05 +08:00
Roy Qu 1a36822b18 fix: fold range processing 2022-07-03 11:22:10 +08:00
Roy Qu ffe6a5b5ec update versions 2022-07-02 21:51:51 +08:00
Roy Qu 348788bbcd - enhancement: prohibit move selection up/down under column mode
- enhancement: prohibit move selection up/down when the last line in selection is a folded code blocks
  - enhancement: check validity of selection in column mode when moving caret by keyboard
  - enhancement: check validity of selection in column mode when moving caret by mouse
  - enhancement: only allow insert linebreak at the end of folded code block
  - enhancement: only allow delete whole folded code block
  - refactor of undo system
2022-07-02 20:19:37 +08:00
Roy Qu 39dd7e3abb work save: redo done 2022-07-02 17:59:07 +08:00
Roy Qu 655f0bf83e work save : undo almost done 2022-07-02 14:06:10 +08:00
Roy Qu 3f814901d5 work save 2022-07-02 10:39:31 +08:00