Commit graph

4952 commits

Author SHA1 Message Date
Rémi Verschelde
4bf3de7853
Merge pull request #81383 from AThousandShips/valid_remove
Remove unnecessary validity checks from `Button` and `TextureRect`
2023-09-07 13:53:20 +02:00
bruvzg
3842694d4f
Fix TextEdit placeholder with Inherited text direction. 2023-09-07 08:26:10 +03:00
Yuri Sizov
d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Yuri Sizov
58126e479c Introduce the concept of global theme contexts
This commit adds the default theme context, which replaces
the need to manually check the project and the default theme
all the time; simplifies related code.

It also adds framework for custom theme contexts, to be used
by the editor. Custom contexts can be attached to any node,
and not necessarily a GUI/Window node. Contexts do no break
theme inheritance and only define which global themes a node
uses as a fallback.

Contexts propagate NOTIFICATION_THEME_CHANGED when one of their
global themes changes. This ensures that global themes act just
like themes assigned to individual nodes and can be previewed
live in the editor.
2023-09-06 19:40:43 +02:00
A Thousand Ships
380db4d03e Remove unnecessary validity checks from Button and TextureRect
The one in `TextureRect` appears to be a leftover from earlier code, and
the one in `Button` was copied from there.
2023-09-06 16:39:06 +02:00
Yuri Sizov
6f87ab7244 Merge pull request #81268 from timothyqiu/icon-scale-changes
Fix ItemList not updating when icon scale changes
2023-09-06 14:49:13 +02:00
Yuri Sizov
3c63dce3cd Merge pull request #80573 from KoBeWi/2k_lines_of_changes_created_at_2AM
Add EditorStringNames singleton
2023-09-06 14:49:02 +02:00
Rémi Verschelde
92da5a7654
Merge pull request #79792 from Miguel0312/SceneTreeTooltips
Correctly display tooltips for buttons in Tree when they overlap cell content
2023-09-04 09:07:24 +02:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Marcus Elg
aac10705d7 Deselect multi caret when alt clicking on it 2023-09-03 19:22:33 +02:00
Haoyu Qiu
1bf4c12c0a Fix ItemList not update when icon scale changes 2023-09-03 19:10:24 +08:00
Rémi Verschelde
ae7bab8c37
Merge pull request #81040 from Ymanawat/control-theme-80989
Fix setting TabContainer's `font_hovered_color` theme property
2023-08-31 08:54:29 +02:00
Yogendra Manawat
d7bf05b490 Fix TabContainer's font_hovered_color theme property 2023-08-30 21:25:41 +05:30
Chia-Hsiang Cheng
749db00227 Draw separators before selected style boxes 2023-08-30 16:32:58 +08:00
kobewi
e21c30ec11 Unfocus LineEdit when pressing Escape 2023-08-29 14:53:49 +02:00
Tyler
468e57dfe5 fixes issue 81071 2023-08-28 17:09:48 -04:00
Rémi Verschelde
541674d106
Merge pull request #81076 from Jordyfel/spinbox
Only allow finite numbers in `Range.value`.
2023-08-28 20:38:22 +02:00
Rémi Verschelde
ba1089689a
Merge pull request #80954 from bruvzg/sp_per_font
[Text Server] Store extra spacing of individual font variations.
2023-08-28 20:37:58 +02:00
Jordyfel
78304282f0 Only allow finite numbers in Range.value. 2023-08-28 17:03:17 +03:00
Rémi Verschelde
713bfaf5ea
Merge pull request #81064 from bruvzg/rtl_char_count_line_edge
[RTL] Fix character line index for non-visual characters and characters on the line edge.
2023-08-28 12:12:22 +02:00
Rémi Verschelde
2c0a74a149
Merge pull request #80105 from Sauermann/fix-global-transform
Fix global transform validity for `Node2D` and `Control`
2023-08-28 12:03:53 +02:00
Rémi Verschelde
b00796eb1a
Merge pull request #79818 from garychia/select_all
RichTextLabel: Ensure the `select_all` function selects all items
2023-08-28 12:03:29 +02:00
bruvzg
2273509721
[RTL] Fix character line index for non-visual characters and characters on the line edge. 2023-08-28 10:50:01 +03:00
Miguel Pereira
8278a5f274 Correctly display tooltips for buttons in Tree when they overlap cell content 2023-08-27 18:21:12 +02:00
bruvzg
88177a5a58
[RTL] Use list iterators for item/paragraph removal. 2023-08-25 17:49:13 +03:00
Chia-Hsiang Cheng
d66c7a2ac5 Ensure the 'select_all' function selects all items 2023-08-25 21:07:33 +08:00
Danil Alexeev
07d23489f4
GUI: Fix text overlapping icon in Tree 2023-08-24 22:09:02 +03:00
A Thousand Ships
e70b83c7a0 Expose finding valid focus neighbors of a Control by side
Exposes the functionality used for ui navigation
2023-08-24 18:25:35 +02:00
bruvzg
5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03:00
Andrés Botero
eee95aff04 Add transform support to CharFXTransform
Use absolute transforms for CharFX

