Commit Graph

5026 Commits

Author SHA1 Message Date
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
Yuri Sizov 5167bed9f0 Merge pull request #79053 from Daylily-Zeleen/daylily-zeleen/rich_text_label_missing_default_method_value
Bind missing default value for `RichTextLabel` methods.
2023-07-12 15:09:41 +02:00
Yuri Sizov 509645b038 Merge pull request #78777 from YeldhamDev/tab_hover_fix
Fix delay on tab resizing when (un)hovering tabs
2023-07-12 15:09:31 +02:00
Yuri Sizov 5dff3c4484 Merge pull request #78538 from Sauermann/fix-code-simplifications
Remove unnecessary value assignments throughout the codebase
2023-07-12 15:09:26 +02:00
Yuri Sizov 631d51c46c Merge pull request #78476 from Sauermann/fix-embedded-safe-area
Embedded Popups store their safe_rect in their embedder
2023-07-12 15:09:20 +02:00
Yuri Sizov b54d6cf466 Merge pull request #78393 from AThousandShips/tree_tooltip
Add ability to set the tooltip text of a `TreeItem` button
2023-07-12 15:09:09 +02:00
Yuri Sizov 7550b02dfc Merge pull request #77117 from Calinou/richtextlabel-add-pulse-effect
Add a `[pulse]` built-in effect to RichTextLabel
2023-07-12 15:08:43 +02:00
Yuri Sizov b4a11294e6 Merge pull request #75460 from joao-pedro-braz/add_new_item_stylebox_to_the_tree_control
Add a new "inner_item_margin" Theme constant to the Tree control
2023-07-12 15:08:36 +02:00
kleonc 30a9c90785 Hide/show AcceptDialog's button spacer on button visibility changed 2023-07-11 12:18:46 +02:00
Daylily-Zeleen 4029a05fae Add missing default value for RichTextLabel method 2023-07-11 11:17:45 +08:00
Hendrik Brucker 662d8c76b3 Remove GraphNode's comment property and related functionality
(this functionality will be reintroduced in a new and more flexible way)
2023-07-11 02:05:25 +02:00
Yuri Sizov bbb11004e7
Merge pull request #78776 from NiskashY/fix-disabled-slider-highlighting
Fix disabled slider highlighting
2023-07-10 12:32:39 +02:00
bruvzg 5216a08617
[RTL] Add `pop_all`, `push_context` and `pop_context` methods, and use it for `print_rich` to avoid unclosed tags. 2023-07-09 19:53:15 +03:00
Rémi Verschelde 1017077b7f
Merge pull request #79211 from HolonProduction/file-dialog-button-update
Update FileDialog button activity when file_mode is changed.
2023-07-09 12:24:35 +02:00
Rémi Verschelde 6ab727edc2
Merge pull request #78835 from Dragoncraft89/patch-1
Fix invalid minimum size for translated messages in option button
2023-07-08 18:19:25 +02:00
Rémi Verschelde a12d9df9e1
Merge pull request #71024 from marzecdawid/better-cursor-behaviour-in-tree-with-ctrl
Fix cursor behavior for multiselect in Tree while holding CTRL
2023-07-08 18:14:48 +02:00
HolonProduction cfac7c9a9a Update FileDialog button activity when file_mode is changed. 2023-07-08 18:10:57 +02:00
NiskashY 4394936392 Fix disabled slider highlighting 2023-07-08 00:42:57 +03:00
Markus Sauermann bfa7497c1b Revert "Fix focusloss of non-exclusive `AcceptDialog` with `close_on_escape`"
This reverts commit 7f547fcf09.
2023-07-06 01:04:16 +02:00
MewPurPur 3d128f67a4 Rename button_pressed bindings to avoid shadowing 2023-07-05 18:38:18 +02:00
dinoplane 3f02b0cfde Moved HSV and OKHSL caching logic into color_mode 2023-07-05 07:15:58 -07:00
Rémi Verschelde 1b38e9258b
Merge pull request #78975 from YuriSizov/rtl-fix-refactoring-typo
Prevent crash when processing line caches in `RichTextLabel`
2023-07-03 15:26:31 +02:00
Yuri Sizov 40f2227a65 Prevent crash when processing line caches in RichTextLabel 2023-07-03 13:33:51 +02:00
bruvzg 21365606d3
[RTL] Fix multithreaded scrollbar visibility update 2. 2023-07-03 10:34:42 +03:00
Florian Kothmeier c33748d954 Fix invalid minimum size for translated messages in option button 2023-06-29 15:01:36 +02:00
bruvzg ec97c7c1d9
[RTL] Fix multithreaded scrollbar visibility update. 2023-06-29 15:37:54 +03:00
Michael Alexsander 7ffad29df8
Fix delay on tab resizing when (un)hovering tabs 2023-06-27 20:33:13 -03:00
Hendrik Brucker 1e8ca95cdc [GraphEdit] Fix port hotzones at zoom levels other than 100% 2023-06-25 17:13:53 +02:00
Rémi Verschelde f24f615b04
Merge pull request #78556 from QbieShay/qbe/hotzonehotfix
Fix regression in visual nodes hotzones
2023-06-23 08:47:56 +02:00
QbieShay 237e3c6099 Fix regression in visual nodes hotzones 2023-06-22 19:03:17 +02:00
dinoplane e11e9d2b9a Use cached saturation for color picker when value is 0 2023-06-21 15:18:20 -07:00
Markus Sauermann 890fdd56df Code simplifications
CPPcheck found most of them.

