Commit graph

4645 commits

Author SHA1 Message Date
poohcom1
c161ee3519 Fix autocomplete filter not including substrings 2023-01-23 11:35:57 +07:00
Rémi Verschelde
5068d82374
Merge pull request #71686 from YuriSizov/stylebox-min-size-but-better
Clean-up, harmonize, and improve StyleBox API
2023-01-22 17:53:04 +01:00
RedMser
386f62df96 Fix SplitContainer rendering and theming 2023-01-22 16:34:56 +01:00
Rémi Verschelde
d4d01ca20a
Merge pull request #71609 from lufog/menubar-auto-translation
MenuBar add auto-translation of Menu names
2023-01-22 16:07:40 +01:00
Rémi Verschelde
c3539b4561
Merge pull request #70773 from KoBeWi/lector
Add range iterator to LocalVector
2023-01-21 20:53:29 +01:00
Rémi Verschelde
906ee0b219
Merge pull request #67253 from KoBeWi/PICKER_USAGE_NO_EDITOR
Remove editor dependencies from ColorPicker
2023-01-21 20:52:16 +01:00
kobewi
615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
Juan Linietsky
51777a2914 Fix constant editor redraw after shortcut
Introduced by me by mistake on #71328. Fixes #71652.
2023-01-21 10:54:45 +01:00
Koyper
6f11cf7d31 Fixed RichTextLabel wrong selection offset in padded table cell. 2023-01-20 09:55:27 -06:00
Алексей Смирнов
a118bc2723 MenuBar add auto-translation of Menu names 2023-01-20 11:34:20 +03:00
Rémi Verschelde
65883cc73b
Merge pull request #71598 from bruvzg/gdscript_bidi_override
Implement BiDi override mode for GDScript source.
2023-01-19 19:33:18 +01:00
Yuri Sizov
752402cf35 Clean-up, harmonize, and improve StyleBox API
- Make all margin properties follow the same naming convention (their getter and setter too).
- Remove a virtual counterpart of `get_style_margin` from API.
- Allow to override `get_minimum_size` from scripting and remove `get_center_size`.
2023-01-19 20:02:21 +03:00
kobewi
c0083e431b Cleanup unused engine code v2 2023-01-19 13:02:18 +01:00
Rémi Verschelde
f40f1e0c90
Merge pull request #60904 from KoBeWi/👻👻👻
Allow unindent without selection
2023-01-18 22:27:36 +01:00
bruvzg
5361ec9f43
Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +02:00
Rémi Verschelde
bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
kobewi
b427d3585c Allow unindent without selection 2023-01-18 17:05:15 +01:00
Pedro J. Estébanez
ed8c5cd52f Prevent infinite cascade of re-layout after label text reshaping 2023-01-17 13:49:54 +01:00
Rémi Verschelde
2d214c8881
Merge pull request #70685 from stmSi/fix-nan-graphedit-infinite-loop
Fix: NaN value making infinite loop inside GraphEdit's `NOTIFICATION_DRAW`
2023-01-16 09:41:08 +01:00
Rémi Verschelde
ce278b1b7a
Merge pull request #70433 from Sauermann/fix-treeitem-id
Fix confusion about TreeItem.add_button ambiguity between id and index
2023-01-16 09:15:15 +01:00
Hugo Locurcio
65560315a4
Add a property hint for SpinBox's custom_arrow_step property
Only positive or zero values make sense for this property.
2023-01-14 20:18:01 +01:00
Paulb23
1aac10d73d Fixed adding extra quote when completing strings 2023-01-14 15:28:22 +00:00
kobewi
59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Yuri Sizov
682ef35787
Merge pull request #71328 from reduz/button-shortcuts-no-longer-press
Button shortcuts no longer "press" the Button.
2023-01-14 00:14:51 +03:00
kobewi
54abd5b560 Add expand mode compat to TextureRect 2023-01-13 19:16:49 +01:00
Juan Linietsky
dd3a1b08a9 Button shortcuts no longer "press" the Button.
* Button shortcuts were treated as generic input events on buttons. This means that to activate a button shortcut you had to press and release.
* This logic is removed and now shortcuts always activate on press.
* This makes the editor feel more responsive and solves problems related to this behavior.