fix formatting
2023-08-23 00:18:37 -05:00
Rémi Verschelde
8e0346bade
Merge pull request #80848 from bruvzg/rtl_lang
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph.
2023-08-21 19:32:29 +02:00
bruvzg
299808cc26
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph. 2023-08-21 14:56:43 +03:00
bruvzg
cd6b0368f6
[RTL] Fix remove_paragraph crashes. 2023-08-21 14:36:07 +03:00
jsjtxietian
70dad7e5a3 Fixes a text find perf issue, if can't find any
match words, just early break the while loop. This
will improve a lot when p_search.length is way too
long since p_from_column will only plus 1 every loop
2023-08-20 21:48:25 +08:00
Rémi Verschelde
b51ee8b029
Merge pull request #80650 from bruvzg/comp_char_fix
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
2023-08-18 17:24:54 +02:00
Rémi Verschelde
0fff0b1054
Merge pull request #80203 from WhalesState/Dev2
Add shortcut handling to `OptionButton`
2023-08-17 11:24:14 +02:00
Rémi Verschelde
ef77ae7d6c
Merge pull request #74250 from daBlesr/bugfix-selection-signals-when-disabled-or-not-selectable
ItemList: Clarify distinction between disabled and selected in sending signals
2023-08-17 11:19:17 +02:00
Rémi Verschelde
4b11bc2b34
Merge pull request #36493 from KoBeWi/echo_menus
Add option to allow echo events in menu shortcuts
2023-08-17 11:18:50 +02:00
Niels Drost
fa63107bd1
ItemList: Clarify distinction between disabled and selected in sending signals
disabled -> not sending any signal at all (activated, selected, deselected, ...)
selected -> only possible when not disabled, and when selectable

Fixes #74086.
2023-08-17 10:34:18 +02:00
Tomasz Chabora
3dd881b4e4 Add option to allow echo events in menu shortcuts 2023-08-16 16:59:17 +02:00
Koyper
e84588987a Enabled missing Tree title button font and font size theme settings. 2023-08-16 08:10:31 -05:00
bruvzg
5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +03:00
bruvzg
3709ca5404
[RTL] Improve scroll bar responsiveness during updates. 2023-08-14 11:36:05 +03:00
Ricardo Subtil
f0927250ca Support controller input on popup/dialogs 2023-08-13 17:32:08 +01:00
ajreckof
1eb3d99ff7 Fix CodeEdit completion being very slow in certain cases 2023-08-10 08:15:41 +02:00
Rémi Verschelde
3a0086eb6f
Merge pull request #78426 from Daylily-Zeleen/daylily-zeleen/graph_edit_virtual
Make GraphEdit's cpp virtuals equal to gdscript.
2023-08-09 15:20:07 +02:00
Daylily-Zeleen
2f0639e7ae Make GraphEdit's cpp virtuals equal to gdscript. 2023-08-09 00:21:35 +08:00
Rémi Verschelde
0ce1ca4677
Merge pull request #80402 from timothyqiu/overrun-icon
Fix Button text when overrun is not trim nothing
2023-08-08 17:00:46 +02:00
Rémi Verschelde
70e77a8383
Merge pull request #80381 from Calinou/audio-bus-master-use-scenestringnames
Use StringName consistently to refer to the Master audio bus name
2023-08-08 16:59:11 +02:00
Rémi Verschelde
b49478acce
Merge pull request #80366 from timothyqiu/option-button-lean-and-mean
Fix OptionButton min size when fit longest item is enabled
2023-08-08 16:58:23 +02:00
Rémi Verschelde
14256a2395
Merge pull request #78468 from KoBeWi/enmarginalization
Fix ColorPicker margin theme property
2023-08-08 16:55:32 +02:00
Markus Sauermann
152572ac38 Fix global transform validity for Node2D and Control
Set global transform to invalid when changing transform
2023-08-08 12:22:55 +02:00
Haoyu Qiu
7f70ac56a0 Fix Button text when overrun is not trim nothing 2023-08-08 15:08:28 +08:00
Hugo Locurcio
49b6067aba Use StringName consistently to refer to the Master audio bus name 2023-08-07 18:06:17 +02:00
Haoyu Qiu
5dd854513e Fix OptionButton min size when fit longest item is enabled 2023-08-07 17:25:10 +08:00
Hugo Locurcio
e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
Danil Alexeev
5fb975e4a5
GUI: Fix Tree performance regression by using cache 2023-08-04 16:11:26 +03:00
Rémi Verschelde
4c70849b3b
Merge pull request #80168 from akien-mga/extension-compat
Fix or workaround recent extension API compatibility issues
2023-08-03 15:12:38 +02:00
Rémi Verschelde
ae8f1015e0
Merge pull request #79064 from MewPurPur/rename-button-pressed-THIS-IS-NOT-A-COMPAT-BREAK
Rename `button_pressed` default signal binding to avoid shadowing
2023-08-03 14:46:39 +02:00
Rémi Verschelde
858e8748e8
Fix or workaround recent extension API compatibility issues
- Add compatibility methods for `RenderingDevice::shader_create_from_bytecode`
  and `CodeEdit::get_text_for_symbol_loopup`.
