Commit Graph

492 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Pāvels Nadtočajevs b106dfd4f9
Base accessibility API. 2025-04-08 20:14:28 +07:00
Aryombre 209189b969 fix selection in LineEdit 2025-03-19 10:50:47 +07:00
Rémi Verschelde cbb1e0ef7a
Merge pull request #103653 from dugramen/popup_respect_scale
Apply transforms for LineEdit, RichTextLabel, and TextEdit popup positions
2025-03-12 22:56:58 +07:00
dugramen ad812cf29d Apply transform for LineEdit, RichTextLabel, and TextEdit popup positions 2025-03-08 17:57:44 +07:00
Thaddeus Crews 3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 +07:00
kobewi 92ab92114e Don't duplicate internal nodes 2025-03-07 16:08:53 +07:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +07:00
kobewi 6d2f18c6c6 Fix caret_force_displayed 2025-03-03 15:58:58 +07:00
Pāvels Nadtočajevs 84a2e3fdb0 [IME] Do not redraw and move caret on IME update w/o text/position changes. 2025-02-20 08:23:50 +07:00
A Thousand Ships 5dcab0e606
Prevent some internal nodes being duplicated in Controls 2025-02-10 13:27:08 +07:00
Pāvels Nadtočajevs b252867145 [macOS/Windows] Add `Emoji & Symbols` context menu item to LineEdit/TextEdit to show system character picker. 2025-01-10 09:25:34 +07:00
Rémi Verschelde 07093c4a34 Merge pull request #100275 from KoBeWi/highest_level_clearance
Don't emit `text_changed` signal when clearing empty LineEdit
2025-01-07 23:17:13 +07:00
Rémi Verschelde 703552c51b
Merge pull request #100240 from WhalesState/line-edit-focus
`LineEdit` add member `keep_editing_on_text_submit`
2025-01-03 00:48:34 +07:00
Mounir Tohami e89c196a80 `LineEdit` add member `keep_editing_on_text_submit`.
Allow users to exit edit mode when Enter is pressed.
2025-01-02 23:41:27 +07:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +07:00
kobewi b8b1584f5a Don't emit text_changed signal when clearing empty LineEdit 2024-12-11 14:16:36 +07:00
Rémi Verschelde 6c01b739b0
Merge pull request #99822 from havi05/lineedit-shortcuts
Allow copy/select shortcuts when `editable` is false in `LineEdit`
2024-12-02 15:51:48 +07:00
A Thousand Ships af56d6e8e8
Use `SceneStringName` in more places 2024-12-02 14:39:16 +07:00
havi05 4b735d9fb2 LineEdit - Allow copy/select shortcuts when `editable==false` 2024-11-30 11:28:11 +07:00
Rémi Verschelde abf9eb5903
Merge pull request #93285 from rune-scape/listen-for-changes
More GUI nodes listening for texture changes
2024-11-29 22:45:39 +07:00
Thaddeus Crews 70ea5713cf
Merge pull request #98012 from syntaxerror247/lineEdit-bug-fix
Fix uneditable `LineEdit`, `TextEdit` and `CodeEdit` virtual keyboard popup on mobile
2024-11-27 10:47:15 +07:00
Thaddeus Crews af3fb0a2b8
Merge pull request #86085 from TheSofox/text-undo-cleanup
Cleanup in undo in `TextEdit` and `LineEdit`
2024-11-15 10:42:33 +07:00
rune-scape dd1372b78e various gui nodes now listen for the changed signal on textures 2024-11-08 00:29:15 +07:00
bruvzg fdde7713a8 Fix IME deactivation events not send on focus loss. Do not unset AltGr modifiers in non-IME input. 2024-11-06 09:47:26 +07:00
Anish Mishra 14dd595447 Fix uneditable LineEdit, TexEdit and CodeEdit Virtual Keyboard popup 2024-10-17 23:50:28 +07:00
Mounir Tohami f84f734696 Expose `LineEdit` `edit` and `unedit` methods. 2024-10-04 10:37:33 +07:00
David Snopek 36293a2dbf Fix renaming nodes on X11 2024-09-25 09:05:51 +07:00
Rémi Verschelde 77f779d326
Merge pull request #97167 from MewPurPur/reveal-undoredo
Expose `has_undo()` and `has_redo()` of LineEdit
2024-09-20 16:26:32 +07:00
Haoyu Qiu 14321b8ed5 Set auto translate mode for drag previews
- Controls
  - `LineEdit`, `TextEdit`: Always disabled since it's dragging user input.
  - `TabBar`: Use the same auto translate mode as the node.
  - `RichTextLabel`: Always disable since auto translation is done
    differently from other controls (selection text you get
    programmatically is always after auto translation).
- Editor
  - Disable drag preview auto translation if the text is user input,
    filename, or class name.
  - Also disabled unexpected auto translation for audio bus effect names.