no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects

variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler

same if clause:
- ItemList

clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00
Dawid Marzec 9abbdea95e Fix cursor behaviour in Tree while holding CTRL 2023-06-21 20:44:29 +02:00
MewPurPur 6e182d41f4 Hide breakpoint indicator when mouse leaves CodeEdit 2023-06-21 11:30:40 +02:00
Markus Sauermann a12627765f Embedded Popups store their safe_rect in their embedder
Storing it in the DisplayServer didn't make sense in this case,
because the embedded window is unknown to the DisplayServer.
2023-06-20 18:06:26 +02:00
kobewi 9c3afcc898 Fix ColorPicker margin theme property 2023-06-20 12:47:52 +02:00
Rémi Verschelde 94a4da9de6
Merge pull request #78236 from AThousandShips/nine_tex_fix
Make `NinePatchRect` listen to texture changes
2023-06-20 09:21:15 +02:00
Rémi Verschelde 0653f7a5b0
Merge pull request #77722 from ApplecrispEric/drag-drop-autocomplete
Cancel autocomplete after initiating drag
2023-06-20 09:20:52 +02:00
Ninni Pipping 4492f7ff97 Make `NinePatchRect` listen to texture changes 2023-06-20 08:40:35 +02:00
Eric Brown 42bc437615 Changed autocomplete to cancel when the user begins a drag 2023-06-19 15:44:13 -07:00
Ninni Pipping 75b355ee99 Add ability to set the tooltip text of a `TreeItem` button 2023-06-18 11:14:32 +02:00
Markus Sauermann 7f547fcf09 Fix focusloss of non-exclusive `AcceptDialog` with `close_on_escape`
Fix, that a non-exclusive AcceptDialog with `close_on_escape == true`
gets closed, when the parent window of the parent window receives focus.

