1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-24 22:32:55 +08:00
Commit Graph

7924 Commits

Author SHA1 Message Date
Jai Sharma
2481201a73 Fix selector dismissal behaviour during user actions 2022-05-09 22:58:46 +01:00
Salman Ahmed
96ea4ee7b3 Add explanatory comment 2022-05-09 23:49:05 +03:00
Bartłomiej Dach
626fcd5d35
Merge branch 'master' into column-flow-cq 2022-05-09 19:22:29 +02:00
Jai Sharma
d4cc2bd7dd Ensure channel selector is dismissed when the current channel is changed 2022-05-09 12:11:25 +01:00
Salman Ahmed
702c6ae658 Fix SettingsToolboxGroup not clearing transforms before updating autosize 2022-05-09 13:49:31 +03:00
Dean Herbert
1c63c27fdf Merge branch 'master' into new-chat-drawable-channel 2022-05-09 18:23:00 +09:00
Dan Balasescu
e9cc3ab54a
Merge pull request #18164 from Joehuu/fix-exit-dialog-bad-state
Fix popup dialog potentially not clicking last button when dismissed
2022-05-09 17:22:03 +09:00
Jai Sharma
623e2c94ae Adjust padding 2022-05-09 00:32:22 +01:00
Jai Sharma
aeb2984989 Move ChatOverlayDrawableChannel to it's own file 2022-05-09 00:31:22 +01:00
Jai Sharma
5f80e344c3 Update day separator date text to right align against username 2022-05-09 00:15:08 +01:00
Joseph Madamba
21e1f4546a Fix popup dialog potentially not clicking last button when dismissed 2022-05-08 14:40:30 -07:00
Joseph Madamba
172d14bcc6 Improve code quality of mod column flow container 2022-05-08 11:40:14 -07:00
Bartłomiej Dach
d964b4f23c
Fix uneven spacing when some mod columns are hidden 2022-05-08 15:40:21 +02:00
Bartłomiej Dach
6bdcf893b7
Move alpha management closer to screen level
Felt bad messing with alpha at the column level.
2022-05-08 15:40:10 +02:00
Bartłomiej Dach
92ccec20d7
Hide mod columns if all mods within are filtered out 2022-05-08 14:53:59 +02:00
Dean Herbert
b8cb2c1b82 Increase scroll amount slightly 2022-05-08 19:57:03 +09:00
Dean Herbert
778497b9e2 Scroll mod select slightly into view on first display 2022-05-08 18:58:54 +09:00
Bartłomiej Dach
b92d95a17a
Fix mod panels playing samples when hidden at a higher level 2022-05-08 10:39:49 +02:00
Bartłomiej Dach
81ca534f87
Implement ISamplePlaybackDisabler in mod select 2022-05-08 10:39:49 +02:00
Dean Herbert
230c4e27b8 Simplify and centralise hiding logic for mod overlay
Behaviourally, this also always toggles via button triggering to add the
button flash animation.
2022-05-08 13:03:28 +09:00
Jai Sharma
8da7bbd322 Code quality 2022-05-07 23:30:46 +01:00
Jai Sharma
c0643cae75 Create ChatOverlayDaySeparator and use in ChatOverlayDrawableChannel 2022-05-07 23:24:34 +01:00
Jai Sharma
f4acfbd0df Change return type of CreateDaySeparator to Drawable 2022-05-07 22:23:46 +01:00
Jai Sharma
bec28c5b28 Remove virtual ColourInfo properties from DaySeparator 2022-05-07 22:16:11 +01:00
Bartłomiej Dach
46d3220c07
Isolate sample screens from global mods bindable
Fixes scenario wherein entering the first run setup overlay, exiting at
the "UI scale" step (which shows a song select), then moving to actua
song select and trying to select a mod would lead to a crash.

The crash was caused by two active mod screen instances attempting to
swap the global mod bindable's mod instances for ones they owned. This
logic - while generally problematic and hard to maintain - was fixing
several issues with mod reference management and setting copying, so I'm
letting it live another day.