Fixes #45033 and possibly others.
2023-01-13 18:43:02 +01:00
Hendrik Brucker
e59d6b1b8c [RichTextLabel] Match minimum size calculation of Label
(optional via fit_content property)
2023-01-13 15:17:26 +01:00
stmSi
d1bd7539a6 Fix NaN value making infinite loop inside GraphEdit's NOTIFICATION_DRAW 2023-01-13 12:29:29 +06:30
Rémi Verschelde
797fb296f0
Merge pull request #58517 from KoBeWi/size_matters
Add expand modes to TextureRect
2023-01-12 20:06:26 +01:00
kobewi
dfc4367a47 Add expand modes to TextureRect 2023-01-12 17:06:03 +01:00
Rémi Verschelde
312703ca1f
Merge pull request #70566 from cg9999/richtextlabel_fix
Fix crash in RichTextLabel table parsing
2023-01-12 14:52:02 +01:00
Henri Valta
81d0f42800 Fix crash in RichTextLabel table parsing
Fixed with help of feedback from bruvzg. Prevents invalid items getting to stack.
2023-01-12 12:27:25 +02:00
Hendrik Brucker
62278eb236 Rename (de)selected signals to node_(de)selected in GraphNode 2023-01-12 04:08:06 +01:00
Rémi Verschelde
863324330b
Merge pull request #71219 from EricEzaM/68176-codeedit_update_code_completion_options_crash
Fix crash in CodeEdit when caret column exceeds line length.
2023-01-11 14:02:01 +01:00
Eric M
1d30653efb Fix crash in CodeEdit when caret column exceeds line length. 2023-01-11 22:52:37 +10:00
Rémi Verschelde
3e2843e3ad
Merge pull request #71183 from YuriSizov/control-refresh-layouts-by-parents
Ensure that the cached layout mode is in sync
2023-01-11 01:29:51 +01:00
Rémi Verschelde
54688a7535
Merge pull request #71127 from reduz/drag-forward-to-callables
Change set_drag_forwarding() to use callables.
2023-01-11 01:14:58 +01:00
Rémi Verschelde
b65c5bccfa
Merge pull request #71042 from marzecdawid/only-cursor-multiselect-tree-text-search
Fix text search in Tree with multiselect
2023-01-11 01:12:12 +01:00
Yuri Sizov
42cbdbc7df Ensure that the cached layout mode is in sync 2023-01-10 23:51:27 +03:00
Juan Linietsky
e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Rémi Verschelde
e63500344f
Merge pull request #71056 from marzecdawid/add-tree-deselect-all-to-gdscript
Expose Tree::deselect_all to GDScript
2023-01-10 10:44:31 +01:00
Juan Linietsky
0e0a6bb39b
Removed unused property hints and Object::get_translatable_strings()
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Yuri Sizov
00b5222f66 Fix inconsistent state of Controls when editing and running scenes 2023-01-09 15:54:04 +03:00
Danil Alexeev
9b3da76640
Fix unpressable buttons 2023-01-09 12:17:48 +03:00
Rémi Verschelde
e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00
Rémi Verschelde
378d589e2d
Merge pull request #71037 from reduz/array-format-bitfield
Use BitField<> hint for Mesh.ArrayFormat and Control.SizeFlags
2023-01-08 22:51:03 +01: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 +01:00
Juan Linietsky
47592927b3 Use BitField<> hint for ArrayFormat
This was missing in the conversion of bitflags to BitField<>.
2023-01-08 18:47:48 +01:00
Stanislav Labzyuk
436cd91065 Expose TabBar::clear_tabs to GDScript 2023-01-08 13:52:57 +01:00
Dawid Marzec
9eeed06e65 Expose Tree::deselect_all to GDScript 2023-01-08 12:41:27 +01:00
Dawid Marzec
76a3f8e573 Fix text search in Tree with multiselect 2023-01-07 21:04:23 +01:00
Rémi Verschelde
3579d7a9f7
Merge pull request #36301 from KoBeWi/daddy_node
Add reparent methods to Node
2023-01-07 13:20:56 +01:00
Rémi Verschelde
163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Michael Bickel
5d09bf8f05 fix typo 'comleption' -> 'completion' 2023-01-06 19:52:19 +01: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 +01:00
Rémi Verschelde
778684ffaa
Merge pull request #70933 from fire/empty-organize-graph-node
Update GraphEdit to automatically arrange nodes if nothing is selected
2023-01-05 12:58:20 +01:00
K. S. Ernest (iFire) Lee
8302f17adf Update graph_edit.cpp to automatically arrange nodes if nothing is selected. 2023-01-04 16:48:01 -08:00
Haoyu Qiu
631ac1406b Fix Tree overflow without scrolling being enabled 2023-01-03 22:50:35 +08:00
Rémi Verschelde
55ef815472
Merge pull request #70865 from bruvzg/fd_crash
Fix file dialog crash on forward click when history is empty.
2023-01-03 12:41:10 +01:00
Rémi Verschelde
c328d76483
Merge pull request #70690 from Sauermann/fix-menubar-hover
Fix hovering-color of MenuBar entries when reentering MenuBar
2023-01-03 12:32:20 +01:00
Rémi Verschelde
8b180353d8
Merge pull request #70763 from Maran23/4-x-tree-icon-gap-with-hscrollbar
Fix Scene Tree Editor icons shift when the pane is small
2023-01-03 12:28:59 +01:00
bruvzg
5eeefb2174
Fix file dialog crash on forward click when history is empty. 2023-01-03 10:23:49 +02:00
Marius Hanl
6241d00368 Use the vertical scrollbar when calculating the width that can be used for drawing
The horizontal scrollbar was used before, which is not correct as it has no influence to the drawing width
Also fixed the other wrong locations
2022-12-31 06:59:51 +01:00
Markus Sauermann
c5c40f4f23 Fix hovering-color of MenuBar entries when reentering MenuBar
When reentering MenuBar with the mouse cursor, the hovering-color was
not set, because the previously hovered entry was still referenced in
selected_menu. This PR resets selected_menu on mouse-exit.
2022-12-29 01:59:05 +01:00
Markus Sauermann
06f0184b63 Fix confusion about TreeItem.add_button ambiguity between id and index
A TreeItem button has an id and an index, which can be distinct.
This leads to confusion.

