Commit Graph

285 Commits

Author SHA1 Message Date
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
4306420922 Add extension methods to add extra safety to realm subscriptions
Also adjusts the naming and documentation to make it (hopefully) easier
to understand what this method/process implies.
2021-12-01 15:09:53 +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
e891c0ce53 Add keyboard shortcut to start test mode in editor 2021-11-12 14:13:11 +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
ce29d6fd81 Change scroll speed adjust defaults to F3/F4
Not the most obvious keys, but does match stable expectations so let's
go with it for now.

Rationale for not using +/- is that local audio offset was bound to
those, and people will expect it to be when we get to implementing
eventually.

Also, adjust the scroll speed is a pretty rare thing to do since it's
been constant across beatmaps for years now.
2021-10-29 11:13:07 +09: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
cdef6d0cf5 Add key binding support for grid mode cycle 2021-09-20 16:43:15 +09:00
Dean Herbert
fde7c88999
Merge branch 'master' into update-framework 2021-09-16 22:49:02 +09:00
kj415j45
a18fed0da4
Remove unused using 2021-09-16 17:38:33 +08:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
kj415j45
e323f10cd5
Remove unused [Description] 2021-09-16 17:10:29 +08:00
kj415j45
51997fa533
Add localisation for GlobalActions 2021-09-16 16:02:04 +08:00
Dean Herbert
5bb741b4e8 Remove migration of key bindings 2021-09-15 17:04:38 +09:00
Dean Herbert
5b13b566b5 Reduce startup overhead during default key binding handling 2021-09-07 15:19:23 +09:00
Dean Herbert
f4199958d9 Avoid unnecessary array/LINQ operations when replay frames have no action changes 2021-08-26 13:03:50 +09:00
Dean Herbert
6d00ea3375 Allow toggling focus via binding 2021-08-19 14:19:59 +09:00
Dean Herbert
124f149cb5 Add key binding to focus chat input 2021-08-17 16:17:31 +09:00
Dean Herbert
82eddeffef Add LocalUserPlayInfo interface to convey common information about player status 2021-08-17 16:15:47 +09:00
Dean Herbert
6a5f0e8237 Move handling of replay seek operations out of progress bar
This is in order to avoid using the now obsoleted property
`SliderBar.AllowKeyboardInputWhenNotHovered`
(see https://github.com/ppy/osu-framework/pull/4579).
2021-07-09 14:28:59 +09:00
Derrick Timmermans
d1553f0864
Implement ability to switch between volume meters 2021-07-04 14:47:07 +02:00
Dean Herbert
36b5414b1d Update comment to hopefully explain a weird conditional better 2021-06-18 17:46:01 +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
9044a20120 Merge branch 'master' into realm-key-binding-store 2021-06-10 13:58:08 +09:00
Dean Herbert
fe6b1936cb Move OsuUserInputManager out from nested class 2021-05-28 02:46:03 +09:00
Dean Herbert
a249bb9e69 Merge branch 'master' into realm-key-binding-store 2021-05-25 17:18:33 +09:00
Dean Herbert
df703b68ec Merge branch 'master' into realm-key-binding-store 2021-05-25 13:41:48 +09:00
Dean Herbert
a00f226ab3 Add assert on storing to database 2021-05-24 18:41:39 +09:00
Dean Herbert
deabce7140 Disallow updating the database to an invalid value 2021-05-24 18:40:56 +09:00
Dean Herbert
57640810b5 Ignore certain banned InputKeys for gameplay purposes 2021-05-24 18:40:40 +09:00
Dean Herbert
7961dba1d3 Reorder OrderBy for legibility 2021-05-24 17:22:55 +09:00
Dean Herbert
23e284b8b3 Change default skin editor shortcut to Ctrl+Shift+S
Avoids a conflict with song select's random rewind functionality. As
mentioned in #12776.
2021-05-13 13:34:04 +09:00
Joseph Madamba
4bee8c23f0 Fix idle tracker not accounting global actions 2021-05-10 21:40:29 -07:00
Dean Herbert
b936043956 Add the skin editor to the game 2021-04-29 17:20:22 +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
c0b1c2f39b
Merge branch 'master' into realm-key-binding-store 2021-04-24 02:40:15 +09:00
Dean Herbert
6dd48f204c Remove unused store resolution 2021-04-24 02:05:53 +09:00
Dean Herbert
f9603eefe5 Revert "Switch Guid implementation temporarily to avoid compile time error"
This reverts commit 4d976094d1.
2021-04-24 01:59:55 +09:00
Dean Herbert
a5364b224f Add simple key based time nudging support to editor 2021-04-22 18:47:04 +09:00
Dean Herbert
78f274d51a Merge branch 'master' into realm-key-binding-store 2021-04-22 12:13:23 +09:00
Bartłomiej Dach
250c7403e8 Fix idle tracker assuming time starts at 0
`IdleTracker` in its construction quietly assumed that the clock it
receives from its parent starts ticking from 0 at the point at which it
is passed down. This is not necessarily the case when headless
executions are involved, which means that the initial state of the
tracker could be computed as idle incorrectly.

Resolve by explicitly reading the clock time at the point of
`LoadComplete()`.
2021-04-17 13:50:00 +02:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Dean Herbert
2c1f20a38f Merge branch 'master' into fix-editor-alt-scroll 2021-04-13 19:36:25 +09:00
ekrctb
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00