bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 11:14:35 +02: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
bruvzg
f7955633de
Improve `window_set_current_screen` and fix secondary window initial mode and positions.
2022-12-29 09:43:39 +02:00
Yuri Sizov
29cc86fa6c
Copy local theme overrides from Control to Window
2022-12-07 20:50:51 +03:00
bruvzg
edf13eb5a6
Rename `window_get_real_size` to `window_get_size_with_decorations`, add `window_get_position_with_decorations`.
2022-12-07 11:07:30 +02:00
Markus Sauermann
3b14f0334c
Remove redundant Variant-types initializations
2022-11-14 19:35:19 +01:00
Clay John
8fd92ed867
Merge pull request #64710 from MinusKube/window-size-crash
...
Prevent windows from having a size greater than device limit
2022-10-27 10:02:44 -07:00
Rémi Verschelde
15b68f7601
Merge pull request #67232 from bruvzg/popup_edit
...
Improve Popup / Window behavior in the edited scene tree.
2022-10-12 14:45:14 +02:00
Nikola Bunjevac
d7e9b8af9a
Set window size after setting new limits
...
Otherwise this can fail as the size may not fit
into current limits. This is problematic at least
on X11.
2022-10-11 17:16:20 +02:00
bruvzg
2e1fcbe14b
Prevent `Popup`s it the edited scene tree from closing on focus loss. Hide irrelevant `Popup` flags from the editor inspector.
2022-10-11 08:55:00 +03: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
Cykyrios
2237df6273
Fix invalid popup position for embedded popups
2022-10-03 21:23:32 +02:00
Markus Sauermann
2bf2217b1a
Calculate window input event transform only on window change
2022-10-01 09:54:38 +02:00
Rémi Verschelde
e3464c8fc8
Merge pull request #58995 from Sauermann/fix-mouse-cursor-change-2
...
Update mouse cursor shape after changes
2022-09-28 20:50:05 +02:00
kobewi
a4c3551dc6
Force window position if spawned outside screen
2022-09-26 13:44:25 +02:00
bruvzg
0dab11afa4
[macOS extend-to-title] Add scene/project name to the editor title, fix incorrect window button position/order when system primary language is RTL.
2022-09-22 23:09:56 +03:00
Markus Sauermann
52da6f1a44
Update mouse cursor shape after changes
...
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-09-18 17:15:38 +02:00
Rémi Verschelde
d79040e7eb
Merge pull request #65496 from MinusKube/popup-capture-mouse-bug
...
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-16 09:23:40 +02:00
MinusKube
00e153f85a
Use embedding viewport instead of parent viewport to determine popup rect
2022-09-09 01:22:46 +02:00
MinusKube
06b86fad0d
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-07 19:31:57 +02:00
MinusKube
f5a808192b
Prevent windows from having a size greater than device limit
2022-09-04 22:48:54 +02:00
Yuri Sizov
41eabca0fb
Un-defer the initial theme changed notification in Window
2022-09-03 14:55:13 +03:00
Yuri Sizov
8b128081e8
Un-defer the initial theme changed notification
...
Co-authored-by: Rindbee <idleman@yeah.net>
2022-09-02 23:44:23 +03:00
Yuri Sizov
ddc55ef746
Add ThemeOwner type for managing theme propagation and lookup
2022-09-02 23:44:23 +03:00
Yuri Sizov
15fd025f90
Add dumb and manual theme caching systems to Window
2022-09-01 16:05:02 +03:00
kobewi
409613ba7b
Allow to change the Stop shortcut used at runtime
2022-08-30 14:14:15 +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
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
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
Aaron Record
74eb2a70bd
Refactor and remove excessive calls of `NOTIFICATION_THEME_CHANGED`
2022-08-25 14:50:49 -06: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
Pedro J. Estébanez
910efbff03
Avoid warnings about cursor shape change not supported
2022-08-23 11:14:07 +02:00
Yuri Sizov
1a24c9e14b
Make `_validate_property` a multilevel method
2022-08-22 18:35:11 +03:00
Michael Alexsander
2b86c458bf
Fix some bugs with `Window`s
2022-08-05 02:25:15 -03:00
Fabian Keller
2bf9e6090c
rename translate(d) to translate(d)_local in Transform 2D/3D
2022-07-16 11:47:54 +02:00
Rémi Verschelde
82a56e5c42
Merge pull request #61587 from YuriSizov/control-fix-theme-owner-toplevel
...
Fix theme propagation for children of top level controls and windows
2022-06-27 12:03:36 +02:00
Rindbee
5ac259fad8
Quickfix editor hangs when rooting a window with exclusive and transient flags enabled
2022-06-20 21:45:08 +08:00
markdibarry
459228cdb3
Add explicit deferred flags
2022-06-19 10:04:53 -04:00
Rindbee
53bd72fa70
Fix previous min size affects _get_contents_minimum_size in AcceptDialog
2022-06-17 16:21:23 +08:00
bruvzg
f7269fe878
Single-window mode popups and edited scene windows fixes.
...
Fix single-window mode popup not closing when OptionBox is clicked.
Fix single-window mode submenus closing when parent menu item, that was used to open it is clicked (using same safe-area logic as platform specific code).
Disallow windows that are part of an edited scene from being set as exclusive or popup to prevent it from locking up the editor.
2022-06-13 09:56:08 +03:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Rémi Verschelde
659f4b64d6
Merge pull request #60830 from Ansraer/fix-2d-scale
...
[4.x] Add viewport content scale
2022-06-04 00:15:38 +02:00
Yuri Sizov
ba273c6c5f
Fix theme propagation for children of top level controls and windows
2022-06-01 04:20:00 +03:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Ansraer
045f511bd9
Add viewport content scale
2022-05-06 19:50:53 +02:00
bruvzg
defcd0c57e
Avoid setting sub-window or started project window positions, if it's impossible to get screen rect.
2022-04-20 11:10:33 +03:00
FireForge
0b0a74e135
Redesign InputEvent editor plugin
...
- Use vertical layout and add text wrapping
- Fix Window.popup_centered() rect calculation
2022-04-12 08:30:24 -05:00
Rémi Verschelde
2507b2b006
Merge pull request #54191 from Ev1lbl0w/bugfix-window_popup_ratio
2022-04-11 17:49:20 +02:00
kobewi
63de41b996
Improvements to files_dropped signal
2022-04-11 00:37:06 +02:00
Ev1lbl0w
139c1eb655
Clamp ratio from popup_centered_ratio
2022-04-10 11:10:21 +01:00
Rémi Verschelde
398d502cc7
Merge pull request #59308 from Sauermann/fix-viewport-warp-mouse
2022-03-30 11:41:31 +02:00
Markus Sauermann
ffe42171a5
Fix using Viewport::warp_mouse within Viewports
2022-03-28 11:59:40 +02:00
Markus Sauermann
ba208df6e6
Send a focus-out notification when opening a Window Manager Popup
2022-03-28 09:40:36 +02:00
Markus Sauermann
40c08e522f
Revert "Update mouse cursor shape after changes"
...
This reverts commit 0fce98b4b5
.
2022-03-10 09:43:06 +01:00
Markus Sauermann
0fce98b4b5
Update mouse cursor shape after changes
...
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-03-09 07:54:03 +01:00
Rémi Verschelde
345b4bb86a
Merge pull request #58282 from keptsecret/filedialog_visibility_unresponsive
...
Fix to prevent AcceptDialog and children class taking over main window
2022-02-28 12:48:59 +01:00
bruvzg
74ff5921d6
Improve popup window handling.
...
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
keptsecret
128e98c124
fixed wrong ifdef enclosed block
2022-02-18 13:31:54 -05:00
keptsecret
cb905fa957
prevent acceptdialog taking over main editor window when made visible
2022-02-18 11:06:41 -05:00
Markus Sauermann
415042ac89
Connect notifications from Container to Viewport
...
mouse enter+exit
2022-02-15 22:41:30 +01:00
Rémi Verschelde
0f5455230c
Use `switch` consistently in `_notification` (`scene` folder)
2022-02-15 18:44:55 +01:00
Rémi Verschelde
d3a6b6daaa
Merge pull request #56953 from bruvzg/ex_wnd
2022-02-12 16:46:55 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
bruvzg
7d59b81d79
Add exclusive window handling to DisplayServer (on macOS and Windows).
2022-02-12 00:14:09 +02:00
bruvzg
f4ea9cd9f3
[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
...
[Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-04 12:08:46 +02:00
bruvzg
3d79ad6e50
Fix main window title translation.
2022-01-21 15:32:22 +02:00
Rémi Verschelde
6ab5d9d008
Merge pull request #56935 from V-Sekai/window_theme_changed_signal
2022-01-19 13:31:56 +01:00
SaracenOne
2db30ef223
Add missing 'theme_changed' signal to Window class
2022-01-19 07:59:42 +00:00
bruvzg
d62ca0c9c0
Window management improvements.
...
[macOS] Fix transient windows not working in the full-screen mode.
[macOS] Fix moving transient windows to the other screen than parent window.
[macOS] Fix popup menu switch on hover.
[macOS] Use content origin rect for windows position (to ensure `DS.mouse_get_position` is equal to `DS.window_get_position` + mouse position from the input events).
[macOS] Fix incorrect input coordinates, when external display with different scaling in connected/disconnected.
[macOS/Windows] Fix moving fullscreen windows between the screens.
Add auto refocusing of the parent window, when the focused transient window is closed.
Remove redundant `DS.mouse_get_absolute_position` function (returns mouse position in the screen coordinates, same as `DS.mouse_get_position`).
2022-01-18 11:47:03 +02:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Ansraer
c7a03412ac
add 2d scale factor property
2021-12-17 19:19:41 +01:00
Yuri Roubinsky
eabf8f5edf
Added `reset_size` method to `Control` and `Window` classes
2021-11-22 16:55:21 +03:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Yuri Sizov
4a42a66cd9
Add the base scale factor to the Theme resource
2021-10-04 15:25:07 +03:00
JestemStefan
177173578a
Changed Window current_screen parameter from string to int
2021-09-02 23:34:15 +02:00
bruvzg
4c3f7d1290
Makes FontData importable resource.
...
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
reduz
5cecdfa8af
Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
...
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Jihyun Yu
d40b7e2cfb
fix bug on window notification propagation
2021-08-17 14:07:53 +09:00
Aaron Franke
eb4902a455
Fix some unnecessary includes
2021-08-13 00:27:38 -05:00
Michael Alexsander
94a64d557e
Add `auto_translate` toggle for automatic translation
2021-07-29 18:30:34 -03:00
Michael Alexsander
79fc188fc4
Multiple cosmetic fixes for embedded windows
2021-07-27 23:55:06 -03:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Joan Fons
a6adb58493
Editor StringName and Viewport optimizations
...
* Added explicit return type to the SNAME macro.
* Add some extra SNAME usages.
* Change some ClassDB methods to use const StringName & arguments.
* Cache the Window parent in Control because it's used in
is_layout_rtl(), which is called often.
* Only enable internal processing for viewports that need it.
* Change CanvasItem::group to be a StringName because it's only used as
that.
2021-07-20 20:35:41 +02:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Rémi Verschelde
79137a0260
Merge pull request #50299 from YeldhamDev/window_wrap_controls_fix
...
Fix `Window`'s `wrap_controls` not actually doing anything
2021-07-13 18:04:33 +02:00
Yuri Sizov
4ee0e6ddf5
Add type variations to Theme
2021-07-13 02:26:28 +03:00
Michael Alexsander
fe5605334a
Fix `Window`'s `wrap_controls` not actually doing anything
2021-07-08 20:06:16 -03:00
Hendrik Brucker
043ae91560
Restructure and reimplement vsync options
...
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
2021-07-06 16:34:26 +02:00
Michael Alexsander
a829e88ddc
Expose `Window.get_contents_minimum_size()` to scripts
2021-07-02 15:35:56 -03:00
Hugo Locurcio
87f503310b
Tweak dozens of editor property hints for consistency
...
- Update Viewport MSAA property hints to match the currently
exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
Yuri Sizov
9eaa139c1f
Add theme_custom_type property to Control and Window
2021-05-17 17:20:42 +03:00
Rémi Verschelde
4bacb86f56
Merge pull request #46735 from fabriceci/fix-dialog-translation
...
Fix translations update in window & Dialogs (AcceptDialog/ConfirmationDialog/FileDialog) (Fix 39320, 39258 & 45887)
2021-03-23 00:03:31 +01:00
Juan Linietsky
97a3a66220
Improved 3D Scene Importer
...
* Added option for importers to show an Advanced settings dialog
* Created advanced settings dialog for Scene Importer
* Cleaned up importers (remove many old/unused options)
* Added the ability to customize every node, material, mesh and animation individually
* Saving to animations and meshes to files is now a manual process, making it more predictable
* Added the ability for materials to be replaced by external files (or to be made external, up to you).
* When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it.
WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-22 12:16:40 -03:00
fabriceci
697c594cd8
fix translation not updating in ConfirmationDialog (and Window by inheritance)
2021-03-12 17:51:33 +01:00
Rémi Verschelde
bc6713ef50
Merge pull request #46516 from HaSa1002/scrollcontainer-embed
...
Fix Window returning `INVALID_WINDOW_ID` when being embedded
2021-03-05 13:46:44 +01:00
Johannes
a97db7fad6
Fix Window.get_window_id() returning -1 when embedded
2021-03-01 00:12:20 +01:00