Commit Graph

376 Commits

Author SHA1 Message Date
9a1ce8e6c3 LineEdit: Respect max_length by truncating text to append
When appending text (either via `set_text()` or by pasting from clipboard),
if the input would make the `LineEdit` exceed its configured `max_length`,
the input text is truncated to fit. The discard part is passed as a parameter
in the `text_change_rejected` signal.

Fixes #33321.
Fixes #41278.

Also cleaned up unimplemented `max_chars` property in `TextEdit`.

Co-authored-by: Tony-Goat <70238376+Tony-Goat@users.noreply.github.com>
2021-07-06 18:03:03 +02:00
8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
87f503310b Tweak dozens of editor property hints for consistency
- Update Viewport MSAA property hints to match the currently
  exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
6c367f8e0d Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
c3967c80ab Display arrow cursor if text is not editable 2021-05-07 23:08:00 +02:00
97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
0de9a7d803 Rename doubleclick to double_click 2021-05-04 04:38:08 -04:00
de5387ab82 Fixed issues with LineEdit Delete Word & Backspace Word.
Backspace word was deleting all text before the cursor, and delete word was no updating until another action was performed on the LineEdit (in order to update it)
2021-04-28 17:15:28 +10:00
86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
7501c7f48a Fix LineEdit undo behaves strangely 2021-04-08 23:47:54 +08:00
504bc5cc67 Fix crashes in *_input functions 2021-04-05 08:52:21 +02:00
10d7fccb54 Rename ButtonList enum and members to MouseButton 2021-03-23 07:13:23 -04:00
91181c2086 Fixes small typos and grammar correction 2021-03-12 19:05:16 +05:30
eda5ae9d75 Add IME support checks in LineEdit/TextEdit.
Avoid spamming "IME is unsupported" when the DisplayServer report it as
such.
2021-03-11 23:04:22 +01:00
c487f1e854 Merge pull request #46643 from YeldhamDev/hide_all_the_things
Hide more options of disabled properties
2021-03-07 15:12:15 +01:00
4be282a269 Hide more options of disabled properties 2021-03-03 20:51:35 -03:00
a3db2fd46b LineEdit: Now double click to select a word, and triple click to select all the content using the new TextServer
TextEdit: Update the method to search words with the new TextServer
2021-03-01 08:38:08 -03:00
49714b0963 Removed hardcoded shortcuts from /scene and converted to input actions
This removes hardcoded actions from things like LineEdit and TextEdit.

Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
2021-02-18 16:22:51 +01:00
737dd5ee8c Fix minimum_character_width in LineEdit 2021-02-16 10:51:17 +01:00
d78336c65e [CTL] Add missing font outline drawing routines and theme constants. 2021-02-14 14:11:44 +02:00
28537d8c84 Fix LineEdit minimum width
-Changed theme setting name to make more sense of what it does
-Reduced amount of minimum characters, so minimum size is smaller.
2021-02-12 17:04:38 +01:00
6c9e608a34 Use get_char_size(' ') to calculate space width. 2021-02-12 15:06:50 +02:00
1aa2823fa3 Removed _change_notify
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
eda5f4ea31 Merge pull request #44349 from KoBeWi/drop_the_data!
Allow to override drop data in LineEdit
2021-01-26 16:03:07 +01:00
bdfc7a6b40 Merge pull request #45369 from naithar/fix/line_edit_clear-4.0
[4.0] [GUI] Fix LineEdit clearing
2021-01-26 12:30:34 +01:00
ba6aa76992 [GUI] Enforce virtual keyboard redisplay on clear 2021-01-26 13:17:20 +03:00
8eb39f4e8b Change themes *_color_* to *_*_color
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color

Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
8b7f582f22 Revert "solved ctrl + alt + special character Issue #6851" 2021-01-05 14:41:35 +01:00
b5334d14f7 Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
a3a31591b5 Allow to override drop data in LineEdit 2020-12-13 20:16:56 +01:00
644f739660 Static analyzer fixes:
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
0ef483e9a9 [Complex Text Layouts] Performance optimizations. 2020-12-07 08:53:02 +02:00
c3cc9d82b4 [Complex Text Layouts] Align glyph offsets and advances to the pixel grid. 2020-12-06 20:31:00 +02:00
a458e90179 [Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
d66eb77c9c [Complex Text Layouts] Refactor Label and LineEdit controls. 2020-11-26 14:25:49 +02:00
99666de00f [Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
836b78f329 Update clear button when clicked 2020-11-25 00:42:07 +01:00
acb7d99fce Merge pull request #43449 from nekomatata/line_edit_window_pos
Expose LineEdit scroll offset to scripts
2020-11-11 13:18:55 +01:00
4775db1600 Expose LineEdit scroll offset to scripts 2020-11-11 10:07:31 +01:00
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
0a8c5845e3 Merge pull request #41870 from nekomatata/fix-line-edit-enter-regression
Fix LineEdit not consuming enter events
2020-09-08 11:14:33 +02:00
5c63dec36e Fix LineEdit not consuming enter events
LineEdit should not return early when processing KEY_ENTER, so it can
consume the event properly.

Regression introduced by mistake while fixing enter events for Android
(PR #40487 - c0b394572f)
2020-09-08 10:22:37 +02:00
80b8eff6aa [Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
7844775a76 Revert "Updated LineEdit to address #41278"
This reverts commit 71febfd6e2.
2020-09-01 14:04:37 +02:00
71febfd6e2 Updated LineEdit to address #41278
Updated set_max_length() function to actually pull a substring of the current text so it's not all thrown away when the new max length is shorter than the current length.
2020-08-26 11:19:24 -06:00
044b3d0ed3 Merge pull request #37769 from HellonLegs/master
solved ctrl + alt + special character Issue #6851
2020-08-14 13:03:07 +02:00
8c05dadcff Fix Return key events in LineEdit & TextEdit on Android
Depending on the device implementation, editor actions could be
received with different action ids or not at all for multi-line.

Added a parameter to virtual keyboards to properly handle single-line
and multi-line cases in all situations.

Single-line:
Input type set to text without multiline to make sure actions are sent.
IME options are set to DONE action to force action id consistency.

Multi-line:
Input type set to text and multiline to make sure enter triggers new lines.
Actions are disabled by the multiline flag, so '\n' characters are
handled in text changed callbacks.
2020-07-26 20:06:07 +02:00