There is no need to rely on the focus of the parent visible window.
Instead check if the AcceptDialog loses focus.
2023-06-17 11:05:36 +02:00
Rémi Verschelde c65aba7aff
Merge pull request #78321 from ajreckof/fix-wrong-alphabetical-order-in-autocompletion-sorting
Fix wrong order in autocompletion sorting with empty string to complete.
2023-06-16 16:52:27 +02:00
ajreckof e9a2060b27 Fix wrong alphabetical order in autocompletion sorting.
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-06-16 14:04:07 +02:00
Markus Sauermann 390aa2a565 Fix ButtonGroup unpressing
It was possible to unpress a button group that had `allow_unpress = false`
using shortcuts.
Adjust `BaseButton::shortcut_input` to use the same logic as
`BaseButton::on_action_event`.
2023-06-16 00:15:37 +02:00
Rémi Verschelde a48285db7b
Merge pull request #78269 from Sauermann/fix-menubutton-popup-position
Fix position and size of MenuButton popup
2023-06-15 16:08:40 +02:00
Rémi Verschelde 95a9089fdd
Merge pull request #74813 from bruvzg/text_edit_autowrap
[TextEdit] Expose all auto-wrap modes.
2023-06-15 16:08:21 +02:00
Markus Sauermann d41665eb5e Fix position and size of MenuButton popup
Use the same logic as in OptionButton::show_popup
2023-06-15 15:29:50 +02:00
Rémi Verschelde 6587a81910
Merge pull request #78268 from Sauermann/fix-remove-unused-variable
Remove unused variable `PopupMenu::parent_rect`
2023-06-15 15:26:36 +02:00
Markus Sauermann 840e2b14f3 Remove unused variable `PopupMenu::parent_rect`
This private variable is not read anywhere.
Remove it and all places, where it is set.
2023-06-15 12:08:47 +02:00
bruvzg cda9cd7587
[RTL] Fix multithreaded resizing. 2023-06-14 23:15:16 +03:00
bruvzg 38b8e23206
[RTL] Fix parsing tags with multiple features. 2023-06-13 15:24:30 +03:00
bruvzg 75e6ec8874
[TextEdit] Expose all auto-wrap modes. 2023-06-13 10:28:27 +03:00
bruvzg 488626701d
Fix editor log flicker. 2023-06-12 20:15:23 +03:00
Rémi Verschelde fa536571a4
Merge pull request #77667 from RedworkDE/text-edit-selection-crash
Fix crash when selecting lines in text edit
2023-06-12 17:10:04 +02:00
Rémi Verschelde b02dd1c2a3
Merge pull request #78092 from KoBeWi/must_protecc_selection
Preserve selection when focusing SpinBox
2023-06-12 14:14:44 +02:00
Rémi Verschelde 1b5620d2a9
Merge pull request #78009 from YuriSizov/gui-gently-massage-minimal-size
Ensure that controls update all their sizing information when required
2023-06-12 14:14:20 +02:00
Rémi Verschelde 9fdce6635b
Merge pull request #77880 from AThousandShips/get_node_fix
Use `get_node_or_null` when null checks are present
2023-06-12 11:39:54 +02:00
dinoplane a374c7d519
Use cached hue for color picker when saturation is 0
Fixes #76968.
2023-06-12 10:59:33 +02:00
kobewi e22319ced3 Use S, V in hue bar of ColorPicker 2023-06-11 01:37:29 +02:00
kobewi 968c5f6247 Preserve selection when focusing SpinBox 2023-06-10 21:29:24 +02:00
Ninni Pipping 0c16082e1e Use `get_node_or_null` when null checks are present
Avoids duplicate or unnecessary errors
2023-06-10 13:22:56 +02:00
Rémi Verschelde 37d1dfef9d
Merge pull request #78000 from RandomShaper/let_users_mess_up
Let user scripts disable thread safety checks
2023-06-10 12:12:13 +02:00
Ninni Pipping dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Pedro J. Estébanez 2b001db76e Let user scripts disable thread safety checks 2023-06-09 18:24:01 +02:00
Rémi Verschelde 4d05edd75d
Merge pull request #77901 from bruvzg/rtl_canvas
Fix incorrect node placement in RTL layout when parent is non-Control canvas item.
2023-06-09 12:15:32 +02:00
bruvzg b23f259e67
[Label] Add support for tab stops. 2023-06-09 12:59:37 +03:00
Rémi Verschelde 577ab3c565
Merge pull request #75746 from ajreckof/order_autocomplete
Sort code autocompletion with rules
2023-06-08 18:14:31 +02:00
Yuri Sizov ccaab0e590 Ensure that controls update all their sizing information when required 2023-06-08 17:41:03 +02:00
Rémi Verschelde bd62d8ee10
Merge pull request #77802 from dalexeev/tree-add-autowrap-mode
Tree: Add ability to configure text autowrap mode for individual cells
2023-06-07 11:02:02 +02:00
Yuri Sizov df26066ce9 Revert "Make sure that `data.last_minimum_size` is consistent with `get_combined_minimum_size()` at the same time"
This reverts commit 594852caf1.
2023-06-06 20:55:03 +02:00
Rémi Verschelde 46c4068821
Merge pull request #77170 from lawnjelly/scu_build_master
Add support for single compilation unit builds
2023-06-06 17:58:09 +02:00
lawnjelly b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
Yuri Sizov b99a02387d
Merge pull request #77856 from kinami-imai/videostreamplayer_seamless_loop
Fix VideoStreamPlayer seamless loop
2023-06-06 12:36:48 +02:00
bruvzg 66ea0006e0
Fix incorrect node placement in RTL layout when parent is non-Control canvas item. 2023-06-06 11:49:05 +03:00
今井きなみ 15719e278b Add loop property to VideoStreamPlayer 2023-06-05 21:37:11 +02:00
今井きなみ e3da9176a0 Expose VideoStreamPlayer video length 2023-06-05 21:30:38 +02:00
今井きなみ 270bc93b95 Fix VideoStreamPlayer seamless loop 2023-06-05 21:17:48 +02:00
Hugo Locurcio 70e6c3cbb0
Add a `[pulse]` built-in effect to RichTextLabel
In games, blinking text is one of the more frequently used animations.
It can be (sparingly) used to bring attention to important messages
in a chat log or inventory tooltip, for instance.

This effect accepts the following options:

- `freq`: How fast text blinks (higher is faster).
- `color`: The target color multiplier for blinking.
  The default mostly fades out text, but not entirely (for better accessibility).
- `ease`: The easing function exponent to use.
  Negative values provide in-out easing, which is why `-2.0` is the default.
2023-06-05 18:45:00 +02:00
Rémi Verschelde e7d2e49688
Merge pull request #77765 from Sauermann/fix-acceptdialog-event-handled
Fix that button presses don't set event as handled in AcceptDialog
2023-06-05 18:27:33 +02:00
Rémi Verschelde f00c971b81
Merge pull request #63168 from Levrault/master
Fix: InputEventJoypadMotion should trigger only once on a vslider
2023-06-05 18:04:39 +02:00
Luc-Frédéric Langis 166ca77f20 feat(gamepad): improve gamepad behavior with slider and popup_menu 2023-06-05 10:20:46 -04:00
ajreckof 0c4d37e682 Prevent disapearance of mouse when SpinBox is hidden while doing a drag modification. 2023-06-03 14:50:03 +02:00
Danil Alexeev 010829f962
Tree: Add ability to configure text autowrap mode for individual cells 2023-06-03 15:17:35 +03:00
Aaron Franke 8b42297d7c
Make `Viewport::gui_get_focus_owner` const 2023-06-02 12:36:10 -05:00
Aaron Franke d3e4db4a7b
Fix crash when removing SpinBox during text submit 2023-06-02 10:29:22 -05:00
Yuri Sizov ca1b4eb225
Merge pull request #77651 from Rindbee/fix-update-minimum-size
Make sure that `data.last_minimum_size` is consistent with `get_combined_minimum_size()` at the same time
2023-06-02 14:02:04 +02:00
Yuri Sizov 6a1d3198d1
Merge pull request #76854 from CapitaineCookie/fix-change-type
Fix crash when changing node type from PopupMenu to ItemList
2023-06-02 13:03:55 +02:00
João Pedro Braz 670b7bec9a Add the "inner_item_margin" Theme constant to the Tree control
This PR adds the "inner_item_margin" Theme constant to the Tree Control.
It behaves like a horizontal padding (in CSS), but only in the active
writing direction (So on LTR it'll apply a left padding and on RTL right
padding).