2024-09-19 19:21:29 +07:00
MewPurPur f7a7ecc10a Expose has_undo() and has_redo() of LineEdit 2024-09-19 13:18:04 +07:00
David Snopek b1871cdabf Fix project manager stealing focus on i3 2024-09-16 16:55:57 +07:00
bruvzg b776f55bcb
Add Control+Shift+U (rebindabe) action for Unicode input, show hex as it is entered. 2024-09-12 11:47:24 +07:00
Mounir Tohami c36f466a4c Prevent `LineEdit` from losing focus when text is submitted or rejected. 2024-09-10 13:43:31 +07:00
Rémi Verschelde f69de1c522
Merge pull request #96038 from kitbdev/fix-line-edit-caret-word-mode
Fix LineEdit word mode when there are no more words
2024-09-04 17:12:06 +07:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 +07:00
kit 3da4f457d0 Fix LineEdit word mode when there are no words 2024-08-24 12:28:18 +07:00
A Thousand Ships 832695eb2c
[Tests] Fix various unit tests on minimal builds 2024-07-18 15:17:28 +07:00
A Thousand Ships fbb879debd
[Scene] Add `SceneStringNames::text/value_changed` 2024-06-19 09:44:38 +07:00
bruvzg d45b896673
Fix IME activation in subviewports. 2024-06-04 00:03:02 +07:00
A Thousand Ships 755a0efbb6
[Scene] Add `SceneStringNames::id_pressed` 2024-05-30 22:54:04 +07:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +07:00
aaronp64 3337c160a4 Update LineEdit to include read_only StyleBox in get_minimum_size()
Fixes #90522
2024-04-29 14:43:16 +07:00
kobewi 0b877a9962 Expose is_part_of_edited_scene() 2024-04-26 11:49:38 +07:00
Rémi Verschelde 8e45506070
Merge pull request #85801 from HolonProduction/select-whole-words-line-edit
Allow dragging selection when selecting whole words in `LineEdit`
2024-03-01 14:55:53 +07:00
Michael Alexsander d70c45b5c8
Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 +07:00
kobewi aeec3c1309 Add methods to add submenus without using names 2024-02-22 15:13:53 +07:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +07:00
passivestar c2a4a0d4cb Fix `LineEdit` delete all the way to the left/right when something is selected 2024-02-18 11:58:37 +07:00
Rémi Verschelde 21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +07:00
Rémi Verschelde 768ab25562
Merge pull request #88057 from passivestar/cmd-backspace-lineedit
Fix LineEdit behavior for deleting all the way to the left/right
2024-02-13 17:24:18 +07:00
RedMser d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +07:00
passivestar 2c0d0c1473 Fix LineEdit behavior for deleting all the way to the left/right 2024-02-07 16:29:32 +07:00
HolonProduction da6bacbc4a Allow dragging selection when selecting whole words in `LineEdit` 2024-02-05 20:30:53 +07:00
Rémi Verschelde 3482da422d
Merge pull request #87012 from TheSofox/line-edit-undo-caret-fix
Fix `LineEdit` caret rendering/positioning on Undo.
2024-01-15 13:27:02 +07:00
Sofox 6888d957dc Fix LineEdit caret rendering/positioning on Undo. 2024-01-09 17:14:55 +07:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +07:00
Rémi Verschelde 50a073cb0e
Merge pull request #86732 from TheSofox/line-edit-delete-fix
Make `LineEdit` scrolling show as much text as possible
2024-01-04 14:26:30 +07:00
Sofox 8661667dde Make LineEdit scrolling show as much text as possible 2024-01-04 04:13:35 +07:00
Mateus Reis cab48493d8 Fix double text_changed signal when overwriting selection in LineEdit
The part of gui_input that handles unicode wasn't checking
text_changed_dirty before emitting the signal, unlike the rest of the text editing functions.

Fixes #86451
2023-12-24 14:23:01 +07:00
Sofox a1a5c87f9e Cleanup in undo in TextEdit and LineEdit 2023-12-12 17:51:53 +07:00
bruvzg 56579f397d
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback. 2023-12-04 08:21:42 +07:00
BlueCube3310 bd67e0a0bc Change dropdown type filter to Texture2D in certain nodes 2023-10-28 17:39:47 +07:00
jsjtxietian 6950aab078 Make LineEdit secret character easier to change and enter
1. Allow values longer than 1 character in the property,
    but trim characters after the first one.
2. Allow empty strings, this acts like if a space was used as a secret character,
    so that an error isn't printed when you erase all characters in the property.
