Age | Commit message (Collapse) | Author |
|
Synced with gabomdq/SDL_GameControllerDB@adf7ec1edfc0371ebf5fb469b61f301b8e26ec81
|
|
|
|
data
|
|
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
|
|
Refactors`ui_text_remove_secondary_carets` from https://github.com/godotengine/godot/pull/68089 as `ui_text_clear_carets_and_selection`, with extra behaviour:
- If there's only one active caret active with a selection, clears the selection.
- In case there's more than one caret active, removes the secondary carets and clears selections.
With this change, `TextEdit` then imitates the behaviour of VSCode for clearing carets and selections.
|
|
Adds the bind `ui_text_remove_secondary_carets` to TextEdit, with ESC as the default shortcut.
When the bind is performed, if the TextEdit has multiple carets, `remove_secondary_carets` is called and secondary carets are removed.
This is useful when multiple selects are performed with `add_select_for_next_occurrence` #67644 or when multiple multiple carets are manually added, then it's possible to go back to a single caret with a shortcut.
Closes #67991
|
|
Unify usage of GLOBAL/EDITOR_GET
|
|
Add Caret Insert Below and Above shortcuts to TextEdit
|
|
Add Selection and Caret for Next Occurrence of Selection
|
|
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
|
|
Adds the bind `add_selection_for_next_occurrence` to TextEdit, with CTRL+D as the default shortcut.
When the bind is performed, ff a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret and selects the next occurrence.
If no selection is currently active with the last caret in text fields, selects the word currently under the caret.
The action can be performed sequentially for all occurrences of the selection of the last caret and for all existing carets. The viewport is adjusted to the latest newly added caret.
The bind and the behaviour is similar to VS Code's "Add Selection to Next Find Match" and JetBrains' "Add Selection for Next Occurrence". It takes advantage of the multi-caret API.
The default shortcut for `select_word_under_caret` has been changed to ALT+G, in order to give priority to CTRL+D for `add_selection_for_next_occurrence` to better align with popular IDEs and editors.
|
|
|
|
|
|
change warnings=all to use /W4.
|
|
|
|
|
|
Synced with gabomdq/SDL_GameControllerDB@81ddc73d17b703b68c9142b46106a4db7c0d98c3
|
|
Fix `InputEventAction`'s `is_match` method ignoring `exact_match` parameter
|
|
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
|
|
controllers, including Xbox One, Nintendo Switch, Steam Deck, and 8BitDo
|
|
Fix action name completion for `Input`
|
|
Also rename export name from "HTML5" to "Web".
|
|
Fix axis mapped to DPad buttons not releasing opposite button
|
|
|
|
Consolidate the fact that `Input` is meant to be final
|
|
|
|
This reverts #38034 and removes the `iteration()` method.
|
|
|
|
|
|
|
|
Synced with gabomdq/SDL_GameControllerDB@4896d2de6bac388b5f8f8a42d0c39c5892bd5847
|
|
|
|
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
|
|
|
|
Synced with gabomdq/SDL_GameControllerDB@880abd09c97618d97a0e44e3761262f6fd1c6225
|
|
|
|
Add inversion/eraser-end property for tablet pens
|
|
InputEventMouseMotion event
|
|
I turned it off by mistake in #38697.
See also #62664 for details on this boolean's complex history :)
|
|
|
|
|
|
Make Input `mouse_mode` and `use_accumulated_input` properties
|
|
|
|
|
|
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
|
|
* 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!
|
|
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
|
|
Synced with gabomdq/SDL_GameControllerDB@b7d126eb71fe9354a2b7cf04085a5fff58ed3815
|
|
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
|
|
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
|