This PR documents the distinction between id and index.
2022-12-29 00:43:45 +01:00
Michael Alexsander
82d94cc5c0 Fix errors when TabBar is empty 2022-12-27 08:39:06 -03:00
Yuri Sizov
ecc5c275f4
Merge pull request #70407 from Koyper/rich_text_bold_italics
[RTL] Fix push bold or italics not using bold_italics_font when required
2022-12-23 00:10:53 +03:00
Koyper
81343ae210 Fixed RichTextLabel push bold/italic to correctly use bold_italic font. 2022-12-22 13:30:52 -06:00
Rémi Verschelde
c2d8269a72
Merge pull request #70334 from Sauermann/fix-button-group-doc
Add configuration warning when ButtonGroup is used with non-toggleable buttons
2022-12-22 08:51:23 +01:00
Rémi Verschelde
4ba5289f91
Merge pull request #70413 from Koyper/rtl_rename_remove_line
[RTL] Rename remove_line() to remove_paragraph() for naming consistancy.
2022-12-22 08:51:13 +01:00
Markus Sauermann
e4e13a404d Add configuration warning when ButtonGroup is used with non-toggleable buttons
Also fix ambiguous documentation of ButtonGroup.
2022-12-22 06:59:47 +01:00
Rémi Verschelde
b04bc49443
Merge pull request #68255 from jbcolli2/ColorPickerBug
Fixed Issue #68194 involving ColorPicker being allowed to align horizontally when it shouldn't
2022-12-21 22:25:14 +01:00
Koyper
e846b22da6 Renamed RTL remove_line() to remove_paragraph(). 2022-12-21 11:54:18 -06:00
Michael Alexsander
49024e7345 Fix misaligned edit box when clicking on Tree items with different sizes 2022-12-20 00:23:51 -03:00
Rémi Verschelde
d34594179a
Merge pull request #70297 from Paulb23/fix-autocomplete-brace-completion
Fix autocomplete with autobrace completion not adding closing pair
2022-12-19 16:28:51 +01:00
Paulb23
29f7bea241 Fix autocomplete with autobrace completion not adding closing pair 2022-12-19 14:20:52 +00:00
Juan Linietsky
80b578b060 Restore 'rotation_degrees' properties.
By popular demand, restoring the helper properties to rotate objects in degrees.
Affected are local and global rotations for:

* Node2D
* Node3D
* Control
2022-12-19 10:59:47 +01:00
Zak
d73a9b56b0
Add uri property for LinkButton
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-17 15:27:33 +01:00
Rémi Verschelde
03cc4c3f3b
Merge pull request #70168 from Haydoggo/autocomplete-placement-fix
Fix autocomplete box placement
2022-12-17 12:23:15 +01:00
Hayden Leete
530b1f3f7a Fix autocomplete box placement 2022-12-17 12:33:29 +13:00
bruvzg
53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. 2022-12-15 23:16:02 +02:00
Rémi Verschelde
9ba3f9d1db
Merge pull request #69680 from LucasLaukka/bugfix-line_edit
Fix color picker showing incorrect number of digits when changing display scale
2022-12-15 22:09:18 +01:00
bruvzg
ca5a3d0c68
[RTL] Fix nested tables getting parent offset applied multiple times. 2022-12-15 14:05:21 +02:00
bruvzg
dd7b095f7f
[RTL] Fix image click detection. 2022-12-14 21:27:00 +02:00
bruvzg
a56fdea289
[TextEdit] Fix IME intermediate text not displayed when TextEdit is empty and placeholder is set. 2022-12-13 20:22:48 +02:00
Haoyu Qiu
8d0fa193c3 Fix crash after executing ItemList.set_icon_scale 2022-12-13 15:53:50 +08:00
Rémi Verschelde
92dfa7901b
Merge pull request #61855 from Calinou/popup-centered-minsize-fix-freeze
Fix infinite loop when calling `Control.popup_centered_minsize()`
2022-12-12 13:51:37 +01:00
Rémi Verschelde
47507a07fd
Merge pull request #68546 from marzecdawid/fix-deselect-all-in_tree
Fix errors while deselecting all tree items; issue #65185
2022-12-12 08:25:20 +01:00
kobewi
7c6b659bd7 Add PropertyInfo overload for GLOBAL_DEF 2022-12-11 21:36:48 +01:00
Rémi Verschelde
879499a0aa
Merge pull request #69844 from AmyGilhespy/patch-1
Fix glyph_flags typo.
2022-12-10 10:46:09 +01:00
Rémi Verschelde
48ffaaa81c
Merge pull request #68728 from Rindbee/fix-wrong-edit
Make sure the popup editor is hidden when selected
2022-12-10 10:44:50 +01:00
AmyGilhespy
8f93b14030
Fix glyph_flags typo. 2022-12-09 23:50:01 -06:00
Rémi Verschelde
597e0c0fb9
Merge pull request #69353 from YuriSizov/window-be-more-like-your-brother
Copy local theme overrides from `Control` to `Window`
2022-12-09 18:06:34 +01:00
Lluc Pares
2005b5c44a RichTextLabel: decouple meta cursor from underline
This commit decouples the type of cursor used when the underline
of meta tag is set to False. Previous to this commit setting the
meta underline to false in the RichTextLabel would also make it
show the arrow cursor instead of the hand cursor.

Making the meta tag with no underline should not have any effect
on the type of cursor, since the text will still be clickable it
should be expected to have a hand cursor.

The same behavior is seen in other languages, like HTML+CSS, where
the setting "text-decoration" to "none" for the links, disables
the underline but maintains the clickable cursor.

