Commit Graph

119 Commits

Author SHA1 Message Date
b776f55bcb Add Control+Shift+U (rebindabe) action for Unicode input, show hex as it is entered. 2024-09-12 11:47:24 +03:00
c36f466a4c Prevent LineEdit from losing focus when text is submitted or rejected. 2024-09-10 13:43:31 +00:00
21f0529aa9 Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
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 +08:00
2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
5d3fcc5766 [TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +03:00
cfe98c57b9 Add drag and drop option for line edit and rich text label 2023-07-19 22:18:34 -04:00
968c5f6247 Preserve selection when focusing SpinBox 2023-06-10 21:29:24 +02:00
1856ceeb76 Implement LineEdit.get_selected_text() 2023-03-30 22:58:12 +02:00
af8bf6f1d0 Fix LineEdit and TextEdit context menus not customizable 2023-01-27 11:14:54 +03:00
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 +01:00
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 +01:00
3aed3edc06 Allow selecting SpinBox & LineEdit text when focus enters 2022-10-29 09:58:42 +08:00
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 +08:00
cb6d7fd059 Add searching by event for Editor Settings shortcuts and Project Settings input map.
* Focus into the LineEdit, then perform input to search the list of events by the events assigned.
* New specialised editor-only control for this: EventListenerLineEdit. Line edit is a good candidate for such a control because you can focus it, override it's input handling, and show the event all in one control.
Update InputEventConfigurationDialog to use event listener line edit rather than the separate tabs.
* Cleaner look - no need for tabs.
* Simpler code.
2022-10-03 19:56:34 +10:00
6dbd283ae5 Rename every instance of caret_blink_speed to caret_blink_interval
It's been changed in EditorSettings, LineEdit, TextEdit.

Affects setters and getters, and passed parameters, too.
2022-09-06 18:37:17 +02:00
fc7cef8dec Fix theme propagation in various parts of the editor 2022-09-02 13:18:31 +03:00
3b1aa240dc Add a lifecycle method for manual theme item caching to Control 2022-09-01 16:35:36 +03:00
fed1189099 Merge pull request #62771 from bruvzg/line_edit_trim 2022-08-26 11:43:28 +02:00
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
93b39fad2f Change LineEdit secret character from "*" to "•". 2022-08-11 13:55:11 +03:00
103c0fa6e6 Add support for multiple virtual keyboard types 2022-08-04 10:41:33 -04:00
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
3316454379 Fix LineEdit text incorrectly trimmed due to rounding errors. 2022-07-10 23:39:34 +03:00
344ba0ffaf Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
9dc58511c6 Change LineEdit caret blink to use process
Now using internal process for blinking instead of a Timer node
2022-07-05 00:02:44 +02:00
081b6b8053 Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and CodeEdit. 2022-05-13 09:33:24 +03:00
be611c1c05 Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
d1207a0504 [Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
a06f82ca4d Add optional constructor arguments to more Control nodes
This can be used to make editor code more compact.
However, as of writing, these constructor arguments cannot be used
from the scripting API.

This was already provided for Label and CheckBox, but it was missing
for other Control nodes where it made sense to provide a default value.
2022-03-04 09:48:41 +01:00
1cd1df5dc3 Move placeholder color to theme item 2022-01-30 17:56:23 +00:00
c89c515ccf [TextServer] Improve ligature cursor handling.
Fix mid-grapheme hit test.
Fix OpenType features property handling, add default features override option.
Enable mid-grapheme cursor by default.
2022-01-09 19:03:48 +02:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
41a20171eb align to horizontal_alignment, valign to vertical_alignment, related 2021-12-09 01:38:46 -06:00
2b1787b446 Fix drag and drop on LineEdit 2021-11-15 17:10:56 +01:00
3c0fdcc8ac Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
3f33e1d7d6 Add functions for getting name and font style from dynamic and bitmap fonts.
Add font selection toolbar editor plugin.
2021-10-31 12:40:58 +02:00
21529c90f8 Merge pull request #54166 from ConteZero/unique_selection 2021-10-27 20:50:54 +02:00
fbee4efa5f Add option to make selection unique 2021-10-27 19:45:52 +02:00
87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
838c9d37b4 Added primary clipboard for Linux 2021-10-18 14:01:06 +02:00
6c0f44ca7e Merge pull request #53000 from Chaosus/lineedit_expose_selection_methods 2021-09-29 10:31:37 +02:00
3f0fe0b8a3 Fix LineEdit and TextEdit double-click and triple-click selection 2021-09-26 19:56:48 +02:00
4e0552a4ff Add selection getter methods to LineEdit 2021-09-24 11:30:58 +03:00
5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
16c2d4ef22 Improve Undo/Redo menu items
* Make Undo/Redo menu items disabled when clicking it does nothing.
    * Context menu of `TextEdit`
    * Context menu of `LineEdit`
    * Editor's Scene menu
    * Script editor's Edit menu and context menu (for Script and Text)
* Make editor undo/redo log messages translatable.
* Mark `UndoRedo`'s `has_{un,re}do()` methods as `const`.
* Expose `TextEdit`'s `has_{un,re}do()` to scripts since `{un,re}do()` are already available.
2021-08-17 21:11:10 +08:00
1ac7a126f1 Optimize LineEdit and TextEdit menu item generation. 2021-07-19 08:19:09 +03:00
a3fb76cd45 Create many types of popups on demand
* LineEdit popups created on demand.
* TextEdit popups created on demand.
* SpinSlider popups created on demand.
* ResourcePicker popups created on demand.

Improves editor responsiveness.
2021-07-17 10:57:14 -03:00
0de9a7d803 Rename doubleclick to double_click 2021-05-04 04:38:08 -04:00