The Editor Theme has been updated to make use of this and a result items
in Trees and ItemLists no longer "hugs" their border, expressing a proper
spacing instead.
2023-06-02 11:32:40 +02:00
Markus Sauermann dc434ef849 Fix that button presses don't set event as handled in AcceptDialog 2023-06-02 11:06:41 +02:00
Rindbee 594852caf1 Make sure that `data.last_minimum_size` is consistent with `get_combined_minimum_size()` at the same time
Move the code for switching `data.minimum_size_valid` in `Control::update_minimum_size()`
to `Control::_update_minimum_size()`, make sure to switch `data.minimum_size_valid` to
`false` only before updating `data.last_minimum_size` , so that it will remain consistent
with `get_combined_minimum_size()`.
2023-06-01 19:02:42 +08:00
Yuri Sizov 3ed7bdc26f Implement `TreeItem.add_child` 2023-05-31 11:36:23 +02:00
RedworkDE 6b7008b73b Fix crash when selecting lines in text edit 2023-05-30 20:32:44 +02:00
Yuri Sizov 6dd5ccdedd
Merge pull request #66625 from Sauermann/fix-move-child-update
Create a virtual mouse move event after moving child nodes in tree
2023-05-30 15:57:21 +02:00
Rémi Verschelde df30c9d6e7
Merge pull request #77507 from Igorrreha/fix/line-edit-expanding-to-text
Fix LineEdit expanding to text length
2023-05-30 09:32:30 +02:00
Markus Sauermann ce10ca6979 Create a virtual mouse move event after moving child nodes
This updates mouse cursor and mouse-over-states without the need
for additional mouse movements.
2023-05-29 22:46:19 +02:00
Yuri Sizov f3983b59f4
Merge pull request #77159 from AThousandShips/texture_button_fix
Make `TextureButton` and `Button` update on texture change
2023-05-29 17:31:32 +02:00
Yuri Sizov ee7b26403b
Merge pull request #77433 from YuriSizov/editor-reparented-popups-fix
Fix auto-reparenting logic in the `ProgressDialog`
2023-05-29 17:30:46 +02:00
Yuri Sizov 4c5c7cbb58 Fix auto-reparenting logic in the `ProgressDialog`
* Make sure `Popup` signals are disconnected when unparented.
* Remove a fail condition from `Window::is_embedded` when
not in tree.
2023-05-29 17:02:16 +02:00
Ninni Pipping d4ac3b6ded Make `TextureButton` and `Button` update on texture change 2023-05-29 16:40:56 +02:00
bruvzg be42ff0ef4
Fix MenuBar item order in RTL layout. 2023-05-29 17:03:49 +03: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
Ninni Pipping 44a5b710f5 Unify item indexing in `PopupMenu` 2023-05-24 15:58:50 +02:00
Rémi Verschelde 5562100d33
Merge pull request #77411 from saki7/control-get_drag_data-const
Expose `Control::_get_drag_data()` as non-const function
2023-05-24 08:49:57 +02:00
Rémi Verschelde a1058313a9
Merge pull request #75622 from joao-pedro-braz/parse_string_paths_with_quotes_correctly_bb_code
Make sure to normalize subtags when parsing BBCode
2023-05-24 08:45:35 +02:00
Rémi Verschelde 3512d18884
Merge pull request #71040 from marzecdawid/fix-input-lock-in-tree
Remove up/down input for text search in Tree
2023-05-24 08:43:27 +02:00
Rémi Verschelde adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Pedro J. Estébanez e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +02:00
João Pedro Braz 8b6e57256f Make sure to normalize subtags when parsing BBCode
This PR makes it so that all subtags are normalized before usage.
Normalization means removing any leading and/or trailing quotation marks
from any given subtag.

Fixes: https://github.com/godotengine/godot/issues/75501
2023-05-23 18:55:06 -03:00
Nana Sakisaka 3dbd47ecb6 Expose Control::_get_drag_data() as non-const function 2023-05-24 06:09:45 +09:00
Dawid Marzec 9fe1d6aa27 Remove up/down input for text search in Tree 2023-05-23 21:41:10 +02:00
Rémi Verschelde 8f9e0672fb
Merge pull request #77297 from puchik/popup-close-key-mapping
Use defined key mapping for closing popups and dialogs
2023-05-23 19:14:31 +02:00
ajreckof 006e899bb3 sort code completions with rules
Fixups

Add levenshtein distance for comparisons, remove kind sort order, try to improve as many different use cases as possible

Trying again to improve code completion

Sort code autocompletion options by similarity based on input

To make it really brief, uses a combination `String.similiary`, the category system introduced in a previous PR, and some filtering to yield more predictable results, instead of scattering every completion option at seemingly random.

