Commit Graph

5074 Commits

Author SHA1 Message Date
qycyfjy 91894a2a5d Fixing iterator invalidation 2023-10-20 22:13:46 +08:00
Rémi Verschelde 68a183a2d9
Merge pull request #83626 from YuriSizov/control-less-is-more-as-in-less-excessive-notifications-is-more-performance
Add bulk change guards to successive theme overrides in Editor and GUI
2023-10-20 15:12:11 +02:00
Rémi Verschelde a434062e2c
Merge pull request #81724 from jsjtxietian/fix-line-edit-secret-char-hard-to-change
Make LineEdit secret character easier to change and enter
2023-10-20 15:07:29 +02:00
Yuri Sizov 215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
jsjtxietian 6950aab078 Make LineEdit secret character easier to change and enter
1. Allow values longer than 1 character in the property,
    but trim characters after the first one.
2. Allow empty strings, this acts like if a space was used as a secret character,
    so that an error isn't printed when you erase all characters in the property.
2023-10-19 21:32:38 +08:00
Rémi Verschelde 0f710e688c
Merge pull request #83517 from YuriSizov/for-NON-separator-items-add-some-padding-for-the-content
Fix incorrect offset of `PopupMenu` separator icons
2023-10-18 16:54:52 +02:00
Rémi Verschelde 680b59954b
Merge pull request #81638 from jsjtxietian/fix-spinBox-reset-text-when-redraw
Fix SpinBox will reset unsubmited text when redrawing
2023-10-18 16:54:32 +02:00
Rémi Verschelde 024172b4eb
Merge pull request #82409 from KoBeWi/3_in_1
Document, cleanup and fix some theme properties
2023-10-18 00:00:36 +02:00
Yuri Sizov ccb989569d Fix incorrect offset of `PopupMenu` separator icons 2023-10-17 20:38:35 +02:00
Rémi Verschelde 3e8dc9df0a
Merge pull request #83286 from bronsonholden/fix-text-edit-hscroll-jitter
Remove vertical scrollbar padding from line width calc
2023-10-17 16:12:58 +02:00
Rémi Verschelde 72b14b54a1
Merge pull request #73502 from Kurble/text-edit-scrolling-precision
Fix code editor scrolling experience on track pads
2023-10-16 12:58:57 +02:00
Wierdox 7b33ad354a Fix phantom tab right button. 2023-10-13 16:34:05 -07:00
Rémi Verschelde 74d7796dbd
Merge pull request #80916 from ajreckof/fix-deferred-mode-not-working-for-color-picker-sliders
Fix ColorPicker deferred mode not working for sliders.
2023-10-13 22:15:45 +02:00
Bronson Holden ed16df1807 Remove vertical scrollbar padding from line width calc
Visibility of the vertical scrollbar is already accounted for in
`_update_wrap_at_column` which in turn affects max line width of
the text area.
2023-10-13 10:50:01 -07:00
ajreckof 3160add2b0 Fix ColorPicker deferred mode not working for sliders. 2023-10-13 14:35:47 +02:00
Danil Alexeev 881fe67d94
Code Editor: Fix regression with using doc comments for code regions 2023-10-13 09:38:03 +03:00
Bram Buurlage 1cf6b2cc2e
Put cheaper condition first
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-10-12 12:27:35 +02:00
Rémi Verschelde 49cdd330be
Merge pull request #81034 from garychia/open_folder
FileDialog: Avoid selecting the first item automatically in Open Folder Mode
2023-10-10 22:49:16 +02:00
Rémi Verschelde 6f8b7e9895
Merge pull request #83065 from KoBeWi/tree_works_in_mysterious_ways
Allow clicking buttons of non-selectable TreeItems
2023-10-10 12:34:22 +02:00
Rémi Verschelde added7d154
Merge pull request #83062 from bruvzg/no_dup_es
Do not apply extra spacing twice.
2023-10-10 09:12:17 +02:00
kobewi 7fb0cf2bd9 Allow clicking buttons of non-selectable TreeItems 2023-10-09 22:41:36 +02:00
bruvzg 100565a0c9
Do not apply extra spacing twice. 2023-10-09 21:38:23 +03:00
Rémi Verschelde a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde 4f85375b17
Merge pull request #82970 from bruvzg/rtl_round
[RTL] Remove unnecessary glyph position rounding.
2023-10-09 15:35:32 +02:00
Rémi Verschelde c1fed53943
Merge pull request #80271 from Ymanawat/optionmenu-scroll-test
Fix scrolling on keyboard/controller input
2023-10-09 15:30:57 +02:00
Rémi Verschelde c6635b4640
Merge pull request #71519 from adamscott/fix-code-completion-home-end
Fix code completion override of home and end keys
2023-10-09 15:30:27 +02:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
jsjtxietian 61be3eafc0 Fix spinBox will reset text when redrawing 2023-10-08 20:03:08 +08:00
bruvzg 49595ca225
[RTL] Remove unnecessary glyph position rounding. 2023-10-08 12:38:06 +03:00
Adam Scott 25cbb682f5
Fix code completion override of home and end keys 2023-10-06 14:48:45 -04:00
kobewi 1fee40a189 Accept cancel event when unfocusing LineEdit 2023-10-06 16:00:56 +02:00
Rémi Verschelde 3075e4ef1d
Merge pull request #82811 from MewPurPur/more-line-edit-organization
Place LineEdit secret in its own section
2023-10-06 12:52:58 +02:00
kobewi 09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde aa554e8278
Merge pull request #82694 from BrianMacIntosh/master
"Whole Words" search can detect word boundaries inside the search term.
2023-10-05 10:08:58 +02:00
MewPurPur dc2e0aab6f Place LineEdit secret in its own section 2023-10-04 22:41:45 +03:00
Rémi Verschelde e8e79c9195
Merge pull request #82776 from MewPurPur/more-text-edit-organization
Organize TextEdit's inspector
2023-10-04 15:46:05 +02:00
Rémi Verschelde 4321806e46
Merge pull request #82743 from bruvzg/fd_no_editor
[File Dialog] Do not open native file dialogs in the edited scene.
2023-10-04 15:44:29 +02:00
Rémi Verschelde d5db0e5032
Merge pull request #81218 from bruvzg/_temp_fs
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-04 15:34:16 +02:00
MewPurPur 38210dbe27 Organize TextEdit's inspector 2023-10-04 13:24:29 +03:00
bruvzg d1aaa914f3
[macOS] Add `about_to_open` and `popup_hide` callback for the global menus, move part of logic to the PopupMenu to allow live menu modification. 2023-10-04 09:49:51 +03:00
bruvzg 2d9ba45e76
[File Dialog] Do not open native file dialogs in the edited scene. 2023-10-03 23:02:12 +03:00
bruvzg 43e4708dff
[Native File Dialogs] Improve filter list handling, add selected filter to the callback. 2023-10-03 19:26:16 +03:00
Rémi Verschelde b11309ddb6
Merge pull request #81633 from matorin57/code-completion-popup
Avoid resetting the code completion popup excessively
2023-10-03 17:20:49 +02:00
Rémi Verschelde 530e01b478
Merge pull request #80409 from bruvzg/est_title_size
[DisplayServer] Add method to estimate window title bar size.
2023-10-03 17:12:18 +02:00
Rémi Verschelde 9e8a93a5a9
Merge pull request #78762 from Sauermann/fix-svc-event-filter
Enable `InputEvent`-filtering in `SubViewportContainer`
2023-10-03 17:10:34 +02:00
bruvzg 72e2e47059
[DisplayServer] Add method to estimate window title bar size. 2023-10-03 16:13:52 +03:00
Brian MacIntosh 676627e1d1 "Whole Words" search can detect word boundaries inside the search term.
For example, searching for ".func" will now match in "a.func" even with Whole Words enabled.
2023-10-02 13:47:59 -07:00
Markus Sauermann 781cecdc23 Enable filtering `InputEvent`-sending in `SubViewportContainer`
Introduce an user overridable function, that allows filtering, if
an `InputEvent` should be sent to `SubViewport` children.
2023-10-02 19:51:49 +02:00
Rémi Verschelde 57a6813bb8
Merge pull request #81582 from YuriSizov/graph-toolbarniceness
Make `GraphEdit` toolbar more customizable
2023-10-02 15:18:42 +02:00
Rémi Verschelde 2d6cee48f6
Merge pull request #80555 from GrammAcc/fix-80507
AssetLib: Fix long plugin names breaking the UI
2023-10-02 15:18:38 +02:00
Yuri Sizov b07c664af9 Make `GraphEdit` toolbar more customizable
Also adds a semi-transparent background
to make the toolbar stand out in front of nodes.
2023-10-02 13:43:08 +02:00
Rémi Verschelde 1e819ae3aa
Merge pull request #82590 from YuriSizov/window-you-come-to-me-on-this-day-the-day-when-my-child-becomes-exclusive-with-a-transient-parent-to-ask-for-this
Add more context to some `Window` errors
2023-10-02 13:16:39 +02:00
Rémi Verschelde bc118b36ac
Merge pull request #82370 from YuriSizov/graphs-request-rename-close-delete-please
Rename close requests to delete requests in `GraphEdit`
2023-10-02 13:16:28 +02:00
Rémi Verschelde 0d034447b7
Merge pull request #81648 from 4d49/fix-tab-metadata
Remove the equality check for `TabBar.set_tab_metadata`
2023-10-02 13:16:23 +02:00
Rémi Verschelde 0c7ac25b47
Merge pull request #81174 from BlueCube3310/tree-range-fix
Fix TreeItem range slider not working properly
2023-10-02 13:16:03 +02:00
Rémi Verschelde e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
GrammAcc d63a88bef1 AssetLib: Fix long plugin names breaking the UI
The UI was extending past the screen width when loading a page diplaying
a plugin with an especially long title in the asset store plugin.