Fixes godotengine/godot-proposals#3193
2022-12-08 09:43:41 +01:00
Yuri Sizov
29cc86fa6c Copy local theme overrides from Control to Window 2022-12-07 20:50:51 +03:00
Lucas Laukka
4e63395a78 fixed bug showing only two digits in color picker 2022-12-07 13:55:51 +01:00
Rémi Verschelde
4b21e656c9
Merge pull request #69702 from bruvzg/menu_safe_rect
Fix menu popup safe rect height no including theme separation.
2022-12-07 13:25:20 +01:00
Markus Sauermann
e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
bruvzg
02e9134183
Fix menu popup safe rect height no including theme separation. 2022-12-07 08:21:27 +02:00
Danil Alexeev
53b3d1e645
Fix highlight overlaps in TextEdit 2022-12-06 12:01:31 +03:00
Rémi Verschelde
f87858a8f2
Merge pull request #65101 from MrPhnix/range_value_bug
Bug: The range doesn't take into account the min value when setting the value.
2022-12-05 18:08:28 +01: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 +01:00
Yuri Sizov
d759210f52
Merge pull request #69284 from gdixr/bugfix-69082
Prevent editor crash when deleting children of GraphNode
2022-12-05 15:56:10 +03:00
Rémi Verschelde
73de09f38e
Merge pull request #69580 from bruvzg/rtl_fix_search
[RTL] Fix search method not taking nested frame and line wraps into account.
2022-12-05 10:14:00 +01:00
Rémi Verschelde
92b5e616ae
Merge pull request #69561 from AThousandShips/tree_select_fix
Fix TreeItem::set_as_cursor check
2022-12-05 00:05:23 +01:00
Rémi Verschelde
bb7dbdf1d1
Merge pull request #69312 from RumblingTurtle/double-click-editor-fix
Editor doubleclick jumping in certain positions fix
2022-12-05 00:04:36 +01:00
bruvzg
889bcff24f
[RTL] Fix search method not taking nested frame and line wraps into account. 2022-12-04 22:11:21 +02:00
Ninni Pipping
f90d3554cf Fix TreeItem::set_as_cursor check 2022-12-04 09:57:47 +01:00
Rémi Verschelde
82b1cd6753
Merge pull request #62675 from Jummit/tolerant_lookup
Allow drag-clicking before symbol lookup
2022-12-03 21:30:57 +01:00
Eduard Zalyaev
b663a825a6 Script editor: Fix edge case when double-click incorrectly updates caret position
Fixes #68898.
2022-12-03 15:51:10 +03:00
kobewi
5490c22ffb Improve usage of StringNames in GraphEdit 2022-12-02 22:57:23 +01:00
bruvzg
0541c746ee
[RichTextEffect] Restore missing relative_index property. 2022-12-02 09:50:54 +02:00
Rémi Verschelde
e5f0a565e2
Merge pull request #67660 from Rindbee/improve-setter-for-Range
Improve validation when setting `max`/`min`/`page` in `Range`
2022-12-01 18:11:01 +01:00
Rémi Verschelde
86273fcf13
Merge pull request #69401 from IceflowRE/rename_theme_cache_names
Rename Tree theme cache separation names
2022-12-01 18:09:52 +01:00
Iceflower
908f392af6
Rename theme cache separation names 2022-11-30 16:06:14 +01:00
kobewi
b65a3a52ac Display transform properties of contained controls 2022-11-30 15:08:39 +01:00
zhangjianguo
8e1138d59a Prevent editor crash when deleting children of GraphNode 2022-11-30 09:25:26 +08:00
Hendrik Brucker
e84f45fc93 Move z_index, z_as_relative and y_sort_enabled from Node2D to CanvasItem 2022-11-29 17:11:22 +01:00
Rémi Verschelde
438b2e2d02
Merge pull request #59801 from Sauermann/fix-node2d-viewport-root-order
Fix Viewport root order after Node2D raise
2022-11-28 08:21:10 +01:00
Rémi Verschelde
ead82feb24
Merge pull request #69008 from akien-mga/property-hint-array-type-resource-simplify
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-25 19:29:05 +01:00
Haoyu Qiu
06a0b26c9e Fix inspector not showing name for LabelSettings.font 2022-11-25 12:48:37 +08:00
Rémi Verschelde
5d20dccade
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources 2022-11-24 14:06:00 +01:00
Hana
125d7deaff add possibility to use only one color 2022-11-23 21:47:22 +01:00
Rémi Verschelde
9ddb6a925e
Merge pull request #69052 from Sauermann/fix-viewport-exit-tree-visibility
Fix Viewport visibility after entering/leaving scene-tree
2022-11-23 17:22:58 +01:00
Markus Sauermann
ebd1b0089a Fix Viewport being visible after leaving tree
When a SubViewport leaves the tree, it is still displayed in its parent
SubViewportContainer until the next redraw.
This PR makes sure, that the parent gets redrawn immediately.