It also gives much higher priority to strings that contain the base in full, closer to the beginning or are perfect matches.

Also moves CodeCompletionOptionCompare to code_edit.cpp

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
Co-Authored-By: Eric M <41730826+EricEzaM@users.noreply.github.com>
2023-05-23 05:12:34 +02:00
Rémi Verschelde a30a55dd1f
Merge pull request #77166 from bruvzg/item_list_rtl
[ItemList] Fix item text positions in RTL mode.
2023-05-22 13:48:54 +02:00
Rémi Verschelde 0f0f233d37
Merge pull request #76751 from anvilfolk/swatch
Fix adding colors to swatches not updating in previous ColorPickers.
2023-05-22 13:48:43 +02:00
Rémi Verschelde 405fe7aa1a
Merge pull request #76401 from bruvzg/rtl_tab_stops
[RichTextLabel] Add support for tab stops.
2023-05-22 13:48:35 +02:00
Rémi Verschelde 5ac6e9232b
Merge pull request #74962 from KoBeWi/pick_outside_the_box
Improve color picking
2023-05-22 13:48:26 +02:00
ocean (they/them) a132ed0ca4 Fix adding colors to swatches not updating in previous ColorPickers.
ColorPicker was only updating colors if its swatches were empty. It
should always update from the cache in case some other ColorPicker
updated the swatch cache.
2023-05-21 17:50:14 -04:00
Arman Elgudzhyan 8ab2cf3d2d Use defined key mapping for closing popups and dialogs
As opposed to hardcoding the escape key. Also removed such hardcoding in a few other places as well as a hardcoded enter key in one of the affected input fields.
2023-05-20 17:39:59 -07:00
bruvzg fb78889904
[RichTextLabel] Add support for tab stops. 2023-05-20 22:58:51 +03:00
bruvzg 343c35e7b0
[ItemList] Fix item text positions in RTL mode. 2023-05-20 22:58:02 +03:00
Rindbee e5bebbc9ff Fix unnecessary break when calculating the height of visible lines
This break causes the minsize to be smaller than expected, and then
the size keeps increasing by one line to cover all visible lines.
This can cause performance issues when there are many visible lines.
2023-05-20 23:04:20 +08:00
Yuri Sizov 605e25656f
Merge pull request #77242 from novalis/slider-remove-active
Stop dragging when `Slider` changes editability
2023-05-19 17:17:13 +02:00
David Turner 7d6b44c5a4 Stop dragging when a slider changes editability 2023-05-19 10:20:42 -04:00
kobewi b76ddeda45 Improve color picking 2023-05-19 14:21:43 +02:00
Rindbee 9bd1d3b5c8 Update size or size cache when toggling `expand_icon` in `Button`
When the `expand_icon` is switched, the size cache can be updated to
solve the issue that the cache cannot be updated when the `OptionButton`
is enabled with `fit_to_longest_item`.
2023-05-17 06:06:25 +08:00
Rémi Verschelde d61827af05
Merge pull request #76605 from Rindbee/fix_get_visible_line_count
Fix calculation bug with `TextEdit::get_line_height()`
2023-05-16 10:59:52 +02:00
Rémi Verschelde 59c19a7172
Merge pull request #75250 from bruvzg/lbl_rtl_jst_flags
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification.
2023-05-16 10:48:45 +02:00
Rémi Verschelde 8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
bruvzg 9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
Juan Linietsky 0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
Rindbee 391bce44b7 Fix calculation bug with `TextEdit::get_line_height()`
When `get_line_height()` is less than `1`, there is no visible text.
So limit the return value of `get_line_height()` to **not less** than
`1` for calculation.
2023-05-15 07:16:00 +08:00
Clement C 999a1fffec Fix crash when changing node type from PopMenu to ItemList 2023-05-12 23:29:52 +02:00
Ninni Pipping e5fdce7ca3 Add `get_item_rect` function to `ItemList` 2023-05-11 19:01:54 +02:00
Rémi Verschelde a745bf3802
Merge pull request #76826 from AThousandShips/item_list_fix
Minor bugfixes to `ItemList`
2023-05-11 11:47:33 +02:00
Rémi Verschelde 4020cc8acb
Merge pull request #76794 from Wiwip/inline-edit
Inline editor for the file system dock
2023-05-11 11:46:45 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
Wiwip b08a6084af Modifies the file system dock to use the inline editor instead of a dialog.
*Bugsquad edit:* Closes https://github.com/godotengine/godot-proposals/issues/4933
2023-05-10 18:49:35 -04:00
Rémi Verschelde 4d703280d5
Merge pull request #76532 from dalexeev/tree-fix-multiline-drawing
Fix multiline items drawing in `Tree`
2023-05-10 10:19:37 +02:00
Rémi Verschelde e0df3be64f
Merge pull request #70286 from the-sink/popupmenu_icon_modulate
Add icon_modulate set/get functionality to PopupMenu
2023-05-09 10:44:19 +02:00
Rémi Verschelde 72323a57d0
Merge pull request #57894 from Sauermann/fix-subviewport-1
Fix unrestricted mouse-event propagation to SubViewports for Physics-Picking
2023-05-09 10:43:49 +02:00
the-sink a85eef4367 Add icon_modulate functionality to PopupMenu 2023-05-08 15:25:00 -07:00
Rémi Verschelde 704560cc3c
Merge pull request #70868 from Maran23/4-x-scrollcontainer-custom-step-editor
Expose horizontal/vertical `custom_step` as editor property for the `ScrollContainer`
2023-05-08 13:52:18 +02:00
Rémi Verschelde 720869fe5e
Merge pull request #76809 from YeldhamDev/cursor_mania
Add more uses of appropriate cursors when resizing/moving some UI nodes
2023-05-08 12:21:04 +02:00
Rémi Verschelde eb6d6ab29f
Merge pull request #76658 from Paulb23/convert-indent-code-edit
Move convert_indent into CodeEdit
2023-05-08 12:20:37 +02:00
Rémi Verschelde 32fbba4bf6
Merge pull request #76472 from jmb462/multicarets_selection_popup
Fix right click in selection of additional caret
2023-05-08 12:20:25 +02:00
Rémi Verschelde eebb1d8eff
Merge pull request #74369 from Dragoncraft89/master
Implement vertical icon alignment for buttons
2023-05-08 12:20:11 +02:00
Rémi Verschelde e758164ba6
Merge pull request #72376 from MewPurPur/fix-color-button-popup
Fix popup position of color picker
2023-05-08 12:20:07 +02:00
Ninni Pipping fffa577b3b Minor bugfixes to `ItemList`
* Removed unused position code in `gui_input`
* Ensured `set_fixed_icon_size` updates cached size
2023-05-08 10:25:08 +02:00
Jean-Michel Bernard 5c06c030f2 Fix right click in selection of additional caret 2023-05-08 00:02:56 +02:00
Michael Alexsander 8118d0d2f5 Add more uses of appropriate cursors when resizing/moving some UI nodes 2023-05-07 11:14:57 -03:00
Paulb23 0b3fba45c6 Move convert_indent into CodeEdit 2023-05-07 13:08:37 +01:00
Nikola Bunjevac e2536d0643 Fix RichTextLabel character line and paragraph index getters 2023-05-05 21:10:27 +02:00
Florian Kothmeier 68b9fa71a0
Implement vertical icon alignment for buttons 2023-05-01 19:51:47 +02:00
Tefatika abd894daf7
Fixed error messages when setting all_tab_in_front of TabContainer
Some signal handlers weren't unregistered when removing the wrapped
child TabBar, which resulted in errors printed when the TabBar was
removed and added again when the flag was updated
2023-04-30 08:17:21 +02:00
Marius Hanl 29358daa4d Expose horizontal/vertical custom_step as editor property for the ScrollContainer 2023-04-29 23:56:59 +02:00
Danil Alexeev 865d6f5ed0
Fix multiline items drawing in `Tree` 2023-04-28 12:02:26 +03:00
Rémi Verschelde cedd3378f5
Merge pull request #69053 from KoBeWi/grabbercentrism
Add center_grabber theme property to Slider
2023-04-27 08:18:37 +02:00
Danil Alexeev 005937b576
Add support for multiline strings to `Tree` 2023-04-25 18:43:26 +03:00
Rémi Verschelde 6aac8af6f1
Merge pull request #69318 from Sauermann/fix-refresh-gui-events
Fix scene reload crash related to mouse cursor update
2023-04-25 15:36:26 +02:00
Rémi Verschelde ae7872fd02
Merge pull request #76199 from needleful/incremental_search_property
Add allow_search property to ItemList and Tree to control incremental search
2023-04-25 14:44:06 +02:00
Rémi Verschelde b5ddafcab2
Merge pull request #76374 from OverloadedOrama/more-tab-container-signals
Add missing `TabBar` signals to `TabContainer`
2023-04-24 16:48:01 +02:00
Rémi Verschelde 1f76ad0286
Merge pull request #76279 from TheSecondReal0/buttongroup-unpress
Add an option for ButtonGroups to be unpressed
2023-04-24 16:46:00 +02:00
Rémi Verschelde c0ee2b4968
Merge pull request #76145 from manueldun/usability-auto-indent
Fix auto-indentation in typed arrays, comments, and after colon
2023-04-24 16:45:35 +02:00
Rémi Verschelde dfee04ae2a
Merge pull request #74632 from davthedev/tabs-hover
Add theming support for hovered tabs
2023-04-24 16:42:38 +02:00
Emmanouil Papadeas 0a6a4969dc Add more signals to `TabContainer` that `TabBar` already has 2023-04-23 18:50:35 +03:00
Fredia Huya-Kouadio 7325ffdd46 Make tab's close button responsive to touch taps 2023-04-22 20:32:00 -07:00
kobewi 14cb9b5b26 Add center_grabber property to Slider 2023-04-22 17:53:17 +02:00
Rémi Verschelde 66d9a6acde
Merge pull request #75960 from ShadyChibinko/tab_metadata
Add tab Metadata to TabBar & TabContainer
2023-04-22 13:19:04 +02:00
TheSecondReal0 d829b43ab5 Add option for ButtonGroups to be unpressed
Add an option for ButtonGroups to be unpressed

