Commit graph

4106 commits

Author SHA1 Message Date
Rémi Verschelde
8c7be63588
Merge pull request #65192 from YuriSizov/control-customizable-cache-p2 2022-09-01 19:09:33 +02:00
Rémi Verschelde
dcd74563b6
Merge pull request #65156 from YuriSizov/control-customizable-cache-p1 2022-09-01 19:08:02 +02:00
Rémi Verschelde
027415312e
Merge pull request #65132 from bruvzg/global_menu_shortcuts_context 2022-09-01 17:02:04 +02:00
Yuri Sizov
3b1aa240dc Add a lifecycle method for manual theme item caching to Control 2022-09-01 16:35:36 +03:00
Yuri Sizov
15fd025f90 Add dumb and manual theme caching systems to Window 2022-09-01 16:05:02 +03:00
Rémi Verschelde
0a34994720
Merge pull request #65117 from YeldhamDev/menubar_key_fix
Fix switching `MenuBar`'s menus with the keys while mouse hovering
2022-09-01 08:46:01 +02:00
Rémi Verschelde
d22f2612f9
Merge pull request #65162 from YuriSizov/editor-gradients-united
Unite `GradientEdit` and `GradientEditor` as editor-only widget
2022-09-01 08:30:16 +02:00
bruvzg
b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately. 2022-09-01 08:13:56 +03:00
bruvzg
7aad14a4b6
[TextServer] Add support for trimming edge spaces on line break. 2022-09-01 08:11:55 +03:00
Yuri Sizov
93078ea551 Unite GradientEdit and GradientEditor as editor-only widget 2022-08-31 23:45:04 +03:00
Michael Alexsander
9e0de4e2cb Fix switching MenuBar's menus with the keys while mouse hovering 2022-08-30 20:18:35 -03:00
Rémi Verschelde
e27b61d291
Merge pull request #65042 from YuriSizov/editor-docks-tabbar-bg 2022-08-30 18:53:54 +02:00
Rémi Verschelde
ae349d8227
Merge pull request #64377 from Mickeon/rename-canvas-redraw
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30 14:47:41 +02:00
Rémi Verschelde
ebe4f8d3a4
Merge pull request #65039 from Mickeon/rename-treeitem-tooltip 2022-08-30 14:05:08 +02:00
Micky
97f8c9b97c Rename TreeItem's set_tooltip to set_tooltip_text
`set_tooltip` -> `set_tooltip_text`
`get_tooltip` -> `get_tooltip_text`

For consistency:
`get_button_tooltip` -> `get_button_tooltip_text`
And the `tooltip` parameter in `add_button` was renamed to `tooltip_text`
2022-08-30 11:16:23 +02:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
Yuri Sizov
8b196be855 Add background to TabContainer's tabbar and editor docks 2022-08-29 23:43:32 +03:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Rémi Verschelde
e60086f98b
Merge pull request #64119 from YuriSizov/theme-init-database 2022-08-29 14:02:21 +02:00
Rémi Verschelde
fd6453c45e Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED"
This reverts commit 4b817a565c.

Fixes #64988.
Fixes #64997.

This caused several regressions (#64988, #64997,
https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605)
which point at a flaw in the current logic:

- `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with
  `NOTIFCATION_THEME_CHANGED` as introduced in #62845.
- Some classes use their `THEME_CHANGED` to cache theme items in
  member variables (e.g. `style_normal`, etc.), and use those member
  variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE`
  notification is now deferred, they end up accessing invalid state and this
  can lead to not applying theme properly (e.g. for EditorHelp) or crashing
  (e.g. for EditorLog or CodeEdit).

So we need to go back to the drawing board and see if `THEME_CHANGED` can be
called earlier so that the previous logic still works?

Or can we refactor all engine code to make sure that:
- `ENTER_TREE` and similar do not depend on theme properties cached in member
  variables.