2023-10-19 21:32:38 +07:00
kobewi 1fee40a189 Accept cancel event when unfocusing LineEdit 2023-10-06 16:00:56 +07:00
Rémi Verschelde 3075e4ef1d
Merge pull request #82811 from MewPurPur/more-line-edit-organization
Place LineEdit secret in its own section
2023-10-06 12:52:58 +07:00
MewPurPur dc2e0aab6f Place LineEdit secret in its own section 2023-10-04 22:41:45 +07:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +07:00
Rémi Verschelde d08401236c
Merge pull request #81312 from YuriSizov/theme-static-binds
Register theme properties with ThemeDB
2023-09-11 15:38:06 +07:00
Yuri Sizov 2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +07:00
kobewi db4daa5249 Fix FindReplaceBar losing focus too early 2023-09-08 14:46:34 +07:00
bruvzg 6a1fdc213c
[LineEdit] Update line edit offset on text delete. 2023-09-08 08:58:51 +07:00
kobewi e21c30ec11 Unfocus LineEdit when pressing Escape 2023-08-29 14:53:49 +07:00
bruvzg 5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +07:00
bruvzg 5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +07:00
unknown cfe98c57b9 Add drag and drop option for line edit and rich text label 2023-07-19 22:18:34 +07:00
kobewi 968c5f6247 Preserve selection when focusing SpinBox 2023-06-10 21:29:24 +07:00
Igorrreha d8886e1a0c Fix LineEdit expanding to text length
Fix for issue #77474

Remove wrong tab

Change the comment to more relevant

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-05-26 23:42:03 +07:00
Yuri Sizov de416c5cbd
Merge pull request #74623 from MewPurPur/edit-text-with-style
Code style improvements to text_edit and related
2023-04-17 19:08:08 +07:00
bruvzg d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +07:00
VolTer f587a21899 Code style improvements to text_edit and related 2023-04-08 19:33:56 +07:00
VolTer 1856ceeb76 Implement LineEdit.get_selected_text() 2023-03-30 22:58:12 +07:00
kobewi 36141dc469 Fix get_drag_data not overridable in some Controls 2023-03-20 21:42:13 +07:00
bruvzg 3ca3ee36ab
Fix IME position in the single window mode sub-windows. 2023-03-06 10:08:55 +07:00
Rémi Verschelde 008cafc103
Merge pull request #72378 from maximkulkin/line-edit-consume-events
Fix LineEdit not consuming events
2023-02-10 15:08:28 +07:00
Maxim Kulkin 5adc7e397e Fix LineEdit not consuming events
The most important issue is LineEdit not consuming
"ui_text_submit" event which makes pressing Enter after
editing escape to other components causing unwanted
interactions.

Also fix handling mouse button interactions not consuming
some events.

Also implement early return in case we know which event
type it is and there is no point in checking other event
types.

PS I'm also suspicious that mouse motion events also need
to be consumed, but haven't explored those cases.
2023-02-03 14:38:12 +07:00
Marcus Brummer a54cb5b07b Always show caret when moving in LineEdit 2023-01-31 20:56:06 +07:00
Danil Alexeev af8bf6f1d0
Fix `LineEdit` and `TextEdit` context menus not customizable 2023-01-27 11:14:54 +07:00
bruvzg e08a6e692d
[Windows] Fix committing IME text without IME deactivation. 2023-01-26 09:24:12 +07:00
bruvzg daad4aed62
Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +07:00
Rémi Verschelde 5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +07:00
Juan Linietsky 2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +07:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +07:00
Lucas Laukka 4e63395a78 fixed bug showing only two digits in color picker 2022-12-07 13:55:51 +07:00
Rémi Verschelde 45c6950f1b
Merge pull request #67123 from Rindbee/improve-caret-draw-conditions-for-LineEdit
Improve caret drawing conditions for `LineEdit`
2022-12-05 18:06:50 +07:00
bruvzg c624b1eeac
[Line Edit] Ignore placeholder text when drawing caret. 2022-11-08 15:15:13 +07:00
Haoyu Qiu 3aed3edc06 Allow selecting SpinBox & LineEdit text when focus enters 2022-10-29 09:58:42 +07:00
bruvzg 4b1937c73f Abort LineEdit shaping if no font is set to avoid unnecessary error messages. 2022-10-14 12:57:42 +07:00
Rindbee 3f20108703 Improve caret drawing conditions for `LineEdit`
Now, `caret_can_draw` will be validated when a condition that affects
the drawability of the `LineEdit`'s caret changes; `draw_caret` will
be toggled when the caret's visibility is toggled due to blink, and
`draw_caret` will be `false` when `caret_blink_enabled` is disabled.

Fix toggling `caret_blink_enabled` could cause caret to no longer be
displayed.
Fix opening the context menu causing caret to no longer appear.
2022-10-09 22:14:40 +07:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +07:00
bruvzg a750ca7ec1
Add split caret direction markers. Fix block/overtype caret size. 2022-10-07 08:45:52 +07:00