Apply suggestions from code review

Co-Authored-By: Tomek <kobewi4e@gmail.com>
Co-Authored-By: Yuri Rubinsky <chaosus89@gmail.com>
Co-Authored-By: kleonc <9283098+kleonc@users.noreply.github.com>
2023-04-20 17:09:39 -06:00
Manuel Dun fa7e6ddb83 Fix auto-indentation in typed arrays, comments, and after colon
Now the editor won't add indentation when pressing enter, is
declaring typed variables and there is a colon in the comment

example:
var a:=0#:[press enter]
no indentation
2023-04-20 18:48:21 -04:00
David Giardi 9f1e18e64c Add theming support for hovered tabs
Tabs can now be styled differently when hovered by the mouse pointer.
2023-04-19 01:38:09 +02:00
David Giardi 142990d60a Add hovered item style to ItemList 2023-04-18 22:52:39 +02:00
needleful 9a968088db Add allow_search property to ItemList and Tree 2023-04-18 09:21:18 -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 +02:00
Yuri Sizov 4fed87320c Use Point2 consistently in Control methods
While Size2 and Point2 are just aliases,
which is why this doesn't fail compilation,
it's nice to have things consistent.
2023-04-13 15:26:50 +02:00
Rémi Verschelde 87b8eea9f6
Merge pull request #75904 from Calinou/colorpicker-constructor-round-values
Round values to 3 decimals in the ColorPicker constructor string
2023-04-13 09:54:18 +02:00
Rémi Verschelde 486988f717
Merge pull request #70834 from pattlebass/spinbox-doesnt-spin
Fix `Range`-derived nodes not redrawing after `set_value_no_signal`
2023-04-12 17:01:11 +02:00
pattlebass 9500f8e69a Fix Range-derived nodes not redrawing
When using set_value_no_signal(), Range-derived nodes wouldn't redraw.