This change will mean that the song select preview on the "UI scale"
step will not receive the same mods that the actual game has enabled.
That said, it already doesn't use the same beatmap or ruleset, so this
looks fine to break.
2022-05-07 21:44:58 +02:00
Dean Herbert
2278da563e Add various xmldoc for nested classes 2022-05-08 02:03:28 +09:00
Dean Herbert
03c80d9197 Reorder methods / properties in ModSelectScreen for legibility 2022-05-08 01:58:37 +09:00
Dean Herbert
1d27ef18dc Add xmldoc for IsValidMod 2022-05-08 01:49:29 +09:00
Dean Herbert
0d32bf91eb Hardcode hide key handling in ModSelectScreen 2022-05-08 01:35:11 +09:00
Bartłomiej Dach
0c2b4a6c0b
Fix invalid IsLoaded check
Would fail when `availableMods` would be changed from a different thread
while the columns aren't loaded.
2022-05-07 15:44:22 +02:00
Bartłomiej Dach
528342411e
Merge branch 'master' into mod-overlay/integration 2022-05-07 13:52:19 +02:00
Bartłomiej Dach
fe69bd7ed9
Merge branch 'master' into change-mod-scroll-behaviour 2022-05-07 13:29:02 +02:00
Bartłomiej Dach
9a56f6db44
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 13:15:13 +02:00
Bartłomiej Dach
a716f62a6a
Flash back button when keyboard back binding is pressed 2022-05-07 13:01:36 +02:00
Salman Ahmed
d4c9de8596 Move button width in mod select to constant 2022-05-07 13:23:48 +03:00
Salman Ahmed
8ee3fdd0aa Change mod scrolling behaviour to not scroll horizontally on columns/settings 2022-05-07 12:15:11 +03:00
Bartłomiej Dach
fd75963ca2
Dismiss mod select if select binding is pressed 2022-05-07 11:01:05 +02:00
Bartłomiej Dach
e7e7486a8e
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 10:59:30 +02:00
Bartłomiej Dach
b72cf4cd5d
Merge branch 'mod-overlay/localisation-strings' into mod-overlay/back-button 2022-05-07 10:58:09 +02:00
Bartłomiej Dach
f761d4d4d4
Reuse "select/deselect all" localisable string on column toggle 2022-05-07 10:56:03 +02:00
Bartłomiej Dach
fa0a256f48
Add localisable string for difficulty multiplier display 2022-05-07 10:48:15 +02:00
Bartłomiej Dach
271d64fd54
Add back button to mod select overlays 2022-05-07 10:17:32 +02:00
Bartłomiej Dach
6ad990dfc3
Add basic localisation strings for new mod select 2022-05-07 10:17:24 +02:00
Bartłomiej Dach
4ff96f82be
Dim other buttons if customisation panel is open 2022-05-07 09:50:09 +02:00
Bartłomiej Dach
18e4c3ed0f
Update mod columns even if they're not present/offscreen
Important to make "select/deselect all" operations work on all columns
simultaneously, even if they're offscreen. Unfortunately by the nature
of how the existing selection animation works, it is hard-tied to the
update loop, so we need to compensate.
2022-05-07 09:50:09 +02:00
Bartłomiej Dach
9514a5cef7
Only load panels asynchronously outside of BDL 2022-05-07 09:50:09 +02:00
Bartłomiej Dach
9f96dd47d1
Remove schedule in panel load
It was causing selection/deselection of all mods to work improperly if a
select/deselect all operation was requested before the panel was
scrolled into view.

In general the schedule was an over-optimisation - the game-global set
of available mods shouldn't be changing so often as to warrant such an
aggressive debounce.
2022-05-07 09:50:09 +02:00
Bartłomiej Dach
852e4a9766
Add select/deselect all buttons to free mod select screen 2022-05-07 09:29:33 +02:00
Bartłomiej Dach
0b95594f60
Add some more padding between footer and column scroll 2022-05-07 09:29:33 +02:00
Bartłomiej Dach
0c6de331f3
Move footer button padding to a higher level 2022-05-07 09:29:32 +02:00
Dean Herbert
dd63657dfb
Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
Jai Sharma
6fc808be22 Code quality 2022-05-06 23:17:59 +01:00
Jai Sharma
9d62206176 Update new chat overlay day separator colours and spacing
Updates the `DaySeparator` component to have separately settable colours
for the text and the lines.

Updates existing overrides of the `DaySeparator` to use the new colour
setter.

Create new `ChatOverlayDrawableChannel` with adjusted spacing and new
`DaySeparator` colours.
2022-05-06 23:06:18 +01:00
Bartłomiej Dach
8c73ed7207
Fix sequence equality check not using reference comparison 2022-05-06 21:47:04 +02:00
Bartłomiej Dach
621f746789
Do not modify selected mods through panel state change during external update 2022-05-06 21:47:04 +02:00
Bartłomiej Dach
c199b8fcb6
Simplify state management in ModColumn
Bad sign when you can't follow your own code.