- Or `THEME_CHANGE` does trigger a general UI update to make sure that any
  bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE`
  does arrive for the first time. But that means having a temporary invalid
  (and possibly still crashing) state, and doing some computations twice
  which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-29 11:11:29 +02:00
Rémi Verschelde
223e083d36
Merge pull request #64964 from MewPurPur/reorganize-label-properties
Reorganize Label and RichTextLabel properties
2022-08-29 09:52:04 +02:00
Rémi Verschelde
f647292df5
Merge pull request #64960 from YeldhamDev/more_hl_stuff 2022-08-29 08:05:33 +02:00
Rémi Verschelde
34f45d7b28
Merge pull request #64967 from YeldhamDev/pm_up_fix 2022-08-29 07:56:03 +02:00
Rémi Verschelde
93cf259834
Merge pull request #64972 from YeldhamDev/you_too_menubar 2022-08-29 07:55:46 +02:00
Rémi Verschelde
f7f8af232c
Merge pull request #64885 from Mickeon/rename-tooltip-hint
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-28 17:43:01 +02:00
VolTer
832950d1f2 Reorganized Label and RichTextLabel properties 2022-08-28 10:26:04 +02:00
Michael Alexsander
44c64b912f Add item auto-highlighting to MenuBar 2022-08-28 01:49:22 -03:00
Michael Alexsander
221344b9e2 Fix some corner cases in the Menu/OptionButton item auto-highlight 2022-08-28 01:15:03 -03:00
Michael Alexsander
06df59887b Fix crash when pressing up on an empty PopupMenu 2022-08-27 18:13:27 -03:00
Rémi Verschelde
d3db8bbebd
Merge pull request #62846 from AaronRecord/remove_redundant_theme_updates_in_enter_tree
Remove `NOTIFICATION_ENTER_TREE` when paired with `NOTIFICATION_THEME_CHANGED`
2022-08-27 21:56:14 +02:00
Aaron Record
4b817a565c Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED 2022-08-27 11:52:29 -06:00
Rémi Verschelde
f9998455ce
Merge pull request #63249 from V-Sekai/animation_tree_editor_read_only
Add read-only mode to AnimationTreeEditor plugins
2022-08-27 08:14:30 +02:00
Micky
ef5b9a06a9 Rename hint_tooltip to tooltip_text & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Rémi Verschelde
4f60fd0480
Merge pull request #64777 from bruvzg/extend_to_title
[macOS] Extend editor contents to the window title bar for better space usage.
2022-08-26 23:03:31 +02:00
Yuri Sizov
6320a0fc18 Add ThemeDB, expose previously static Theme methods 2022-08-26 19:23:05 +03:00
Rémi Verschelde
ecfff5b75e Revert SplitContainer minimum size splitting changes (#64676 and #64800)
This reverts commits 185b1a5bd3 and 19ad31b89f.

The original PR and its fixup still had regressions, so we're going back
to the drawing board to reattempt fixing #43749.

Fixes #64785.
Fixes #64851.
Fixes #64866.
2022-08-26 15:57:17 +02:00
Micky
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
c8ef12a03a
Merge pull request #64665 from Mickeon/rename-label-visible 2022-08-26 14:54:37 +02:00
bruvzg
bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage. 2022-08-26 15:12:43 +03:00
Rémi Verschelde
ff612b6916
Merge pull request #64574 from Begah/fix_transient_window_wrap_mouse 2022-08-26 13:54:23 +02:00
Rémi Verschelde
0c639428dd
Merge pull request #64529 from KoBeWi/suffix_begone 2022-08-26 13:39:14 +02:00
Micky
64bd36ecee Rename Label & RichTextLabel.percent_visible to visible_ratio
Also updates the documentation of both `visible_characters` and `visible_ratio` to, better describe what they do and improve consistency between the two Classes.
2022-08-26 12:15:57 +02:00
Rémi Verschelde
ac7b5111f5
Merge pull request #64768 from bruvzg/popups_hide_if_visible 2022-08-26 11:59:50 +02:00
Rémi Verschelde
fed1189099
Merge pull request #62771 from bruvzg/line_edit_trim 2022-08-26 11:43:28 +02:00
Aaron Record
74eb2a70bd Refactor and remove excessive calls of NOTIFICATION_THEME_CHANGED 2022-08-25 14:50:49 -06:00
SaracenOne
75f1357ced Add read-only mode to AnimationTreeEditor plugins 2022-08-25 16:29:36 +01:00
MathieuRoux
5ac5c8bc06 Fix warp_mouse for transient windows, smoother mouse positioning when releasing mouse for spinbox 2022-08-25 11:30:49 +02:00
Rémi Verschelde
0a5f5c8558
Merge pull request #64536 from Mickeon/editor-tree-icon-size
Account for TreeItem's Cell icon and center the text Popup vertically
2022-08-25 09:56:08 +02:00
Rémi Verschelde
1adcd0327f
Merge pull request #64806 from Zylann/graph_node_protected_validate_property
Make GraphNode::_validate_property protected so GraphNode can be inherited
2022-08-25 07:30:42 +02:00