Also added a dedicated method to SpinBox to update its text.
2023-04-12 14:53:12 +03:00
Rémi Verschelde cd03028915
Merge pull request #75977 from timothyqiu/invisible-item
Tree: Fix offset calculation when there are hidden items
2023-04-12 13:28:16 +02:00
Rémi Verschelde fb3e4e7967
Merge pull request #75975 from bruvzg/bidi_and_log_errors
Improve line BiDi handling, prevent crash on recursive log updates.
2023-04-12 13:28:12 +02:00
Haoyu Qiu a083c85521 Tree: Fix offset calculation when there are hidden items 2023-04-12 17:49:52 +08:00
bruvzg 282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-12 11:39:05 +03:00
bruvzg d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +03:00
Rémi Verschelde cbf7412e38
Merge pull request #75905 from Calinou/colorpicker-allow-named-colors
Allow entering named colors in ColorPicker's hex field
2023-04-11 19:40:48 +02:00
Rémi Verschelde 5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde 23a3e3984b
Merge pull request #74117 from Animtim/RichTextLabel_LocalizationFix
Add translation support to RichTextLabel
2023-04-11 19:40:07 +02:00
ShadyChibinko 9d2aecade0 Add Tab Metadata 2023-04-11 12:52:03 -04:00
Hugo Locurcio 4d8331ad1f
Round values to 3 decimals in the ColorPicker constructor string
This makes the whole string always fit within the LineEdit
(at least when using the default font).
2023-04-11 18:29:52 +02:00
Yuri Sizov ca808c88a4
Merge pull request #71747 from Koyper/rich_text_label_dropcap_selection_bug
Fixed RichTextLabel wrong selection offset after drop cap
2023-04-11 18:25:39 +02:00
Koyper 99376eebe0 Fixed RichTextLabel wrong selection offset after drop cap. 2023-04-11 10:09:26 -05:00
Timothée Giet e861ea5903 Add translation support to RichTextLabel
BUG: 34050
add translation support to RichTextLabel, and respect its Auto Translate setting
2023-04-11 14:17:59 +02:00
Yuri Sizov 6a65597569
Merge pull request #71742 from Koyper/rich_text_label_cell_padding_select_bug
Fixed RichTextLabel wrong selection offset in padded table cell.
2023-04-11 13:16:35 +02:00
Yuri Sizov 5e6c382a84
Merge pull request #71433 from marzecdawid/fix-TreeItem-button-rendered-under-selected
Fix TreeItem's button being rendered under "Selected" highlights
2023-04-11 13:15:09 +02:00
bruvzg a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
Hugo Locurcio 517dc3654a
Allow entering named colors in ColorPicker's hex field
This also makes the hex field wider to allow displaying 9-character
hex code (`#rrggbbaa`) in full, even when using a custom font.
2023-04-10 23:59:07 +02:00
Yuri Sizov b6cf8959e4
Merge pull request #72863 from JeffVenancius/enable_caret_drawing_when_not_editable
Add an option to show a TextEdit caret when editable is disabled
2023-04-10 12:48:18 +02:00
VolTer f587a21899 Code style improvements to text_edit and related 2023-04-08 19:33:56 +02:00
Juan Linietsky 37362202a4 Fix CI build error
Fixes potential use of uninitialized variable.
2023-04-08 18:21:08 +02:00
jeffVenancius 97c2133548 Add an option to show a TextEdit caret when editable is disabled
Update doc/classes/TextEdit.xml
2023-04-07 22:27:01 -03:00
Yuri Sizov a13635cdf8
Merge pull request #70901 from timothyqiu/tree-scroll-offset
Add scrollbar offset theme constants to Tree
2023-04-07 13:24:01 +02:00
Rémi Verschelde 92b7a9603a
Merge pull request #75701 from reduz/notification-moved-in-parent
Remove NOTIFICATION_MOVED_IN_PARENT
2023-04-06 14:35:04 +02:00
Juan Linietsky 104392ef4e Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
2023-04-06 13:57:13 +02:00
Haoyu Qiu 498d538578 Add scrollbar offset theme constants to Tree 2023-04-06 15:04:28 +08:00
Rémi Verschelde 5cf878c090
Merge pull request #75113 from m4gr3d/fix_2d_editor_dragging_main
Fix the issue preventing dragging in the 2D editor
2023-04-05 20:21:09 +02:00
Rémi Verschelde 4f4b5a2785
Merge pull request #73475 from YuriSizov/theme-is-busy-plz-come-back-later
Add a warning when accessing theme prematurely and fix surfaced issues
2023-04-05 12:03:15 +02:00
Johan Aires Rastén 9a60c4affb GraphNode ignore non-visible children for minimum size. 2023-04-05 09:05:52 +02:00
Yuri Sizov e401540264 Implement theme item cache in ColorPicker and friends 2023-04-03 18:01:11 +02:00
Yuri Sizov db2f99cdc0 Implement theme item cache in TextEdit and CodeEdit 2023-04-03 18:01:10 +02:00
Yuri Sizov 91ff34b5b5 Add a warning when trying to access theme items too early 2023-04-03 18:01:10 +02:00
Rémi Verschelde 5b775282b7
Merge pull request #74654 from YuriSizov/gui-cause-you-re-hi-and-you-re-lo-you-re-yes-and-you-re-no
Prevent crash in `ItemList` when checking for visible items
2023-04-03 17:08:44 +02:00
Rémi Verschelde 57e3651763
Merge pull request #72028 from kilojool/option_button_reselection
OptionButton: allow reselection of selected item
2023-04-03 17:06:36 +02:00
Rémi Verschelde 1db9de5406
Merge pull request #75597 from bruvzg/tx_block
[TextEdit] Fix block caret size at the end of the line.
2023-04-03 16:06:02 +02:00
Rémi Verschelde f8e0880623
Merge pull request #75595 from Geometror/fix-graphedit-rect-scaling
Fix several GraphEdit operations at zoom levels other than 100%
2023-04-03 16:05:38 +02:00
Rémi Verschelde a9855a3a4c
Merge pull request #75494 from MewPurPur/line-edit-get-selected-text
Implement LineEdit.get_selected_text()
2023-04-03 16:03:58 +02:00
Rémi Verschelde 9c492204ca
Merge pull request #75340 from Barugon/tree_colunm_title_alignment
Implement column title alignment for `Tree`
2023-04-03 16:03:10 +02:00
Rémi Verschelde 420ea5c0ad
Merge pull request #73074 from M4rYu5/capslock-editor-completion-fix
Editor: Ignore CapsLock when pressed alone
2023-04-03 15:58:11 +02:00
bruvzg efe04af446
[TextEdit] Fix block caret size at the end of the line. 2023-04-02 20:53:13 +03:00
Rémi Verschelde d22e9effa2
Merge pull request #75532 from kleonc/texture-progress-bar-update-on-texture-changes
`TextureProgressBar` Update upon texture changes
2023-04-02 17:33:27 +02:00
Hendrik Brucker 49587fd6d9 Fix several GraphEdit operations at zoom levels other than 100% 2023-04-02 16:40:10 +02:00
kleonc cdc63214fe TextureProgressBar Update upon texture changes 2023-04-01 00:16:43 +02:00
Yuri Sizov 1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
VolTer 1856ceeb76 Implement LineEdit.get_selected_text() 2023-03-30 22:58:12 +02:00
Barugon c56ff437ae Implement column title alignment for `Tree` 2023-03-27 09:23:46 -07:00
Haoyu Qiu 5a5fd33e42 More i18n improvements
* Make placeholder in editor layout dialog translatable.
* Make messages in scene import settings dialog translatable.
* Mark theme override property categories for translation.
2023-03-27 22:24:01 +08:00
Yuri Sizov 61e4f91ea1
Merge pull request #75384 from timothyqiu/cultural-heritage
Auto translate popup menus of MenuButton and OptionButton
2023-03-27 15:54:21 +02:00
Yuri Sizov c0301b74a1
Merge pull request #71405 from marzecdawid/deselect-root-in-deselect_all
Fix `Tree::deselect_all` not deselecting root
2023-03-27 12:26:41 +02:00
Haoyu Qiu 150f89352b Auto translate popup menus of MenuButton and OptionButton
Currently, `auto_translate` property of a `MenuButton` or `OptionButton`
won't affect its popup menu. It's okay if you want to auto translate,
but requires extra setup if you don't.
2023-03-27 18:09:24 +08:00