All of the various state changing methods were flattened into one
because it was too hard to follow what was calling what and why.
2022-05-06 21:46:16 +02:00
Salman Ahmed
1409f8ca96
Merge branch 'master' into fix-toolbox-expansion 2022-05-06 18:00:01 +03:00
Bartłomiej Dach
c533c93ffd
Remove leftover border thickness spec in mod settings area
Was never supposed to be there, it was a vestige of a previous design
iteration that went by unnoticed.
2022-05-06 15:34:49 +02:00
Bartłomiej Dach
e527574ede
Merge branch 'master' into fix-toolbox-expansion 2022-05-06 13:47:36 +02:00
Dean Herbert
98eab9668d
Merge pull request #18119 from bdach/mod-overlay/broken-hover
Fix mod panels not hovering correctly after closing customisation area via mouse on new mod select
2022-05-06 20:42:33 +09:00
Bartłomiej Dach
e9d52aa954
Remove not-accessed field 2022-05-06 13:09:37 +02:00
Bartłomiej Dach
a915b7333c
Remove unused using directive 2022-05-06 13:08:54 +02:00
Dean Herbert
88c190f3e3 Change colour denoting expanded state to be gray rather than yellow
I always found the yellow colour very non-descript in this case. Gray
seems to work better?
2022-05-06 19:45:17 +09:00
Dean Herbert
b432885e5f Tidy up ordering of SettingsToolboxGroup 2022-05-06 19:39:09 +09:00
Dean Herbert
59add66632 Remove unnecessary autosize workaround (was fixed long ago) 2022-05-06 19:39:00 +09:00
Dean Herbert
949e30c4b4 Remove auto-expansion of individual toolbox groups when parent expanding container expands 2022-05-06 19:36:41 +09:00
Bartłomiej Dach
08fd0ea086
Fix click-to-return container still handling hover when inactive 2022-05-06 12:28:53 +02:00
Dean Herbert
be960eb092 Move dangerous hold specification to base class 2022-05-06 14:34:31 +09:00
Dean Herbert
0d8e42b941 Merge branch 'master' into exit-multiplayer-is-dangerous 2022-05-06 14:25:18 +09:00
Jai Sharma
0974de8fb0 Use BindableFloat for chat height 2022-05-05 23:13:32 +01:00
Jai Sharma
16a6c11bc8 Clamp maximum and minimum height the chat overlay can be resized to 2022-05-05 21:40:37 +01:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey 2022-05-05 22:16:56 +02:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
ac08498f35
Use plum colour scheme in multiplayer to match rest of multiplayer screens 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
79e1b93b30
Close customisation area on escape press before exiting 2022-05-05 19:17:36 +02:00
Bartłomiej Dach
2cc56a4b19
Fix hidden issue with automatic customisation panel show logic
Doesn't cause tests to fail headless, but they do fail in the test
browser.
2022-05-05 19:17:36 +02:00
Dean Herbert
9d48bb41c9
Merge branch 'master' into new-chat-overlay 2022-05-05 23:12:31 +09:00
Jai Sharma
5ea6f62951 Ensure RelativePositionAxes is set in BDL for animations to work 2022-05-05 14:20:33 +01:00
Dan Balasescu
e46f99bdba
Merge branch 'master' into dialog-overlay-thread-woes 2022-05-05 20:57:51 +09:00
Dean Herbert
97221d2ef1 Tidy up initialisation 2022-05-05 19:24:18 +09:00
Dean Herbert
e54f5e2d92 Adjust value change variables to avoid e usage 2022-05-05 19:22:20 +09:00
Dean Herbert
74505ba166 Remove ! usage (also seems to fix height saving/loading) 2022-05-05 19:22:12 +09:00
Dean Herbert
25ea660b0b Replace HandlePositionalInput override with simple hover effect 2022-05-05 19:13:48 +09:00
Dean Herbert
4efaa41670
Merge branch 'master' into new-chat-overlay 2022-05-05 18:57:00 +09:00
Dean Herbert
f6a6a11391 Remove DialogOverlay local fades (is already managed by PopupDialogs themselves) 2022-05-05 15:02:23 +09:00
Dean Herbert
326ff3b6e9 Fix CurrentDialog being updated twice, unsafe variable access 2022-05-05 14:55:05 +09:00
Dean Herbert
a27fcda9f1 Fix failing tests due to CurrentDialog being unexpectedly not set after Push 2022-05-05 01:52:39 +09:00
Salman Ahmed
e294069e2f Merge branch 'master' into beatmap-selection-keybinding 2022-05-04 16:48:49 +03:00
Salman Ahmed
9416346c94 Globalise beatmap selection key bindings as "group" selection 2022-05-04 16:46:32 +03:00
Jai Sharma
1a85e1267b Ensure focus is directed to ChatTextBox from ChatOverlay and add tests 2022-05-04 14:43:40 +01:00
Dean Herbert
ddab3c6d80 Tidy up state variables 2022-05-04 21:00:11 +09:00
Dean Herbert
383245f43a Fix dialoged pushed to DialogOverlay too early potentially doing cross-thread transforms
As seen at https://github.com/ppy/osu/runs/6287700705?check_suite_focus=true.
2022-05-04 20:23:36 +09:00
Dean Herbert
3eead5a6a3 Rename FlushAnimation to FlushPendingSelections to better match purpose 2022-05-04 19:40:08 +09:00
Jai Sharma
60999e83e0 Ensure ChatTextBox takes/leaves focus on chat overlay pop in/out 2022-05-03 22:33:36 +01:00
Jai Sharma
c17edb2848 Add padding to text in ChatTextBar to separate it from the textbox 2022-05-03 22:32:51 +01:00
Jai Sharma
50aee8b665 Ensure ChannelListSelector text also turns white when selected 2022-05-03 22:32:01 +01:00
Bartłomiej Dach
f5fa41356e
Rewrite mod instance management again to pass tests 2022-05-03 22:31:34 +02:00
Bartłomiej Dach
970361676b
Fix setting items not creating if mods initially not empty 2022-05-03 21:45:40 +02:00
Bartłomiej Dach
e3641213e1
Always hide unimplemented mods on mod select screen 2022-05-03 21:45:40 +02:00
Bartłomiej Dach
f91ee4b042
Reset panel mod instance settings to defaults on deselect 2022-05-03 21:45:40 +02:00
Bartłomiej Dach
7c04bf5c53
Refactor mod reference management to meet test expectations 2022-05-03 21:45:40 +02:00
Bartłomiej Dach
fe59f4ae58
Fix multiselection operation not flushing on close 2022-05-03 21:45:39 +02:00
Bartłomiej Dach
746a4a7403
Fix mod column using wrong equality type 2022-05-03 21:45:39 +02:00
Dean Herbert
2896612c5c Make exiting multiplayer a dangerous operation, requiring hold 2022-05-03 16:06:04 +09:00
Dean Herbert
04fb0f5e63
Merge pull request #18063 from GSculerlor/split-searchbox
Split `SearchTextBox` implementation for reusability
2022-05-03 14:12:44 +09:00
Huo Yaoyuan
7cf4dabe29 Fix IDE0005 and IDE0034 2022-05-03 13:09:19 +08:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Ganendra Afrasya
81be69e72e Update search textbox implementation to use BasicSearchTextBox instead 2022-05-03 06:18:42 +07:00
Jai Sharma
a931b1ecc3 Show selected channel text as white in ChannelListItem 2022-05-02 22:32:25 +01:00
Jai Sharma
7f8e00c1e3 Change "Add more channels" to sentence case in "ChannelList" 2022-05-02 21:22:47 +01:00
Jai Sharma
1473762e25 Don't wrap "chatting in.." text in ChatTextBar 2022-05-02 20:57:39 +01:00
Jai Sharma
e6f1ac6bec Ensure "chatting in..." text is aligned with chat message 2022-05-02 20:45:38 +01:00
Bartłomiej Dach
2b4a49e17f
Merge branch 'master' into move-difficulty-graph-toggle 2022-05-02 16:38:25 +02:00
Dean Herbert
c3e0ba5c8d Fix clicking anywhere in the beatmap overlay dismissing it 2022-05-02 20:27:00 +09:00
Salman Ahmed
337ee8f4c7
Merge branch 'master' into fix-first-run-ui-scale-applying-rate-adjust 2022-05-02 12:14:24 +03:00
Dean Herbert
53d65e8215
Merge pull request #18021 from frenzibyte/overlay-ruleset-selector-redesign
Update overlay ruleset selector inline with osu-web design
2022-05-02 17:53:01 +09:00
Dean Herbert
4b30d0e59b Fix first-run overlay's song select applying track adjustments
Closes https://github.com/ppy/osu/issues/18041.
2022-05-02 17:42:57 +09:00
Jai Sharma
4bd1d09148 Remove blank line 2022-05-01 12:20:11 +01:00
Jai Sharma
de393f735f Implement basic layout and behaviour of new chat overlay
Provides initial implementation of new chat overlay in component
`ChatOverlayV2`. Contains only the basic functionality required for
a functioning chat overlay according to the new design with the intent
of added the rest of the functionality in subsequent PRs.