This also fixes the visibility problem when a SubViewport is added as
child of a SubViewportContainer.
2022-11-23 16:04:07 +01:00
Adam Scott
0c64304ba5 Fix error while selecting last empty line 2022-11-23 09:21:41 -05:00
Rémi Verschelde
ebf4f75c54
Merge pull request #68855 from Cafalaarl/Cafalaarl/master
Fixed incorrect gradient orientation in HSV vertical slider
2022-11-22 08:29:12 +01:00
Markus Sauermann
28af870750 Code simplifications found by cppcheck
They are based on:
- Boolean arithmetic simplifications
- setting variables that are not accessed
- constant variables
2022-11-21 08:43:36 +01:00
Aaron Franke
f6714858bf
Rename TextureButton set_*_texture methods to set_texture_* 2022-11-19 17:33:40 -06:00
Flynn Garthwaite
b29f7c2fe8 Fixed orientation of HSV rectangle vertical slider 2022-11-19 10:51:56 +13:00
bruvzg
9b14b5b483
Fix multithreaded RTL resetting scroll position on resize. 2022-11-17 16:26:06 +02:00
bruvzg
3add6dcd89
Add Control::localize_numeral_system property to toggle automatic numeral system conversion. 2022-11-17 14:59:56 +02:00
Rémi Verschelde
725f25487c
Merge pull request #68589 from marzecdawid/remove-default-file-save-filedialog
Remove auto selecting the first file for FileDialog with Save mode
2022-11-17 13:48:33 +01:00
Rémi Verschelde
2846ea1ffa
Merge pull request #68573 from Sauermann/fix-optionbutton-popup
Fix position and size of OptionButton PopupMenu
2022-11-16 14:41:52 +01:00
Rindbee
716e5ab166 Make sure the popup editor is hidden when selected 2022-11-16 18:36:49 +08:00
Dawid Marzec
d4d5df2314 Fix errors while deselecting all tree items; issue #65185 2022-11-15 22:48:27 +01:00
Rémi Verschelde
f33e482551
Merge pull request #68531 from marzecdawid/fix-gap-with-scrolling-down-in-Tree
Fix a gap with scrolling down in Tree with arrow keys (#57636)
2022-11-14 23:25:22 +01:00
Dawid Marzec
c068a9d0bd Fix a gap with scrolling down in Tree with arrow keys (#57636) 2022-11-14 21:37:42 +01:00
Markus Sauermann
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
Rémi Verschelde
5b3a03bf5c
Merge pull request #68448 from bruvzg/font_imp_tr
[Font] Add an import option to pre-render all glyphs required for the translation.
2022-11-14 11:12:01 +01:00
Dawid Marzec
5cd30be56d Remove auto selecting the first file for FileDialog with Save file mode selected 2022-11-13 02:24:17 +01:00
Markus Sauermann
95597bb2ac Fix position and size of OptionButton PopupMenu
Use the correct Transform2D (get_global_transform_with_canvas) for
position and size.
2022-11-12 21:12:02 +01:00
bruvzg
35528b800c
[Font] Add an import option to pre-render all glyphs required for the translation. 2022-11-10 10:43:15 +02:00
bruvzg
c624b1eeac
[Line Edit] Ignore placeholder text when drawing caret. 2022-11-08 15:15:13 +02:00
kobewi
d9f066d5fa Remove duplicate project settings definitions 2022-11-08 01:29:39 +01:00
Rémi Verschelde
a1bc636098
Merge pull request #68337 from alfredbaudisch/multi-caret-selection-fix
Fixes mouse click deselect for multi and single carets
2022-11-07 10:20:45 +01:00
Markus Sauermann
18978881fe Code simplifications
CanvasItemEditor:
- p_result == ADD_MOVE is always true in this switch-clause

- both parts of the if-else-clause do the same thing and simplified an affine_inverse call

ControlEditorToolbar:
- private function ControlEditorToolbar::_anchor_to_position is used nowhere. Looks like
copy and paste from CanvasItemEditor::_anchor_to_position

ScrollContainer:
- screen_is_touchscreen is always true, because otherwise the function already returned

TextLine:
- both parts of the if-else-clause do the same thing and simplified return statement
2022-11-07 01:21:25 +01:00
Alfred Reinold Baudisch
0d2953074b Mouse click deselect removes secondary carets and puts primary caret under mouse position
Fixes and closes #67993.
2022-11-06 20:03:06 +01:00
Rémi Verschelde
cf1e6bb6fc
Merge pull request #68282 from alfredbaudisch/backspace-multi-care
Correctly deletes multi-caret selection with backspace
2022-11-06 16:10:32 +01:00
Alfred Reinold Baudisch
7127e57bf8 Pass caret index when deleting selection with backspace
Fixes and closes #67992
2022-11-05 08:55:18 +01:00
jbcolli2
c685c47f8a Fixed ColorPicker so the vertical option is not available in editor. 2022-11-04 13:59:25 -04:00
kobewi
1778301cd0 Add call_deferred() method to Callable 2022-11-04 17:24:34 +01:00
Rémi Verschelde
4e47324b3f
Merge pull request #68097 from KoBeWi/no_signal🔕
Add `set_value_no_signal()` to Range
2022-11-04 10:48:47 +01:00
Rémi Verschelde
d48ba545ef
Merge pull request #67741 from cridenour/modular-color-picker
Modularize the Color Picker via properties and new picker mode.
2022-11-04 10:48:37 +01:00
Chris Ridenour
286e7da162 Modularize the Color Picker via properties. 2022-11-04 00:08:46 -04:00
Rémi Verschelde
3cde6c0432
Merge pull request #67540 from KoBeWi/hue_hue_hue
Add a separate hue gradient for OKHSL mode
2022-11-03 11:51:45 +01:00
Rémi Verschelde
c9e0d787fe
Merge pull request #67928 from YeldhamDev/we_really_need_a_callback_for_after_children_is_removed
Fix problems with `tab_changed` signal when removing multiple tabs at once
2022-11-02 22:36:49 +01:00
Markus Sauermann
022d24a9ae Fix Viewport root order after Node2D raise 2022-11-02 21:45:00 +01:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Rémi Verschelde
39cece382d
Merge pull request #68170 from alfredbaudisch/clear-selection-shortcut
Unified shortcut to clear carets and selections from TextEdit
2022-11-02 18:54:19 +01:00
Rémi Verschelde
7488b4724e
Merge pull request #67788 from 98teg/flow-container-alignment
Add alignment options to flow container
2022-11-02 18:52:53 +01:00
Alfred Reinold Baudisch
a862583d05 Unified shortcut to clear carets and selections
Refactors`ui_text_remove_secondary_carets` from https://github.com/godotengine/godot/pull/68089 as `ui_text_clear_carets_and_selection`, with extra behaviour:

- If there's only one active caret active with a selection, clears the selection.
- In case there's more than one caret active, removes the secondary carets and clears selections.

With this change, `TextEdit` then imitates the behaviour of VSCode for clearing carets and selections.
2022-11-02 18:23:24 +01:00
Rémi Verschelde
06c8e406e4
Merge pull request #63335 from Spartan322/button-shortcut-feedback
Make `BaseButton` Shortcut feedback togglable
2022-11-02 17:14:00 +01:00
kobewi
84d6549c75 Change hue icons to horizontal GradientTexture2D 2022-11-02 15:34:15 +01:00
kobewi
f5981ff19d Add a separate hue gradient for OKHSL mode 2022-11-02 14:44:41 +01:00
Rémi Verschelde
eddaab17ea
Merge pull request #63562 from Rindbee/better-scroll-conditions
Use more reasonable scrollable conditions in `ScrollContainer`
2022-11-02 14:21:21 +01:00
Rémi Verschelde
87cdc2ea60
Merge pull request #67994 from YeldhamDev/how_suggestive
Stop centering clicked suggestions in the autocomplete popup
2022-11-02 14:15:32 +01:00
kobewi
4aa1efb0fe Add set_value_no_signal() to Range 2022-10-31 23:59:01 +01:00
Alfred Reinold Baudisch
fcff978763 Shortcut and Bind to Remove Secondary Carets
Adds the bind `ui_text_remove_secondary_carets` to TextEdit, with ESC as the default shortcut.

When the bind is performed, if the TextEdit has multiple carets, `remove_secondary_carets` is called and secondary carets are removed.

This is useful when multiple selects are performed with `add_select_for_next_occurrence` #67644 or when multiple multiple carets are manually added, then it's possible to go back to a single caret with a shortcut.

Closes #67991
2022-10-31 17:44:47 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Rémi Verschelde
33c7c8020a
Merge pull request #67489 from timothyqiu/auto-select-all
Allow selecting SpinBox & LineEdit text when focus enters
2022-10-31 11:55:06 +01:00
Rémi Verschelde
b6cbea5e58
Merge pull request #63590 from golfinq/fbg-padding
Add padding options in theme for fg/bgcolor tags in RichTextLabel
2022-10-31 11:14:55 +01:00
Rémi Verschelde
8b1a42cd47
Merge pull request #67888 from KoBeWi/overridead
Remove `override_selected_font_color` property
2022-10-31 10:59:07 +01:00
Rémi Verschelde
420eb1aa34
Merge pull request #67445 from Zylann/rename_queue_delete
Rename queue_delete => queue_free
2022-10-31 10:51:18 +01:00
Rémi Verschelde
d831ba1d6f
Merge pull request #67534 from KoBeWi/more_OK_in_OKHSL
Improve ColorPicker sliders in OKHSL mode
2022-10-31 10:37:27 +01:00
Rémi Verschelde
68623c75b3
Merge pull request #67496 from Paulb23/text-edit-crashes
Fix TextEdit action and CodeEdit completion crash
2022-10-31 10:32:41 +01:00
Rémi Verschelde
273410ba5a
Merge pull request #67139 from PucklaMotzer09/insert_caret_at_carets
Add Caret Insert Below and Above shortcuts to TextEdit
2022-10-31 10:32:07 +01:00
Rémi Verschelde
996f7e5142
Merge pull request #66352 from arkology/progressbar_atlastexture_radial
Support AtlasTexture in radial modes of TextureProgressBar
2022-10-31 10:31:07 +01:00
Haoyu Qiu
3aed3edc06 Allow selecting SpinBox & LineEdit text when focus enters 2022-10-29 09:58:42 +08:00
Michael Alexsander
4b6e6c6758 Stop centering clicked suggestions in the autocomplete popup 2022-10-28 20:22:28 -03:00
Clay John
0486810697
Merge pull request #67644 from alfredbaudisch/add-selection-next-occurrence
Add Selection and Caret for Next Occurrence of Selection
2022-10-27 17:21:49 -07:00
Michael Alexsander
fb8588e68e Fix problems with tab_changed signal when removing multiple tabs at once 2022-10-27 03:16:01 -03:00
Paweł
1608bea188 Fix scrolling behaviour with low page value 2022-10-26 19:44:56 +02:00
kobewi
c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
Marc Gilleron
7543a5e014 Rename queue_delete => queue_free
# Conflicts:
#	editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
Clay John
4134f2a464
Merge pull request #67566 from Sauermann/fix-code-simplifications
Code simplifications
2022-10-23 17:02:04 -07:00
Teggy
2b08675f37 Add alignment options to flow container 2022-10-23 13:40:17 +02:00
EricEzaM
61ad9db18c Ensure PopupMenu item is shaped when the shortcut is set. 2022-10-22 22:05:20 +10:00
Markus Sauermann
99bb7ab692 Fix Control rect coordinate system inconsistency
Fix get_rect, get_global_rect and get_screen_rect to take Controls scale into
account.
Simplify get_screen_position and get_screen_rect
2022-10-22 01:47:52 +02:00
Alfred Reinold Baudisch
7d15ecc3af Add Selection and Caret for Next Occurrence of Selection
Adds the bind `add_selection_for_next_occurrence` to TextEdit, with CTRL+D as the default shortcut.

When the bind is performed, ff a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret and selects the next occurrence.

If no selection is currently active with the last caret in text fields, selects the word currently under the caret.

The action can be performed sequentially for all occurrences of the selection of the last caret and for all existing carets. The viewport is adjusted to the latest newly added caret.

The bind and the behaviour is similar to VS Code's "Add Selection to Next Find Match" and JetBrains' "Add Selection for Next Occurrence". It takes advantage of the multi-caret API.

The default shortcut for `select_word_under_caret` has been changed to ALT+G, in order to give priority to CTRL+D for `add_selection_for_next_occurrence` to better align with popular IDEs and editors.
2022-10-21 08:26:53 +02:00
Rindbee
075e79bf04 Improve validation when setting max/min/page in Range
The incoming value is validated first and then compared.

Previously, when the ScrollContainer was scrolled, the ScrollBar of
the other axis of the ScrollContainer would emit the changed signal.
This commit avoids that.
2022-10-20 14:04:09 +08:00
George L. Albany
d846dd6e91
Make BaseButton Shortcut feedback togglable 2022-10-20 02:02:12 -04:00
Max Hilbrunner
d148613bb1
Merge pull request #66279 from aaronfranke/control-min-size
Revert `custom_minimum_size` type back to `Vector2` instead of `Vector2i`
2022-10-19 22:40:52 +02:00
kobewi
d06a8320e5 Simplify GDVIRTUAL_CALL calls 2022-10-19 00:05:48 +02:00
kobewi
b42c1f82fc Improve ColorPicker sliders in OKHSL mode 2022-10-18 23:59:55 +02:00
kobewi
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Markus Sauermann
b8031bb7d6 Code simplifications
1. Viewport::get_visible_rect().position is always zero.
So Control::get_window_rect is identical to Control::get_global_rect.
Remove Control::get_window_rect since it is not used in the source code.

2. sqrt(a * a) = abs(a) for doubles

3. Simplify affine_inverse combination

4. Simplify calculation in shaders
2022-10-18 12:47:40 +02:00
PucklaMotzer09
e5354cacd0 Add Caret Insert Below and Above shortcuts to TextEdit 2022-10-18 10:38:53 +02:00
Rindbee
42073fc2bb Use more reasonable scrollable conditions in ScrollContainer
The visibility of the `ScrollBar` was used as a condition for judging whether it should scroll.
**Visible** and **scrollable** are currently not the same in some cases (`SCROLL_MODE_SHOW_NEVER`).
This makes `SCROLL_MODE_SHOW_NEVER` not working properly.

This patch will make `SCROLL_MODE_SHOW_NEVER` available, so that the external `SrollBar` can
share the internal `ScrollBar`'s data, we can achieve the purpose of replacing the internal
`ScrollBar` with a custom external one.
2022-10-18 16:32:39 +08:00
arkology
825f5671f1 Support AtlasTexture in radial modes of TextureProgressBar 2022-10-17 20:44:25 +03:00
Markus Sauermann
13b87c13c7 Fix set_as_toplevel event propagation to child
In certain conditions events did not get propagated to Control childs of
Node2D nodes when setting a parent of the Node2D to toplevel.

This patch makes sure that such Control nodes become root control in the
viewport.
2022-10-16 21:42:16 +02:00
Paulb23
4bfb1d953c Fix undo redo not adjusting TextEdit viewport to caret 2022-10-16 19:30:03 +01:00
Paulb23
b5dc8e24be Fix crash in code completion when using an invalid / null font 2022-10-16 16:47:27 +01:00
Paulb23
76005e5ff7 Forcibly end current TextEdit action on undo redo 2022-10-16 16:28:22 +01:00
bruvzg
4b1937c73f Abort LineEdit shaping if no font is set to avoid unnecessary error messages. 2022-10-14 12:57:42 +03:00
Rémi Verschelde
f32f5b70d8 Merge pull request #67348 from Mickeon/salvage-a-dear-comment
Comment not to remove `data` structs in some Nodes
2022-10-13 18:40:58 +02:00
Micky
de9e08da76 Comment not to remove data structs in some Nodes 2022-10-13 15:52:35 +02:00
Rémi Verschelde
2ffb609658 Merge pull request #66337 from EricEzaM/sprite-frames
Ensure control built-in shortcuts are matched exactly & add shortcuts for SpriteFrames editor
2022-10-13 15:24:39 +02:00
Rémi Verschelde
17db8be33c Merge pull request #66357 from EricEzaM/shortcut-context-on-node
Move Shortcut Context to control and fix `shortcut_input` with `shortcut_context`
2022-10-13 15:24:30 +02:00
Eric M
a3ed9e6f2c Move Shortcut Context to Control and ensure that shortcut_input adheres to contexts. Also ensure that controls with no context are only triggered AFTER nodes which do have a context. 2022-10-13 21:07:19 +10:00
MladoniSzabi
3550354fd3 fixed holding alt while zooming zooms in by 2 increments. 2022-10-13 11:38:25 +01:00
Rémi Verschelde
fad0327503 Merge pull request #66953 from Sauermann/fix-top-level-connect-error
Fix Control node not disconnecting from signal
2022-10-13 09:04:25 +02:00
Rémi Verschelde
15b68f7601 Merge pull request #67232 from bruvzg/popup_edit
Improve Popup / Window behavior in the edited scene tree.
2022-10-12 14:45:14 +02:00
Paulb23
f3eb543e67 Fix select word under caret using caret col instead of line 2022-10-11 20:32:06 +01:00
kobewi
a3661ad079 Remove editor dependencies from ColorPicker 2022-10-11 16:09:27 +02:00
Rémi Verschelde
f21053d189 Merge pull request #67201 from progsource/richtextlabel-icon-spritesheet
Add Spritesheet support to RichTextLabel BBCode
2022-10-11 13:58:54 +02:00
Petra Baranski
546e017613 Add Spritesheet support to RichTextLabel BBCode
BBCode: [img region=0,0,16,16]res://icon.svg[/img]
2022-10-11 13:04:15 +02:00
bruvzg
2e1fcbe14b
Prevent Popups it the edited scene tree from closing on focus loss. Hide irrelevant Popup flags from the editor inspector. 2022-10-11 08:55:00 +03:00
Rémi Verschelde
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
Rémi Verschelde
ddb97a0b35 Merge pull request #67117 from Jummit/tree-button-color
Expose TreeItem::set_button_color
2022-10-10 13:52:57 +02:00
Rémi Verschelde
4be5660223 Merge pull request #67145 from Paulb23/tab_textedit
Fix inserting tabs in TextEdit
2022-10-10 13:52:42 +02:00
Rémi Verschelde
104af08e9d Merge pull request #65805 from MewPurPur/improve-breakpoint-hovering
Improve bookmark and breakpoint indicators
2022-10-10 10:03:26 +02:00
VolTer
d6e60f45a1 Improved breakpoints hover indicator 2022-10-10 04:36:45 +02:00
Haoyu Qiu
eac9adf7a1 Don't allow removing TextEdit's main caret 2022-10-10 08:30:23 +08:00
Paulb23
7333aa68f4 Handle tab in TextEdit 2022-10-09 17:46:40 +01:00
Jummit
a6c1cfae99 Allow drag-clicking before symbol lookup
This makes it easier for touch and tablet users to do symbol lookups in
the code editor.
2022-10-09 18:42:54 +02:00
Rémi Verschelde
6f6482e82b Merge pull request #67083 from RedMser/label-font-warning
Add warning for missing characters in label font
2022-10-09 18:29:06 +02:00
Rémi Verschelde
49be2d2cf8 Merge pull request #66524 from microaeris/aeris/text-edit-get-scroll-bar
Getters for TextEdit scroll bars
2022-10-09 18:27:30 +02: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 +08:00
Jummit
1e28675560 Expose TreeItem::set_button_color 2022-10-09 10:37:55 +02:00
Haoyu Qiu
2a921cc9f8 Fix Label text length mismatch after localization 2022-10-08 23:07:19 +08:00
RedMser
9579d49820 Add warning for missing characters in label font 2022-10-08 17:02:25 +02:00
microaeris
215fe852b8 Getters for TextEdit scrollbars 2022-10-07 23:16:04 -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 +03:00
Rémi Verschelde
5b7f62af55 Merge pull request #62910 from Vitika9/gsoc-colorpicker-ux
ColorPicker UX
2022-10-07 09:49:29 +02:00
bruvzg
a750ca7ec1
Add split caret direction markers. Fix block/overtype caret size. 2022-10-07 08:45:52 +03:00
Rémi Verschelde
d414872bfe Merge pull request #66961 from Rindbee/fix-set_custom_color
Fix wrong condition used in `set_custom_color`
2022-10-06 08:56:52 +02:00
Rémi Verschelde
f5903215d0 Merge pull request #61902 from Paulb23/multi-caret
Add Multi-caret support to TextEdit
2022-10-06 08:56:34 +02:00
Rindbee
f359abbe01 Fix wrong condition used in set_custom_color 2022-10-06 12:09:02 +08:00
Markus Sauermann
c0f0f26615 Fix Control not disconnecting signal
If a Control has not parent CanvasItem and is set as top_level, then it does not disconnect from the "size_changed" signal when it leaves the Canvas.
This patch corrects this.
2022-10-05 23:35:44 +02:00
Paulb23
e9180241e8 Add multi caret support to CodeEdit 2022-10-05 17:19:26 +01:00
Paulb23
4a9d4e3dad Add mutliple Caret support to TextEdit 2022-10-05 17:19:26 +01:00
Rémi Verschelde
132a0e3242 Merge pull request #66770 from EricEzaM/search-by-event
Add searching by event in Editor Settings shortcuts and Project Settings input map.
2022-10-05 08:34:45 +02:00
Rémi Verschelde
02e9e2d3c0 Merge pull request #66559 from zaevi/fix_ScrollContainer_touch_scroll
Fix ScrollContainer touch-scrolling not working.
2022-10-04 10:30:31 +02:00
Paulb23
7dd3857f7e Move selecion into caret 2022-10-03 14:09:27 +01:00
EricEzaM
272c297931 Improve MenuButton and OptionButton
* MenuButton + OptionButton: Add method `show_popup()` which performs required popup setup before showing (prefer use of this over `get_popup()->popup()`, otherwise GH #66308 occurs)
* MenuButton: Ensure that the menu can be opened with a shortcut, if one is set for the button. (GH #66403). Ensure that popupmenu item shortcuts are checked first before the MenuButton shortcut.
2022-10-03 20:07:39 +10:00
EricEzaM
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
Markus Sauermann
56ddf89fac Adjust SubViewportContainer event handling
Change SubViewportContainer, so that it processes events with a position property no longer in 'input', but in 'gui_input'.
This fixes the issue, that Nodes within its SubViewport receive MouseButton events before other Control-Nodes.
2022-10-02 07:23:08 +02:00
Rémi Verschelde
e3464c8fc8 Merge pull request #58995 from Sauermann/fix-mouse-cursor-change-2
Update mouse cursor shape after changes
2022-09-28 20:50:05 +02:00