Commit Graph

44 Commits

Author SHA1 Message Date
A Thousand Ships 2d2fb3f2e7
Treat `MenuBar` and `MenuButton` as advanced UI 2024-08-28 14:26:54 +02:00
Rémi Verschelde a105553a1d
Merge pull request from kleonc/menu-bar-proper-canvas-transform-popup-calculation
Fix `MenuBar` popup placement assuming it's in viewport default canvas
2024-08-19 16:04:54 +02:00
A Thousand Ships 832695eb2c
[Tests] Fix various unit tests on minimal builds 2024-07-18 15:17:28 +02:00
kleonc 8228d647a9 Fix MenuBar popup placement assuming it's in viewport default canvas 2024-06-06 16:46:13 +02:00
bruvzg 5851f1e2dd
[MenuBar] Use NativeMenu RIDs instead of indices to track items. 2024-03-25 10:58:05 +02:00
bruvzg ac7583e449
[NativeMenu] Implement native popup menu support on Windows. 2024-03-13 10:51:38 +02:00
bruvzg da02ca7e75
[NativeMenu] Add checks to avoid unnecessary warnings.
Added by Rémi: Add dummy NativeMenu to DisplayServerHeadless,
fixing crashes when using `--headless`.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-03-07 00:23:26 +01:00
bruvzg c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class. 2024-03-04 23:41:41 +02:00
Rémi Verschelde f5cfc7f203
Merge pull request from bruvzg/mac_global_index
[MenuBar] Store and use global menu item indices.
2024-02-13 17:23:14 +01:00
Rémi Verschelde 23275074cb
Merge pull request from OverloadedOrama/fix-menubar-scaling
Fix `MenuBar` and `MenuButton` hover position scaling properly with the scale factor multiplier
2024-01-26 11:42:59 +01:00
Emmanouil Papadeas e864b26e54 Fix `MenuBar` hover position scaling properly with the scale factor multiplier 2024-01-24 15:22:16 +02:00
bruvzg a759d97a51
[MenuBar] Store and use global menu item indices. 2023-12-19 09:57:48 +02:00
bruvzg 0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +02:00
bruvzg 961e8af8bb
[Menu Bar] Update min. size when items are added/removed/changed. 2023-10-25 22:27:44 +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
Yuri Sizov 2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
Tomasz Chabora 3dd881b4e4 Add option to allow echo events in menu shortcuts 2023-08-16 16:59:17 +02: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
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
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
bruvzg be42ff0ef4
Fix MenuBar item order in RTL layout. 2023-05-29 17:03:49 +03:00
kobewi 8f8178bda6 Fix auto-translations in editor 2023-03-22 23:57:12 +01:00
justchen1369 dbfecdb3b0 Fix exported type for Menubar start_index 2023-03-10 11:42:09 -05:00
Алексей Смирнов a118bc2723 MenuBar add auto-translation of Menu names 2023-01-20 11:34:20 +03: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 .

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +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
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
Rémi Verschelde 2ffb609658 Merge pull request 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
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
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
Eric M 2eda77c682 Ensure all checks of `is_action` in the editor which are for 'shortcut' use, check the action exactly. 2022-09-24 18:01:02 +10:00
RedMser a12c71fff1 Fix : editing shortcut_context in inspector 2022-09-19 19:13:52 +02:00
Michael Alexsander 9507e91c07 Rename `PopupMenu`'s `set/get_current_index()` to `set/get_focused_item()` 2022-09-06 10:51:14 -03:00
Rémi Verschelde dcd74563b6
Merge pull request from YuriSizov/control-customizable-cache-p1 2022-09-01 19:08:02 +02:00
Rémi Verschelde 027415312e
Merge pull request 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
bruvzg b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately. 2022-09-01 08:13:56 +03:00
Michael Alexsander 9e0de4e2cb Fix switching `MenuBar`'s menus with the keys while mouse hovering 2022-08-30 20:18:35 -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
Michael Alexsander 44c64b912f Add item auto-highlighting to `MenuBar` 2022-08-28 01:49:22 -03:00
bruvzg bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage. 2022-08-26 15:12:43 +03:00
bruvzg 8f2083e6c0
Fix MenuBar minimum size adding unnecessary extra spacing after the last item. 2022-08-19 22:04:58 +03:00
bruvzg 2040087898
Fix MenuBar not processing shortcuts. 2022-08-19 16:49:50 +03:00
bruvzg 8c56a7416b
Implement `MenuBar` control to wrap `PopupMenu`s or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00