Commit Graph

520 Commits

Author SHA1 Message Date
Roy Qu eb7c1d0c8f Merge branch '2.26' 2023-10-21 13:38:50 +08:00
Cyano Hao a62acc2eb0
Add Windows XP support (#146)
* improve Qt 5.6 support

* switch registry API to Windows XP compatible Unicode API

* update docs

* add comment for `CONFIG += c++14 c++17` in qmake .pro files

* fix logic for lockFile
2023-10-21 13:38:12 +08:00
Roy Qu 5332ffee84 - enhancement: Auto adjust position of the suggestion popup window. 2023-10-21 10:14:12 +08:00
Roy Qu c1b5dd4b36 Refactor & cleanup for ctrl+mouse move 2023-10-21 09:29:26 +08:00
Roy Qu 9b1b81e368 2.26 cleanup 2023-10-20 11:17:46 +08:00
Roy Qu 7b949d8d23 - change: Use ctrl+mouseMove event to highlight jumpable symbols (instead of ctrl+tooltip). 2023-10-20 10:32:51 +08:00
Roy Qu 5bf6da785c fix: crash when using ibus as the input method 2023-10-18 14:00:32 +00:00
Roy Qu 2b94c752df disalbe code suggestion while using ibus as the input method 2023-10-18 17:07:16 +08:00
Roy Qu 5371311219 - fix: Icon position not correct under hiPDI devices. 2023-10-15 12:45:31 +08:00
Roy Qu 571f18ee54 - fix: Press '>' after '-' don't show completion suggestion info. 2023-10-09 18:20:48 +08:00
Roy Qu ee26d9d0a0 - fix: Symbol completion of '(' before selection may fail, if cursor is at the beginning of the selection. 2023-08-23 20:47:23 +08:00
Roy Qu 10c134a5c7 - change: Symbol completion of '(' won't test current character at the cursor.
- change: Symbol completion of '{' won't insert extra new lines.
2023-08-23 17:24:07 +08:00
Roy Qu 097128e2f3 fix: can't complete <> "" in #include 2023-08-18 09:26:06 +08:00
Roy Qu dd5640d334 - enhancement: False branches are displayed as comments. 2023-08-17 13:24:08 +08:00
Roy Qu bbdefc4af0 - fix: Can't suggest header filename starting with numbers. 2023-08-14 22:37:34 +08:00
Roy Qu b16a85d033 - Retrieve sdcc predefined macros (hacking).
- Stop compiling if ihx file is not correct created.
 - Run/Debug/Generate assembly actions are correctly diabled.
2023-08-14 12:22:24 +08:00
Roy Qu 97fef20a78 minor change 2023-08-13 19:14:31 +08:00
Roy Qu 707358817c - enhancement: Autowrap tool output text. 2023-08-13 15:41:17 +08:00
Roy Qu 738faf0c90 - fix: Crash if close file while auto syntax checking.
- enhancement: support sdcc compiler.
2023-08-13 14:46:53 +08:00
Roy Qu f462d6708d - fix: Crash if close file while auto syntax checking. 2023-08-12 13:51:35 +08:00
Roy Qu 739f382f46 - change: Remove option "clear all symbols when current editor is hidden".
- fix: When opening multiple files, only the active file should be parsed.
2023-08-11 13:49:09 +08:00
Roy Qu 62f7c0a495 - change: New file created by file template is set as unmodified by default. 2023-08-09 23:01:53 +08:00
Roy Qu 0f7b4b8ce5 - fix: Wrong code suggestion while inputing numbers in assembly files.
- fix: Defines in all files are wrongly cleared when reparsing.
2023-08-09 22:35:25 +08:00
Roy Qu 6a06b5b3d6 - fix: Dummy struct/enum symbols shouldn't be shown in the completion suggestion.
- enhancement: Support optional enum name.
  - enhancement: Support optional enum type.
  - enhancement: Support simple const expression evaluation for enum values.
  - fix: Accessibilty for inherited members are not correct calculated in multiple inheritance.
  - fix: Can't handle full class name when handle inheritance.
2023-08-07 14:23:57 +08:00
Roy Qu 9be257e8e8 - fix: "UTF-8 BOM" can't be correctly loaded as project file's encoding.
- fix: Project file's encoding is not correctly updated after converted manually.
2023-07-31 21:07:45 +08:00
Roy Qu 21b4494f3c - fix: english typos. (thanks for sangiye0@github) 2023-07-24 18:38:58 +08:00
Roy Qu 4bebf8da65 remove debug code 2023-07-15 08:25:39 +08:00
Roy Qu b579139191 - fix: Code completion doesn't work if "min id length to show completion" is not 1. 2023-07-15 08:20:26 +08:00
Roy Qu 2943226e46 - fix: Code completion doesn't work if "min id length to show completion" is not 1. 2023-07-14 22:01:58 +08:00
Cyano Hao e89f4400eb
Uniform look for Red Panda C++ under KDE/DDE (#119)
* KDE theme: fix visual problems with KDE dark mode; add system theme

* Make "Light" theme truly light under Breeze Dark theme.
  * With this fix also expose dark mode support on Windows.
* Add "Auto" (system) theme that follows system style and color.
* Add "Adaptive" color scheme for system theme (using transparent background).
* Add support for transparent background in color schemes.

* move `alphaBlend` to utils

* hide Auto (system) theme on Windows
2023-07-03 14:06:26 +08:00
Roy Qu b571e5f535 - enhancement: Show code completion suggestion after "typedef" and "const". 2023-07-03 09:36:27 +08:00
Roy Qu 5e78c0aa62 - fix: Goto definition/Goto declaration/Info tips can't be correctly triggered when mouse pointer is at the last half character of current word. 2023-06-15 16:40:47 +08:00
Roy Qu 36cb8b7867 - fix: When selection is availalbe, Ctrl+Click shouldn't jump to declaration/definition. 2023-06-07 20:41:35 +08:00
Roy Qu aded956ca8 - enhancement: Auto skip ; and , when input. 2023-04-18 18:05:27 +08:00
Roy Qu 0730aa6c22 - enhancement: Drag the selection beyond the end of the document, and move/copy it beyond the last line.
- enhancement: Open Containing folder will auto select the file in windows file explore.
2023-03-23 22:33:04 +08:00
Roy Qu b951ac6636 - fix: Crash when a project is removed from the disk while it is openned in RedPanda-C++. 2023-03-19 20:51:12 +08:00
Roy Qu 626217f856 - fix: Don't show completion info when input parameters for function definitions.
- fix: Don't show function info tips when typing class variable definitions.
  - fix: Compare error in debug mode.
2023-03-16 22:02:32 +08:00
Roy Qu 3b56bab68b refactor: Don't implement custom indent options for C/C++ for now. 2023-03-09 21:08:08 +08:00
Roy Qu 45578a2603 refactor: formatter interface for qsynedit 2023-03-09 20:35:15 +08:00
Roy Qu 3a0d3f684a - enhancement: If no selection, Ctrl+C (Copy) auto selects the current line and put the cursor to the beginning. 2023-03-09 11:19:57 +08:00
Roy Qu 79b3f91006 - enhancement: Shift+Up in the first line will expand selection to the beginning of the line.
- enhancement: Shift+Down in the last line will expand selection to the end of the line.
2023-03-09 10:33:37 +08:00
Roy Qu e8ebead398 remove debug info 2023-03-04 19:34:09 +08:00
Roy Qu 1504e6cb04 - enhancement: Show mousetip for numbers in the GNU assembly file. 2023-03-04 18:23:57 +08:00
Roy Qu da3dda97e3 - enhancement: Add "Close window" and "Move to other view" in the "Window" menu
- enhancement: Auto open CPU info dialog, if the program in debug is stopped at a position that have no source file.
  - enhancement: "add watchpoint" when debug. It's hitted when the watch variable is modified, or it's out of scope.
  - enhancement: Switch current call stack frame in the CPU info dialog
  - fix: Shouldn't try evaluate value of the selection in the cpu info dialog.
  - enhancement: Show oct/bin/bin value in the memory view's tooltip.
  - Don't set optimization level to -Og in the Debug compiler set. (Some variable can't be view in the memory view, because they are put in registers.)
2023-03-03 17:20:33 +08:00
Roy Qu d3fde7ab53 - change: Merge search and replace to one dialog.
- fix: Search dialog's "Match whole word" option doesn't work with "Use Regular expresion".
  - fix:Search dialog's "Close after search" option doesn't work.
  - change: Fill the search dialog with the current selection if it's available.
2023-02-28 16:17:56 +08:00
Roy Qu 78739e388a - enhancement: Add "Languages" page group in the options dialog.
- enhancement: Add "ASM Generation" page in the options dialog.
  - change: Move "Custom C/C++ keywords" from group "Editor" to "Lanauges" in the options dialog.
  - change: Rename "Folder" page to "Folder / Reset default settings" in the options dialog.
  - enhancement: Generate asm with/without SEH directives.
  - enhancement: Generate asm using intel style/att style.
  - enhancement: make description for jump/cmov/setb instructions more explicit. (used for signed or unsigned)
2023-02-28 10:49:50 +08:00
Roy Qu 9bf6b81493 minor change 2023-02-27 12:21:47 +08:00
Roy Qu a768d74116 - enhancement: Syntax check for assembly files.
Don't show debug tips in cpu info dialog
2023-02-27 08:53:39 +08:00
Roy Qu c9bb03350d - enhancement: Show descriptions mouse tip for assebmly instructions. (editor / cpu info dialog)
- fix: When completing resigter names, an extra '%' is wrongly added.
2023-02-26 17:50:03 +08:00
Roy Qu e5c6ea1a43 - Enhancement: New file templates for C / C++ / GAS files 2023-02-22 22:18:21 +08:00
Roy Qu f03c25a672 - fix: Enum value defines is not correctly parsed.
- enhancement: Use differenct source file for each language in project templates
2023-02-21 20:35:41 +08:00
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 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 96aa836040 - enhancement: Auto create project custom executable folder if not existing. 2023-02-18 12:54:28 +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 a91dc12519 - enhancement: Reduce flicker when editing big files. 2023-02-18 07:09:19 +08:00
Roy Qu f4b239e15d - enhancement: Greatly reduce time to open/edit big files. 2023-02-17 23:56:13 +08:00
Roy Qu 4b54d3799a fix: Fold area is not correctly calculated after editing. 2023-02-17 17:33:48 +08:00
Roy Qu 9f036d0d70 - enhancement: Correctly handle high-precision mouse wheel / touchpad in editors. 2023-02-17 16:16:57 +08:00
Roy Qu 8254de68c8 - enhancement: Delay for tooltips.
- enhancement: "Tool tips delay" option in Options/editor/Tooltips
2023-02-17 09:03:35 +08:00
Roy Qu 885470782c - enhancement: Parser not correctly released if save a c file to non-c file. 2023-02-16 18:36:15 +08:00
Roy Qu 46dd637770 - enhancement: Syntaxer for lua. 2023-02-16 12:26:35 +08:00
Roy Qu 926802a8f5 - change: Don't confirm rebuild/recompile when run/debug. 2023-02-14 23:42:11 +08:00
Roy Qu 1eb7bdf549 fix: editor not parsed when first load
fix: TODO is wrongly parsed when new a file (that exists in the current folder)
2023-02-14 09:03:06 +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 02b64497d5 - enhancement: Keyword completion for asm/GAS files. 2023-02-12 18:13:24 +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 7b52eff40d - enhancement: Code folding for #if/#endif
- enhancement: When folding "if", don't fold "else";
2023-02-10 22:27:36 +08:00
Roy Qu 6b4bfc3e64 - fix: Crash when create or open txt files in project. 2023-02-10 19:28:18 +08:00
Roy Qu f91e35192f - fix: preprocessors is not correctly suggested.
- fix: javadoc-style docstring is not correctly suggested
  - enhancement: Better syntax color for asm files.
2023-02-09 21:01:01 +08:00
Roy Qu d8f237a10e - enhancement: Auto reload openned project files that use "Project Default" as the encoding, when the project encoding setting is changed in the project options dialog. 2023-02-08 12:20:20 +08:00
Roy Qu 5d3a933932 - enhancement: Change the way to calculate execution time. 2023-02-07 20:27:31 +08:00
Roy Qu dd5df6912c - enhancement: Improve auto indent. 2023-02-07 19:05:39 +08:00
Roy Qu 7085318197 - enhancement: Auto suggest keyword "operator" when define functions.
- fix: Differentiate class and constructors.
2023-02-05 21:55:23 +08:00
Roy Qu 35e3c9af8d - fix: Can't correctly set project file's encoding back to 'UTF-8'/'ANSI' in the project options dialog/files setting page. 2023-01-25 10:28:55 +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 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 73d527318c - fix: When restored from minimization, info on statusbar not correctly restored.
- enhancement: Changes of "auto backup editing contents" is applied immediately.
  - enhancement: Don't create temp backup for readonly files.
2023-01-16 11:35:55 +08:00
Roy Qu 00c19d1f4f disable save backup 2023-01-15 17:01:54 +08:00
Roy Qu 48446aab02 minor change 2023-01-15 13:54:37 +08:00
Roy Qu aa62f95cad - enhancement: Auto backup editing contents. (Save editing contents 3 seconds after input stopped. Auto delete when editor successfully closed)
- enhancement: Add "Auto backup editing contents" option in options/editor/auto save
2023-01-15 13:32:33 +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 ac20a2c458 - enhancement: Create a temporary copy of the current file when saving files (it's removed after the saving sucessfully finished). 2023-01-14 22:52:04 +08:00
Roy Qu 6072944c23 - fix: Save may crash app if the encoding codec is failed to load.
- enhancement: support open and save utf-16/utf-32 BOM files. (but gcc can't compile)
2023-01-14 21:51:55 +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 7324475277 - fix: alt+shift+left/right can't select
- fix: Input any content will exit column mode.
2023-01-10 16:52:39 +08:00
Roy Qu d75ffef9bb - fix: Can't save new file using filename with custom suffix. 2023-01-07 20:29:57 +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 32088a18d0 - change: Disable undo limit by default. 2023-01-06 11:59:21 +08:00
Roy Qu b01a51ab91 - enhancement: Print current selection can be used in the print dialog.
- enhancement: Print syntax colored content.
  - enhancement: Correctly handle tab in the exported RTF.
2023-01-06 11:41:04 +08:00
Roy Qu 17160b7c3d - enhancement: Print current selection can be used in the print dialog. 2023-01-05 18:38:36 +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 bcb6069fe3 - fix: Crash while input using input method in makefile 2022-12-28 09:24:54 +08:00
Roy Qu bd4478476d - fix: Crash when editing makefile 2022-12-26 18:20:26 +08:00
Roy Qu 892b987894 - enhancement: "Line Spacing" in options / editor / font
- enhancement: "Show whitespaces" in options / editor / font
2022-12-20 20:38: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 ff336ad5c3 work save 2022-12-16 01:44:20 +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