I implemented a new `EditorAssetLibraryItem::clamp_width` method that
checks that the title text is not longer than the column width minus
some padding and truncates it if it is.

I also noticed that the nav buttons for paginated results were causing the UI to extend past
the screen width on higher editor scales since they were hardcoded to
show ten page buttons if there were enough results. I modified the
pagination slightly to display a dynamic number of nav buttons based on
the editor scale in order to fix this other cause of the same problem.

I had to use the font of the `title`, which is a `LinkButton` in order
to determine the text width, so I added a public getter `get_button_font` to the `LinkButton` class.
2023-09-30 18:16:39 -05:00
Yuri Sizov 53172d9860 Add more context to some `Window` errors 2023-09-30 21:44:05 +02:00
Rémi Verschelde b97af40ac1
Merge pull request #82552 from bruvzg/fd_visible
[FileDialog] Make set_visible compatible with native dialogs.
2023-09-30 11:03:55 +02:00
Bram Buurlage a18f443846 Use Math::round() instead of round() for rounding the scroll position 2023-09-30 11:00:24 +02:00
Bram Buurlage 6ffa9b0635 Editor: fix code editor scrolling experience on track pads 2023-09-30 10:55:14 +02:00
bruvzg c52db6190c
[FileDialog] Make set_visible compatible with native dialogs. 2023-09-30 00:40:49 +03:00
Rémi Verschelde 7469b43392
Merge pull request #77804 from ajreckof/prevent-disapearance-of-mouse-when-SpinBox-is-hidden-while-doing-a-drag-modification
Prevent disappearance of mouse when SpinBox is hidden while dragging
2023-09-29 19:45:03 +02:00
Danil Alexeev aff767ef07
Fix expected argument count for `Callable` call errors 2023-09-29 20:00:10 +03:00
Yuri Sizov 4f0e2ea86e Merge pull request #80699 from aXu-AP/spin-box-comma-decimals
Allow comma as a decimal separator for SpinBox
2023-09-28 20:04:02 +02:00
Rémi Verschelde 048abcb2bb
Merge pull request #82384 from YeldhamDev/corner_cases_man_i_swear
Make hovered tabs be drawn with the unselected's width at minimum
2023-09-27 14:03:43 +02:00
kobewi cfb6d25d30 Document, cleanup and fix some theme properties 2023-09-27 00:06:15 +02:00
Michael Alexsander decae848a8
Make hovered tabs be drawn with the unselected's width at minimum 2023-09-26 15:08:47 -03:00
Yuri Sizov 378ab38b1f Rename close requests to delete requests in `GraphEdit` 2023-09-26 16:41:39 +02:00
Rémi Verschelde ca8b229e1c
Merge pull request #80410 from bruvzg/rtl_img_features
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent.
2023-09-26 13:44:46 +02:00
Rémi Verschelde 21cdedb79c
Merge pull request #77819 from 0xafbf/char-fx-tests
Make it possible to change character transform in RichTextEffect
2023-09-26 13:44:28 +02:00
bruvzg bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +03:00
PucklaMotzer09 d2e651f403 Add Duplicate Lines shortcut to CodeTextEditor
This keyboard shortcut has been made with inspiration from the VS Code keyboard shortcut editor.action.copyLinesDownAction. It duplicates all selected lines and inserts them below no matter where the caret is within the line.
2023-09-25 23:41:31 +02:00
Rémi Verschelde e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
Rémi Verschelde 8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
Rémi Verschelde 91420573c0
Merge pull request #79965 from KoBeWi/popup_menu_sidequest
Free submenu children when clearing PopupMenu
2023-09-25 17:17:55 +02:00
Rémi Verschelde c57d9f3483
Merge pull request #79104 from DrRevert/focusable_tabs_refactor
Allow to focus individual tabs in `TabBar`/`TabContainer`
2023-09-25 17:17:51 +02:00
Rémi Verschelde 3408aab7c6
Merge pull request #76027 from AThousandShips/focus_direction
Expose finding valid focus neighbors of a `Control` by side
2023-09-25 17:17:33 +02:00
kobewi df24882f9a Free submenu children when clearing PopupMenu 2023-09-25 16:45:41 +02:00
A Thousand Ships e45927b2f2 Replace `radians` range hint with `radians_as_degrees` 2023-09-25 08:50:19 +02:00
Rémi Verschelde df0a822323
Merge pull request #82236 from Chubercik/item_list_separator_fix
Remove the separator from ItemList's thumbnails mode
2023-09-24 23:37:20 +02:00
Rémi Verschelde 42fb795eb8
Merge pull request #80227 from raulsntos/get_tab_bar
Expose the `TabBar` of a `TabContainer`
2023-09-24 23:30:56 +02:00
Jakub Marcowski 2e28fb7cdd Remove the separator from ItemList's thumbnail mode 2023-09-24 13:06:11 +02:00
Raul Santos 408a08f2c1
Expose the `TabBar` of a `TabContainer`
Add `TabContainer::get_tab_bar` method to retrieve the `TabBar` of a `TabContainer`.
2023-09-22 20:08:28 +02:00
aXu-AP 4d3dc0e944 Use comma as a decimal separator for SpinBox
Add support for comma ',' as a decimal separator for SpinBox. This implementation allows for expressions like `pow(2, 3)` to be used as well. If you use comma to separate decimals, use semicolon `;` to separate function parameters.
Change EditorSpinSlider behavior to match.
2023-09-21 15:45:37 +03:00
DESKTOP-UT43QTQ\Garrigan-Desktop 303d0994e9 Avoid resetting the code completion popup excessively 2023-09-20 15:49:25 -05:00
Rémi Verschelde 73d7651784
Merge pull request #81921 from YuriSizov/gui-less-friendliness
Connect `CodeHighlighter` with `TextEdit` without friend-access
2023-09-20 13:10:00 +02:00
Yuri Sizov 4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
Yuri Sizov fee1fb8290 Connect `CodeHighlighter` with `TextEdit` without friend-access 2023-09-19 14:36:38 +02:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
Rémi Verschelde 77623d0a36
Merge pull request #81354 from MJacred/textedit_pixel_pos_fix
Fix `TextEdit.get_rect_at_line_column returning` negative pos even though cursor is in viewable area of the control
2023-09-18 10:37:59 +02:00
Arkadiusz Marcin Kołek 18811ac814 Allow to focus individual tabs in TabBar/TabContainer 2023-09-17 18:49:48 +02:00
Rémi Verschelde 4a48fd4b9f
Merge pull request #63634 from Spartan322/itemlist-predraw-size
Expose and rename ItemList's `_check_shape_changed` to `force_update_list_size`
2023-09-17 14:45:19 +02:00
George L. Albany 421e8c5455
Expose force_update_list_size
Rename ItemList::_check_shape_changed to force_update_list_size

`force_update_list_size` is especially useful for updating the auto_height_value early
2023-09-15 13:18:02 -04:00
PrecisionRender 76fad10978 Expose `PopupMenu` `activate_item_by_event` method 2023-09-15 10:27:49 -05:00
Yuri Sizov 325ec7fdda Merge pull request #81600 from aaronfranke/fix-graph-edit-valid-port-conn-type
Fix GraphEdit port valid connections incorrectly checking sides
2023-09-14 15:21:59 +02:00
Yuri Sizov 56e54b49b6 Merge pull request #81551 from YuriSizov/gui-cache-all-the-theme
Bind remaining theme properties to their respective classes
2023-09-14 15:21:45 +02:00
Mansur Isaev 4982bec8b7 Removes the equality check for `set_tab_metadata`
Makes the code equivalent to the `Tree.set_metadata` code.

Fix: https://github.com/godotengine/godot/issues/81647
2023-09-14 17:07:14 +04:00
Yuri Sizov fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
Aaron Franke 366e54b0a3
Fix GraphEdit port valid connections incorrectly checking sides 2023-09-12 20:46:43 -05:00