Bartłomiej Dach
828cedea33
Fix bindings being cleared if multiple bindings for same action have the same combination
...
This actually seems to be the case in catch (dash is bound to shift
twice). This is annoying but harmless, so let's work around it for now
to avoid ruining users' configs.
2023-10-16 22:20:26 +02:00
Bartłomiej Dach
9c6166ec3d
Add migration to remove duplicate bindings
2023-10-16 22:20:26 +02:00
Bartłomiej Dach
639c96e60c
Prevent ruleset input managers from reading duplicate bindings
2023-10-16 21:02:24 +02:00
Bartłomiej Dach
90c44cee54
Implement method to deduplicate keybindings
2023-10-16 20:51:57 +02:00
Bartłomiej Dach
79273b88f6
Add stub of method to deduplicate bindings (and failing test)
2023-10-16 20:48:52 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in `realm.Run(realm..`
2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41
Rename `RealmContextFactory` to `RealmAccess`
2022-01-24 20:38:07 +09:00
Dean Herbert
114c9e8c1f
Update all usages of `CreateContext` to use either `Run` or `Write`
2022-01-21 17:27:08 +09:00
Dean Herbert
70cc03fe43
Avoid constructor overhead for realm `RealmKeyBinding` parameterless constructor
2022-01-20 17:29:07 +09:00
Dean Herbert
7318ff3f98
Refactor `KeyBindingStore` to clean up any excess bindings for individual actions
...
While this isn't strictly required (outside of rulesets, potentially),
I think it's best that we keep these counts in a sane state.
Right now, it will remove any excess. Arguably, in the case an entry is
found with too many, we should wipe all entries and re-populate the
defaults. Interested in opinions on that before merging. See
https://github.com/ppy/osu/discussions/15925 for an example where wiping
may be the more appropriate behaviour.
2021-12-13 15:26:51 +09:00
Dean Herbert
d94b27a8a2
Switch realm ruleset key bindings to use ruleset's `ShortName` as key
2021-11-22 18:52:30 +09:00
Dean Herbert
f5842e7587
Shorten variable names
2021-11-08 18:24:37 +09:00
Susko3
c3069ad002
Change to use `ReadableKeyCombinationProvider`
...
Changes all usages of `KeyCombination.ReadableString()` to
`ReadableKeyCombinationProvider.GetReadableString()`.
Subscribing to `KeymapChanged` is only required in `KeyButton`.
All other places query `GetReadableString()` every time.
2021-11-08 06:55:26 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using `var`
2021-10-27 13:04:41 +09:00
Dean Herbert
9fa901f6aa
Refine `RealmContext` implementation API
2021-09-30 23:56:38 +09:00
Dean Herbert
5b13b566b5
Reduce startup overhead during default key binding handling
2021-09-07 15:19:23 +09:00
Dean Herbert
d5a1524eb0
Add missing `rulesetID` check for global action matching
2021-06-18 17:12:01 +09:00
Dean Herbert
d06e52505a
Fix thread safety of `KeyBindingStore.GetReadableKeyCombinationsFor`
2021-06-18 17:11:39 +09:00
Dean Herbert
a249bb9e69
Merge branch 'master' into realm-key-binding-store
2021-05-25 17:18:33 +09:00
Dean Herbert
253c66034d
Remove unused using statement
2021-04-26 17:45:43 +09:00
Dean Herbert
8961203f08
Move guid initialisation to database model itself
2021-04-26 17:06:03 +09:00
Dean Herbert
68f2e7f61a
Use realm support for Guid
2021-01-19 18:22:36 +09:00
Dean Herbert
f26c6210f3
Remove unnecessary Take() call and refactor default group logic naming
2021-01-14 16:36:24 +09:00
Dean Herbert
8a08d3f4ef
Fix transactions not actually being committed
2021-01-14 16:13:10 +09:00
Dean Herbert
5fa3a22f28
Remove unused RealmBackedStore base class
2021-01-13 18:36:37 +09:00
Dean Herbert
fcb4a53f37
Rename realm persisted properties to avoid casting necessity
2021-01-13 18:36:37 +09:00
Dean Herbert
9086d75542
Update write usages
2021-01-13 18:36:37 +09:00
Dean Herbert
9d744d629f
Update existing usages to use the main realm context where applicable
2021-01-13 18:36:37 +09:00
Dean Herbert
78707c3b06
Remove unused event
2021-01-13 18:36:37 +09:00
Dean Herbert
192e58e0c6
Update all read queries to use direct realm subscriptions/queries
2021-01-13 18:36:37 +09:00
Dean Herbert
a6997a6fc6
Move ruleset key binding registration to an explicit method rather than the constructor
2021-01-12 15:21:02 +09:00
Dean Herbert
ff16d2f490
Mark classes nullable
2021-01-12 15:21:02 +09:00
Dean Herbert
536e7229d0
Remove unused EF class and unnecessary interface
2021-01-12 14:45:36 +09:00
Dean Herbert
406e640fa9
Make key binding update method support all kinds of realm object states
2021-01-12 14:45:36 +09:00
Dean Herbert
6fd098ca7c
Add full xmldoc to RealmKeyBindingStore
2021-01-11 16:31:36 +09:00
Dean Herbert
56d34432f9
Move public members up
2021-01-11 16:31:36 +09:00
Dean Herbert
a1cb6d8c54
Remove unnecesssary local conversion method
2021-01-11 16:31:36 +09:00
Dean Herbert
8765aaf9e6
Use IKeyBinding for all key binding usages (and add update flow via primary key)
2021-01-11 16:31:35 +09:00
Dean Herbert
a77519c6bd
Store KeyBinding action to its own field in realm
...
Also improve the Query method for action types by using generic field
2021-01-11 15:52:49 +09:00
Dean Herbert
43f417b53a
Add and consume IKeyBindingStore interface
2021-01-11 15:52:49 +09:00
Dean Herbert
391259c713
Add missing implementation details to realm keybinding store
2021-01-11 15:52:49 +09:00
Dean Herbert
ee6a26bd6e
Initialise new key bindings with a primary key
2021-01-11 15:52:49 +09:00
Dean Herbert
d5ac97ece8
Add realm store / key binding implementations
2021-01-11 15:52:49 +09:00