- Silence errors which now have compatibility methods.
- Acknowledge GraphEdit/GraphNode compat breakage, intended and WIP.
2023-08-03 12:07:21 +02:00
Mounir Tohami
2cec27a3f1 Add shortcut handling to OptionButton 2023-08-03 08:38:20 +00:00
Rémi Verschelde
3e958cfa8d
Merge pull request #79705 from 398utubzyt/gui/snap-charfx-fix
GUI: Snap CharFX offset to nearest pixel when setting is enabled
2023-08-02 12:18:46 +02:00
Rémi Verschelde
d8cbb6d645
Merge pull request #79563 from danny88881/drag-and-drop-text-setting
Add drag'n'drop text option for `LineEdit` and `RichTextLabel`
2023-08-02 12:17:56 +02:00
Rémi Verschelde
2a9aaae8a5
Merge pull request #79293 from ItsNL/add-accept-dialog-close-on-unfocused
Check `FLAG_POPUP` to close an AcceptDialog when parent is focused
2023-08-02 12:17:06 +02:00
Rémi Verschelde
b156e24216
Merge pull request #77280 from Rindbee/fix-unnecessary-break-in-Label
Fix unnecessary break when calculating the height of visible lines
2023-08-02 12:15:24 +02:00
Yuri Sizov
88068a0374 Merge pull request #79946 from Ymanawat/propagate-check-79942
Fix Tree check propagation not unchecking parent items
2023-08-01 20:03:43 +02:00
Markus Sauermann
1c3c17c608 Refactor mouse_entered and mouse_exited notifications
The previous implementation for signals mouse_entered and mouse_exited
had shortcomings that relate to focused windows and pressed mouse buttons.
For example a Control can be hovered by mouse, even if it is occluded by
an embedded window.

This patch changes the behavior, so that Control and Viewport send
their mouse-enter/exit-notifications based solely on mouse position,
visible area, and input restrictions and not on which window has
focus or which mouse buttons are pressed. This implicitly also
changes when the mouse_entered and mouse_exited signals are sent.

This functionality can not be implemented as a part of
Viewport::_gui_input_event, because of its interplay with Windows and
because Viewport::_gui_input_event is based on input and not on
visibility.
2023-08-01 13:28:49 +02:00
Yogendra Manawat
f0362cd37b Fixed Tree Selection Bug 2023-07-29 00:30:39 +05:30
Yuri Sizov
7305318a88 Merge pull request #79913 from bruvzg/lbl_min_h_line
[Label] Remove extra line spacing from Label minimum size calculations.
2023-07-26 18:40:42 +02:00
Yuri Sizov
d50c52652f Merge pull request #79805 from kumikumi/fix-subviewport-cursor
Prevent SubViewportContainer overriding Subviewport's cursor with its own cursor
2023-07-26 18:40:30 +02:00
Yuri Sizov
67873d0d5d Merge pull request #79248 from Sauermann/fix-svc-focus-propagation
Make `SubViewportContainer` event propagation aware of focused Control
2023-07-26 18:39:57 +02:00
bruvzg
16d7e0bf98
[Label] Remove extra line spacing from Label minimum size calculations. 2023-07-26 08:15:53 +03:00
Yuri Sizov
d06779cc07 Merge pull request #79782 from guemax/remove-spaces-from-input-of-html-color-in-color-picker
Remove spaces from input of HTML color in color picker
2023-07-24 19:33:34 +02:00
Yuri Sizov
fb2c3ae8f7 Merge pull request #79308 from Geometror/refactor-graphedit
Clean up/refactor GraphEdit
2023-07-24 19:32:33 +02:00
Yuri Sizov
2bd904e3db Merge pull request #73196 from Vilcrow/fix-lookup-symbol
Fix jumping to function definition using `Ctrl+LMB` or the "Lookup Symbol" button
2023-07-24 19:32:12 +02:00
Hendrik Brucker
a38fd09669 Clean up/refactor GraphEdit 2023-07-24 18:37:23 +02:00
Yuri Sizov
91258e52be
Merge pull request #79307 from Geometror/remove-graph-node-comment
Remove GraphNode's comment property and related functionality
2023-07-24 16:56:41 +02:00
Mikko Ankkala
96b26574b9 Don't override SubViewport's cursor with SubViewportContainer's cursor
Add a warning for having a non-default value of `mouse_default_cursor_shape` in SubViewportContainer