Backports existing tests for the current chat overlay except for ones
testing keyboard shortcuts (since they haven't been added) and tab
closing behaviour (since no tabs).
2022-04-30 23:59:47 +01:00
Salman Ahmed
ba5da8a52a Fix tooltips not shown on selected tab 2022-04-30 15:37:44 +03:00
Salman Ahmed
c7ab9a8928 Add ruleset tab item tooltips 2022-04-30 15:37:44 +03:00
Salman Ahmed
3996972867 Remove unnecessary f suffix 2022-04-30 12:23:08 +03:00
Dean Herbert
27ee990359 Update first-run overlay footer buttons to use new sheared design 2022-04-29 23:45:17 +09:00
Salman Ahmed
9ea3e244e7 Adjust ruleset tab item content spacing to match web
Not too noticeable, but better match web in any case.
2022-04-29 12:48:09 +03:00
Salman Ahmed
4016fe1e19 Adjust profile ruleset selector to new design
Looks weird with `AlwaysPresent`.
2022-04-29 12:19:55 +03:00
Salman Ahmed
3829d27845 Update overlay ruleset selector design 2022-04-29 12:19:22 +03:00
Salman Ahmed
fef94d49f4 Revert "Convert data type of DistanceSpacing to float"
This reverts commit 7aaa88cac2.
2022-04-29 08:02:07 +03:00
Salman Ahmed
ef56dc07b5 Hide "modding" tab in user profile until it's implemented 2022-04-29 07:47:10 +03:00
Dean Herbert
c4495dafb6 Merge branch 'master' into move-difficulty-graph-toggle 2022-04-29 13:44:47 +09:00
Dan Balasescu
fc21de8138
Merge pull request #18008 from peppy/add-tutorial
Add first run "beatmaps" screen
2022-04-29 13:10:45 +09:00
Dean Herbert
652e022fd6
Merge pull request #17973 from bdach/mod-overlay/dim-columns-offscreen
Dim offscreen columns on new mod select overlay
2022-04-29 11:55:27 +09:00
Dean Herbert
845e7dba95 Reduce padding slightly to restore usability of UI scale screen 2022-04-29 11:27:14 +09:00
Dean Herbert
a75051cd00 Merge branch 'master' into add-tutorial 2022-04-29 11:25:17 +09:00
Bartłomiej Dach
96f6c918a8
Merge branch 'master' into first-run-behaviour-screen 2022-04-29 00:55:30 +02:00
Bartłomiej Dach
a748ad6426
Merge branch 'master' into first-run-header 2022-04-28 22:19:35 +02:00
Dean Herbert
a50dd2ae93 Fix rider failures in nullable 2022-04-28 20:15:40 +09:00
Dean Herbert
f300b62877 Add ScrollIntoView method which accepts an offset to allow usage in mod select 2022-04-28 20:03:54 +09:00
Dean Herbert
34457078eb
Merge pull request #18005 from nekodex/fix-missing-sfx
Fix some missing/incorrect UI SFX
2022-04-28 19:45:59 +09:00
Dean Herbert
694f33b827 Add localisation of beatmaps screen 2022-04-28 19:33:16 +09:00
Dean Herbert
b6896376e7 Better signal when no beatmaps are loaded 2022-04-28 19:08:16 +09:00
Dean Herbert
88bfd5dece Show current beatmap count on beatmap screen 2022-04-28 19:01:21 +09:00
Dean Herbert
4e0d70cbf4 Internalise bindable and progress handling to ensure transforms don't go backwards 2022-04-28 19:01:21 +09:00
Dean Herbert
9f6597695c Only mark stable import complete if it actually completes 2022-04-28 19:01:21 +09:00
Dean Herbert
c860eb46b0 Split out button implementation into its own class 2022-04-28 19:01:21 +09:00
Dean Herbert
081275e0b9 Adjust text and layout 2022-04-28 19:01:21 +09:00
Dean Herbert
3c0bdcaf38 Rename screen, add tests and add stable import step 2022-04-28 19:01:21 +09:00
Dean Herbert
58399a5113 Add tutorial download support and improve the visuals "slightly" 2022-04-28 19:01:21 +09:00
Dean Herbert
973dd4bfa9 Add initial flow for download button / progress display 2022-04-28 19:01:21 +09:00
Dean Herbert
b042f1cad5 Add screen to perform bundled beatmap downloads 2022-04-28 19:01:21 +09:00
Dean Herbert
94a393c9d7 Merge branch 'master' into first-run-header 2022-04-28 19:00:12 +09:00
Salman Ahmed
691bec6f16 Use LocalisableString.Interpolate instead of invalid TranslatableStrings 2022-04-28 11:38:40 +03:00
Jamie Taylor
92cac0b74e
Fix TabControls using the wrong sample 2022-04-28 17:30:24 +09:00
Salman Ahmed
be2d616e34 Fix localisation use cases not falling back to default(LocalisableString)
Previously such use cases have been returning `null` values just fine since `GetLocalisableString` was returning `LocalisableFormattableString`, and these null values were wrapped in `LocalisableString`s implicitly, therefore not requiring an explicit fallback string and `null` doesn't break anything.
2022-04-28 11:21:00 +03:00
Salman Ahmed
7aaa88cac2 Convert data type of DistanceSpacing to float 2022-04-28 10:24:36 +03:00
Dean Herbert
f3a0e2ed55 Increase fade duration 2022-04-28 14:59:39 +09:00
Dean Herbert
d0ccd6f895 Merge branch 'master' into first-run-header 2022-04-27 19:26:02 +09:00
Dean Herbert
e6bb5e84ec Merge branch 'master' into move-difficulty-graph-toggle 2022-04-27 17:22:25 +09:00
Dean Herbert
1a345c06c6 Fix regression in nested scroll behaviour due to the top level scroll container's type changing 2022-04-27 17:10:27 +09:00
Dean Herbert
b29af28028 Fix mod panels not ignoring super key presses
Most other usages have this included. Noticed that the panel was
changing state when exiting the game using cmd-w.

Would probably be nice to have an exposed `HasAnyModifierPressed` helper
property.
2022-04-27 16:55:17 +09:00
Dean Herbert
18e6629161 Merge branch 'master' into first-run-behaviour-screen 2022-04-27 16:02:57 +09:00
Dean Herbert
0354dd5ce6 Add comment regarding section initialisation in ScreenBehaviour 2022-04-27 16:02:39 +09:00
Dean Herbert
0343687b85 Make apply default methods more explicit in behaviour 2022-04-27 15:59:39 +09:00
Bartłomiej Dach
a849bfcf60
Rewrite dim test to pass headless
Unfortunately neuters the test a touch, but alas.
2022-04-26 23:11:41 +02:00
Bartłomiej Dach
921e8af3b0
Use more lenient column bounds for checking active state 2022-04-26 22:54:54 +02:00
Bartłomiej Dach
21377d2a4d
Fix inactive columns flickering on and off mid-scroll 2022-04-26 22:43:58 +02:00
Bartłomiej Dach
94d07e147f
Move dimming logic to custom scroll container 2022-04-26 22:37:40 +02:00
Bartłomiej Dach
e9c9c764ca
Fix column dim state changing when scrolling past extent 2022-04-26 22:26:58 +02:00
Bartłomiej Dach
13a36f2e51
Scroll to column when mouse is released rather than pressed 2022-04-26 22:01:24 +02:00
Bartłomiej Dach
b0d6e16658
Invert data flow in column dim implementation 2022-04-26 21:57:19 +02:00
Dean Herbert
280cd048f6 Fix joystick settings changing enabled state of config level bindables
Just copied what we had in place for the mouse sensitivity setting. For
tablet settings I believe I avoided this by just hiding the settings
when not enabled. Might be a better way forward, but this is simplest
for now.

Run `TestSceneSettingsPanel` twice to get a crash without this change.
2022-04-26 17:31:28 +09:00
Dean Herbert
01fdb771ee Add header text to first run setup screens 2022-04-26 16:22:41 +09:00
Dean Herbert
942f4e8ac2 Merge branch 'first-run-show-get-started' into first-run-behaviour-screen 2022-04-26 16:10:16 +09:00
Dean Herbert
a078440012 Show last step on back button as well 2022-04-26 16:03:17 +09:00
Dean Herbert
2c836e2d63 Fix scrollbar overlapping content 2022-04-26 15:55:32 +09:00
Dean Herbert
37ae39f5fe Move "Next" localisation to common strings 2022-04-26 15:48:40 +09:00
Dean Herbert
71aa7c813e Fix regressed logic for applying classic defaults 2022-04-26 15:33:39 +09:00
Dean Herbert
b41e273086 Convert function weirdness to property + bool 2022-04-26 15:06:27 +09:00
Bartłomiej Dach
e13d0d02ae
Use better way of calculating whether columns are fully on screen 2022-04-25 23:08:05 +02:00
Bartłomiej Dach
e384e074fb
Fix asymmetric margin of column scroll 2022-04-25 23:08:05 +02:00
Bartłomiej Dach
09c08248c4
Fix bounce when scrolling to first/last column 2022-04-25 23:08:05 +02:00
Bartłomiej Dach
ebc8429495
Dim offscreen columns & scroll to them if clicked 2022-04-25 23:08:04 +02:00
Dean Herbert
5e48b37569 Show "Get Started" text on first run button 2022-04-25 23:59:07 +09:00
Dean Herbert
07462384e8
Merge pull request #17930 from peppy/fix-song-select-music-control
Fix nested song select in first-run dialog fiddling with global audio
2022-04-24 19:18:27 +09:00
Dean Herbert
d92c905600 Actually use exposed property 2022-04-24 18:15:35 +09:00
Dean Herbert
83970f009c
Merge branch 'master' into settings-filter-regression-fix-2 2022-04-24 17:40:25 +09:00
Dean Herbert
176d263252
Merge pull request #17942 from maromalo/master
Add joystick/gamepad deadzone setting
2022-04-24 17:39:48 +09:00
Dean Herbert
c5e8f1d4ab
Merge pull request #17958 from peppy/fix-hide-case
Remove localisation of "hide" string to fix incorrect case
2022-04-24 17:38:49 +09:00
Dean Herbert
66b47d22d7 Also fix case of login form username/password 2022-04-24 17:11:25 +09:00
Dean Herbert
1b2467d3ed Disable first run screen from appearing on startup until it is more complete 2022-04-24 16:35:41 +09:00
Dean Herbert
2200067c52 Display deadzone as percentage and simplify surrounding code 2022-04-24 16:31:20 +09:00
Salman Ahmed
8ed39009fd Encapsulate distance spacing control handling to a "distance toolbox composite"
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
maromalo
5addcbf460 Changed KeyboardStep to 0.01 2022-04-23 13:16:20 -03:00
Dean Herbert
5d0842ac44 Add a few more classic defaults to missed settings 2022-04-23 21:53:47 +09:00
maromalo
6a87dfdabb More Code Quality
Double whoops.
2022-04-23 02:14:41 -03:00
maromalo
23ef1e194d Code Quality
Whoops.
2022-04-23 01:52:59 -03:00
maromalo
85c47e1ba7
Merge branch 'ppy:master' into master 2022-04-23 00:17:40 -03:00
maromalo
27f3499330 Add joystick/gamepad deadzone setting
Also splits joystick/gamepad into a new sub-section.
2022-04-23 00:17:00 -03:00
Bartłomiej Dach
98b7b156c7
Merge branch 'master' into first-run-setup-sheared-overlay 2022-04-23 00:32:07 +02:00
Salman Ahmed
7be2596312 Fix MatchingFilter being false by default 2022-04-22 23:50:58 +03:00
Bartłomiej Dach
e246357b36
Merge branch 'master' into sheared-overlay-container-click-away 2022-04-22 22:26:35 +02:00
Salman Ahmed
5120faa830 Merge branch 'master' into mod-overlay/incompatibility-panels-clickable 2022-04-22 22:19:42 +03:00
Salman Ahmed
4c7c611218 Fix settings overlay not invalidating presence on filter change 2022-04-22 20:34:00 +03:00
Dean Herbert
1caee38768 Add first-run "behaviour" screen to allow users a choice of more familiar UX 2022-04-22 18:06:56 +09:00
Dean Herbert
e0b9ab022d Add classic default values against setting controls 2022-04-22 18:05:24 +09:00
Dean Herbert
2a043aa6de Add a method of finding and applying settings with classic default value 2022-04-22 18:04:43 +09:00
Dean Herbert
7258a09748 Allow SettingsSections to exit without a parent SettingsPanel 2022-04-22 18:04:07 +09:00
Dan Balasescu
b1cf917b49
Merge pull request #17823 from peppy/settings-filter-fixes
Fix incorrect settings state if searching too quickly (during load process)
2022-04-22 16:38:41 +09:00
Dean Herbert
f735d381a7
Merge branch 'master' into mod-overlay/incompatibility-panels-clickable 2022-04-22 16:26:46 +09:00
Salman Ahmed
33d516eecb Move guest participation beatmap up to below loved 2022-04-22 09:28:29 +03:00
Dean Herbert
82a1d1cc2e Fix multiplier display not blocking input 2022-04-22 15:22:58 +09:00
Salman Ahmed
40d823bf69 Use localised string for guest participation beatmaps header 2022-04-22 09:18:46 +03:00
Salman Ahmed
2c21bd89e7 Display beatmap guest participations in user profile 2022-04-22 07:56:01 +03:00
Salman Ahmed
a9ea0ab91b Add support for fetching user guest participations 2022-04-22 07:55:39 +03:00
Bartłomiej Dach
b7c11cdb8e
Deselect old incompatible mods if any on user mod select screen 2022-04-21 23:49:30 +02:00
Bartłomiej Dach
32722adba9
Allow mod panels to be clicked in incompatible state 2022-04-21 23:37:01 +02:00
Bartłomiej Dach
8fe4443029
Update screen method signatures to match framework API changes 2022-04-21 22:29:23 +02:00
Bartłomiej Dach
8c6864727e
Merge branch 'master' into first-run-setup 2022-04-21 22:14:57 +02:00
Dean Herbert
749b86f0f4 Use new framework exposed event instead of schedule 2022-04-22 00:55:17 +09:00
Dean Herbert
119a81849c Merge branch 'update-framework' into settings-filter-fixes 2022-04-22 00:55:15 +09:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dean Herbert
ed6481f708 Also rename Welcome to WelcomeTitle to match other usages 2022-04-21 19:55:51 +09:00
Dean Herbert
1f967ecba3 Update string keys and change "setup" to "set up" to fix grammar 2022-04-21 19:52:28 +09:00
Dean Herbert
d17c16d904 Merge branch 'master' into first-run-setup 2022-04-21 19:50:26 +09:00
Dean Herbert
55270df6fc
Merge pull request #17833 from jai-x/new-chat-channel-list
Implement `ChannelList` for new chat design
2022-04-21 16:34:35 +09:00
Dean Herbert
0b81ae9de2 Convert to using sheared overlay container
Add better click-to-dismiss logic for sheader overlays
2022-04-21 16:28:44 +09:00
Dean Herbert
5c21a55e00 Merge branch 'sheared-overlay-container-click-away' into first-run-setup-sheared-overlay 2022-04-21 16:28:33 +09:00
Dean Herbert
0f4b40ab15 Add better click-to-dismiss logic for sheared overlays 2022-04-21 16:27:27 +09:00
Dean Herbert
7d8cf1bbb6 Merge branch 'master' into first-run-setup 2022-04-21 15:49:39 +09:00
Dan Balasescu
54ca4b9d36 Remove unused using 2022-04-21 15:34:14 +09:00
Dean Herbert
5c0e5eb6f4
Merge pull request #17899 from Joehuu/localise-most-strings
Use existing web localisation for most hardcoded strings
2022-04-21 14:48:12 +09:00
Dean Herbert
9f525ee267 Revert localisation of spectate/watch button 2022-04-21 14:09:51 +09:00
Dean Herbert
56d8de23e2
Replace horse with "more suitable" icon
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-21 12:18:54 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Jai Sharma
5319bce772 Revert DI usage of ChannelSelectorState in favour of directly binding BindableBool SelectorActive 2022-04-20 21:05:33 +01:00
Jai Sharma
e596c9d171 Use Bindable<ChannelSelectorState> to control selector active visibility 2022-04-20 19:12:43 +01:00
Dean Herbert
4466e15bfc Rename AllowConfiguration to AllowCustomisation and simplify drawable addition 2022-04-20 23:17:29 +09:00
Dean Herbert
b722ff8dc5 Merge branch 'master' into mod-overlay/extension-points 2022-04-20 23:17:04 +09:00
Dean Herbert
8c2d70e93f Disable forward button when already at end 2022-04-20 17:50:31 +09:00
Dean Herbert
65b2db5e71 Move shear constant to overlay (this is going to likely be used everywhere ever) 2022-04-20 16:30:58 +09:00
Dean Herbert
e17f224793 Fix padding mismatches 2022-04-20 16:28:52 +09:00
Dean Herbert
5c7ff363ce Move title/description to correct class 2022-04-20 16:08:00 +09:00
Dean Herbert
2ee37aeceb Reduce nesting and usage of GridContainer 2022-04-20 16:01:15 +09:00
Dean Herbert
1032dc235d Rename PopupScreenTitle to ShearedOverlayHeader 2022-04-20 16:01:15 +09:00
Dean Herbert
8d31b0bc01 Split out the base design of sheared overlay into its own abstract class
This will allow for reuse with the first-run overlay.
2022-04-20 15:50:16 +09:00
Dean Herbert
66373bf038 Move back button enable handling to shared method 2022-04-20 14:50:41 +09:00
Dean Herbert
9797e2d887 Rename showLastStep method to avoid ambiguity 2022-04-20 14:49:17 +09:00
Dean Herbert
488fc9db67 Reverse content colours to match design spec 2022-04-20 14:48:51 +09:00
Bartłomiej Dach
f82d58fa6a
Merge branch 'master' into update-paginated-profile-items-count 2022-04-19 22:17:26 +02:00
Jai Sharma
44c822f34d Use normal OsuScrollContainer for ChannelList 2022-04-19 16:56:55 +01:00
Dean Herbert
ce70c10afa Tidy up unused dependencies 2022-04-19 18:00:39 +09:00
Dean Herbert
17eaa44af1 Ensure notifications don't interrupt the first run setup process 2022-04-19 17:40:35 +09:00
Dean Herbert
e2da1d76ca Only show first run setup once per install 2022-04-19 16:59:25 +09:00
Dean Herbert
3378c91901 Fix double applied padding 2022-04-19 16:59:04 +09:00
Dean Herbert
1490502d4c Improve overall usability of scale adjust screen 2022-04-19 16:59:04 +09:00
Dean Herbert
c27831145c Add scroll and flow at the FirstRunSetupScreen level 2022-04-19 16:37:29 +09:00
Dean Herbert
6d534046ff Add keyboard traversal support for first run dialog (and tidy up step traversal logic) 2022-04-19 14:57:15 +09:00
Dean Herbert
e67cc293b8 Add localisation support for all new strings 2022-04-19 14:53:01 +09:00
Dean Herbert
5dc3805005 Fix stack nullability 2022-04-19 14:53:01 +09:00
Dean Herbert
02f8367d66 Improve animation when showing/hiding first run overlay 2022-04-19 14:53:01 +09:00
Dean Herbert
2682373bf2 Use existing blocking / exit logic provided by OsuFocusedOverlayContainer 2022-04-19 14:53:01 +09:00
Dean Herbert
9074eb283d Show a notification instead of blocking exit of wizard 2022-04-19 14:53:01 +09:00
Dean Herbert
3ea4eabdb6 Ensure button text is updated on going backwards 2022-04-19 14:53:01 +09:00
Dean Herbert
fb7dc89503 Ensure wizard returns to initial screen after completion 2022-04-19 14:53:01 +09:00
Dean Herbert
6716621444 Re-fix clicking inside display also dismissing 2022-04-19 14:53:01 +09:00
Dean Herbert
11395c40b7 Add button to access first run setup on demand 2022-04-19 14:53:01 +09:00
Dean Herbert
ea52fab5b1 Tidy up dependencies and test naming 2022-04-19 14:53:01 +09:00
Dean Herbert
56c4283764 Only exit dialog from click if outside the dialog content 2022-04-19 14:53:01 +09:00
Dean Herbert
288f759bb4 Add test coverage of navigation 2022-04-19 14:53:01 +09:00
Dean Herbert
07da1cd731 Move buttons to top level and add backwards navigation 2022-04-19 14:53:01 +09:00
Dean Herbert
3b94e01fe6 Improve layout of ui scale step 2022-04-19 14:53:01 +09:00
Dean Herbert
e064f2f23e Improve general layout and allow overlay to be displayed without dependencies for now 2022-04-19 14:53:01 +09:00
Dean Herbert
c2df3465b2 Add ui scaling setup screen, kind of 2022-04-19 14:53:01 +09:00
Dean Herbert
ae07b2b512 Initial setup 2022-04-19 14:53:01 +09:00
Dean Herbert
83e89b3e80 Add unread count to INotificationOverlay and fix toolbar button DI logic 2022-04-19 11:16:45 +09:00
Salman Ahmed
c858ec2483 Pagination -> `PaginationParameters 2022-04-19 02:48:34 +03:00
Salman Ahmed
96d4369cc8 Introduce Pagination and simplify paginated API requests 2022-04-19 02:04:23 +03:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Dan Balasescu
94e892df1c
Merge pull request #17862 from peppy/i-dialog-overlay
Split out `IDialogOverlay` to allow for easier testing
2022-04-19 05:24:05 +09:00
Salman Ahmed
f08449e432 Update paginated profile subsections to display items inline with web 2022-04-18 23:04:21 +03:00
Salman Ahmed
1fc28552b5 Minor reword inline comment 2022-04-18 21:07:20 +03:00
Salman Ahmed
16a0efc562 Cache IDialogOverlay as its type in interface 2022-04-18 21:06:27 +03:00
Dean Herbert
5d5e46ede7 Fix rider incompetency 2022-04-18 23:10:07 +09:00
Dean Herbert
aaf5577e6a Remove unnecessary canBeNull specification 2022-04-18 21:48:46 +09:00
Dean Herbert
d29312e070 Fix rider incompetency 2022-04-18 21:47:47 +09:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dean Herbert
2202863e1a Split out IPerformFromScreenRunner to allow for easier testing 2022-04-18 17:49:28 +09:00
Bartłomiej Dach
0d5ce336f4
Hide mod customisation toggle if customisation not permitted 2022-04-17 23:28:53 +02:00
Bartłomiej Dach
881df7663d
Fix filter not taking effect if applied before panel load completion 2022-04-17 23:28:53 +02:00
Bartłomiej Dach
8af865a1c5
Fix incompatibility panel using reference equality 2022-04-17 23:28:53 +02:00
Bartłomiej Dach
ffb5c1e86c
Tweak colours on incompatibility displaying mod panel 2022-04-17 23:28:52 +02:00
Bartłomiej Dach
20c17b8c98
Make base mod select screen abstract 2022-04-17 23:28:51 +02:00
Bartłomiej Dach
7eebc20124
Add replacements for mod overlays used by game 2022-04-17 23:28:51 +02:00
Bartłomiej Dach
67c44db8d5
Add extension points required for replacing old mod overlay 2022-04-17 23:28:51 +02:00
Jai Sharma
47c8b8010f Use semibold font weight for ChannelListItemFlow label 2022-04-16 23:03:03 +01:00
Jai Sharma
2f41cddb00 Remove redundant Expire call 2022-04-16 23:03:03 +01:00
Jai Sharma
36aea9009e Move ChannelList scrollbar to the right 2022-04-16 23:03:03 +01:00
Jai Sharma
4a0c5a0781 Remove hover override for ChannelListScrollContainer 2022-04-16 23:02:54 +01:00
Bartłomiej Dach
15c54b38c1
Merge branch 'master' into fix-popup-dialog-handling-exit-sequence 2022-04-16 19:01:18 +02:00