Add test
2023-07-23 22:27:55 +03:00
guemax
d934d00828
Remove spaces from input of HTML color in color picker
Fixes #79338
2023-07-22 12:11:28 +02:00
Yuri Sizov
e38dc58199 Merge pull request #76759 from Nidjo123/master
Fix RichTextLabel character line and paragraph index getters
2023-07-21 17:54:11 +02:00
398utubzyt
aac2dfc1b4 Snap CharFX transforms to pixels when enabled 2023-07-20 06:01:08 -07:00
unknown
cfe98c57b9 Add drag and drop option for line edit and rich text label 2023-07-19 22:18:34 -04:00
NL
a77d8b3eb5 Check FLAG_POPUP to close an AcceptDialog when parent is focused 2023-07-19 16:06:02 +02:00
Yuri Sizov
e8aa8c17d2
Merge pull request #79574 from bruvzg/win_nat_d
[Windows] Implement native file selection dialog support.
2023-07-18 19:04:40 +02:00
bruvzg
d3ca91ad6a [Windows] Implement native file selection dialog support. 2023-07-18 17:23:58 +03:00
Markus Sauermann
e6386bc843 Make SubViewportContainer event propagation aware of focused Control
Propagate `InputEvents` without position either
- during the Input-stage, when it has focus or
- during the Unhandled-Input-stage, otherwise

This makes sure that Gui-Input happens in the correct order.

Move "Unhandled key Input" handling before "Unhandled Input" handling,
so that Unicode input with Alt / Ctrl modifiers are sent to the nodes
in the correct order.

Change the default focus mode of `SubViewportContainer` from
`FOCUS_NONE` to `FOCUS_CLICK`, to automatically remove focus from
other `Control`-nodes, when clicking inside a `SubViewport`.
2023-07-17 22:38:35 +02:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Yuri Sizov
5954c58ee1
Merge pull request #79494 from timothyqiu/no-longer
Update OptionButton min size when disabling Fit to Longest Item
2023-07-17 19:12:03 +02:00
Hendrik Brucker
a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
Haoyu Qiu
5384c1a579 Update OptionButton min size when disabling Fit to Longest Item 2023-07-15 11:10:23 +08:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov
7b0f8d76ad Merge pull request #79455 from timothyqiu/button-clip-internal
Fix Button clipping when internal margins exist
2023-07-14 18:50:15 +02:00
Yuri Sizov
5c56206e6c Merge pull request #79011 from bruvzg/pop_all
[RTL] Add `pop_all`, `push_context` and `pop_context` methods, and use it for `print_rich` to avoid unclosed tags.
2023-07-14 18:49:21 +02:00
Haoyu Qiu
71430cdd48 Fix Button clipping when internal margins exist 2023-07-14 13:59:16 +08:00
bruvzg
4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps. 2023-07-12 22:36:24 +03:00
Yuri Sizov
f49169d6d6 Merge pull request #79037 from dinoplane/move-cached-values
Move cached values into `color_mode.cpp` and apply fixes to OKHSL
2023-07-12 21:02:47 +02:00
S.V.I. Vilcrow
56e2fad319 Fixed the jumping to function definition using 'Ctrl+LMB' and the 'Lookup Symbol' button. 2023-07-12 21:30:35 +03:00
Yuri Sizov
5058831cf6 Merge pull request #78100 from KoBeWi/commit_necromancy
Use S, V in hue bar of ColorPicker
2023-07-12 17:15:03 +02:00
Yuri Sizov
1978b7c717 Merge pull request #77858 from kinami-imai/expose_videostreamplayer_video_length
Expose VideoStreamPlayer video length
2023-07-12 17:14:44 +02:00
Yuri Sizov
216aa450a6 Merge pull request #77857 from kinami-imai/add_loop_property_to_videostreamplayer
Add `loop` property to VideoStreamPlayer
2023-07-12 17:14:38 +02:00