1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 18:20:34 +08:00
Commit Graph

7671 Commits

Author SHA1 Message Date
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
Jai Sharma
b6631fb9f9 Add newline for base class call 2022-04-15 22:22:20 +01:00
Jai Sharma
a0a2f8118e Code quality fixes 2022-04-15 22:05:20 +01:00
Jai Sharma
f1dd319fd9 Implement ChannelList for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChannelList` which makes up the sidebar channel
selector of the new chat design. Contains two separate fill flows for
public and private `ChannelItem` child components.

Exposed bindable `SelectorActive` to indicate current state of the "Add
more channels" button. Requires `Bindable<Channel>` from parent
component.

Renames and updates the `TestSceneChannelListItem` to
`TestSceneChannelList` to make use of new component and having both
tests seemed redundant.
2022-04-15 15:44:38 +01:00
Dean Herbert
423fae52f7 Add back base.IsPresent call 2022-04-15 10:19:36 +09:00
Dean Herbert
c57a918bbb Mark settings elements as matching filter by default to handle cases where no filtering is provided 2022-04-14 23:02:00 +09:00
Salman Ahmed
da098d071f
Merge branch 'master' into settings-inactive-dim 2022-04-14 15:52:51 +03:00
Dean Herbert
b088959045 Reduce settings fade in duration to higher alpha/colour cross-talk 2022-04-14 21:17:06 +09:00
Dean Herbert
9240148c8e Avoid initial fade of dim layer 2022-04-14 21:16:54 +09:00
Dean Herbert
f19208a245 Move dim layer to top and only apply dimming at one location 2022-04-14 21:04:52 +09:00
Dean Herbert
316c0845ec Fix current section not being correct after early search 2022-04-14 20:36:49 +09:00
Dean Herbert
9c7af98982 Fix alpha cross-talk causing settings to potentially not filter when they should 2022-04-14 20:35:00 +09:00
Dean Herbert
296420ae08 Fix settings textbox focus operation running too late 2022-04-14 20:14:02 +09:00
Salman Ahmed
59bb6b8f7c Add background dim effect to inactive settings sections 2022-04-14 13:43:12 +03:00
Salman Ahmed
566a20a623 Add keyword "delay" to hold-to-confirm activation time setting 2022-04-14 13:27:12 +03:00
Dean Herbert
1fdf742d38 Fix potentially incorrect button being pressed during PopupDialog hide due to flag set too late 2022-04-14 17:51:50 +09:00
Dean Herbert
f9d9e6aa61 Ensure popup dialogs are hidden before running any associated actions 2022-04-14 16:19:34 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Salman Ahmed
bad30d9e60 Fix dialog dangerous button being clickable at edges 2022-04-11 21:05:37 +03:00
Salman Ahmed
134d9b5ddf Perform Show() at the bottom of the method
Probably not affecting behaviour, but makes more sense.
2022-04-08 19:28:04 +03:00
Dean Herbert
57fb8616b8 Fix potential null reference when attempting to highlight a message before overlay has been displayed 2022-04-09 00:31:00 +09:00
Dean Herbert
ae1e126837 Make HighlightMessage implicitly show chat overlay 2022-04-09 00:30:28 +09:00
Bartłomiej Dach
e658b63dbc
Merge branch 'master' into clock 2022-04-07 20:27:23 +02:00
Salman Ahmed
a616f5bc2a Fix regressed digital clock width conditional 2022-04-07 19:24:15 +03:00
Salman Ahmed
c323020fcf Fix Use24HourDisplay conditional flipped 2022-04-07 15:56:28 +03:00
Dean Herbert
b2c0eaeab4 Make string read better 2022-04-07 18:20:15 +09:00
Dean Herbert
555aee7b6a Remove incorrect and pointless complexity to width changes 2022-04-07 18:16:14 +09:00
Dean Herbert
7530fe5adf Move default specification to configuration initial value 2022-04-07 18:13:23 +09:00
Dean Herbert
37509e04a9 Rename variable and fix inspections 2022-04-07 18:11:30 +09:00
Perry MacMurray
2525ec0d18 Switch 24H toggle from UI settings to language settings 2022-04-05 17:07:58 -04:00
Perry MacMurray
9d475f7b33 Add config in settings for forcing 24H time, determines default off CurrentCulture 2022-04-05 16:21:28 -04:00
Bartłomiej Dach
9c91e6d8f5
Merge branch 'master' into mod-overlay/full-screen 2022-04-05 21:29:40 +02:00
Perry MacMurray
74706f72e6 Add 12-hour display setting (TODO add toggle) 2022-04-05 15:10:55 -04:00
Dean Herbert
ac799aaf7a Add missing newline 2022-04-05 19:25:47 +09:00
Dean Herbert
32daf64a31 Use newly exposed framework helper function to find closest parent 2022-04-05 19:24:34 +09:00
Dean Herbert
631aa2a6ec Remove left padding to allow left-most column to exist further to the.. left 2022-04-05 18:44:25 +09:00
Dean Herbert
54715885af Adjust animation metrics slightly 2022-04-05 18:41:01 +09:00
Dean Herbert
7a1820e6bb Fix multiplier display resetting transformations 2022-04-05 18:40:48 +09:00
Dean Herbert
9fdeb20537 Animate individual ModColumns during togle of oerlay 2022-04-05 18:27:34 +09:00
Dean Herbert
901032bfa2 Animate multiplier display 2022-04-05 18:25:27 +09:00
Dan Balasescu
2b59f76b2d
Merge pull request #17596 from peppy/skin-editor-sprites
Allow importing sprites into a skin via drag-and-drop
2022-04-05 17:38:58 +09:00
Dean Herbert
497e5e3a36 Slightly adjust scroll handling and also apply to ModSettingsContainer 2022-04-05 17:19:33 +09:00
Dean Herbert
a408776734 Limit FillFlow of columns to applicable direction 2022-04-05 17:15:05 +09:00
Dean Herbert
388322cd61 Speed up customisation panel toggle a bit 2022-04-05 16:56:24 +09:00
Dean Herbert
58e9147b12 Simplify and better comment nested scroll conditionals 2022-04-05 16:48:25 +09:00
Dean Herbert
f156cb797d Improve nested scroll behaviour 2022-04-05 16:46:09 +09:00
Dean Herbert
23dad7bdc4 Move scroll view padding to content level
Without doing this, there is a non-masked but also non-interactive area
to the left or right of the view.
2022-04-05 16:43:00 +09:00
Bartłomiej Dach
9b367d645d
Always play pop in sequence 2022-04-04 20:02:47 +02:00
CenTdemeern1
9a07a95d39 Make several delete confirmation buttons dangerous buttons
Includes:
- Mass deletion
- Beatmap deletion
- Local score deletion
2022-04-04 19:22:53 +02:00
Dean Herbert
57b8c32f25 Remove unused fields 2022-04-04 20:42:14 +09:00
Dean Herbert
bc53adb72a Adjust customisation transition slightly 2022-04-04 15:50:40 +09:00
Dean Herbert
b5df350007 Adjust pop in/out transitions 2022-04-04 15:45:44 +09:00
Dean Herbert
d6625413fa
Merge pull request #17617 from ajiiisai/proper-toggable-shortcuts-for-overlays
Make overlay shortcuts able to be toggled instead of repeatable
2022-04-04 13:46:42 +09:00
Bartłomiej Dach
cd776d21a6
Fix propagation of selected mods to columns 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
e46c2df409
Add testing for customisation panel show/hide logic 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
1393e3628b
Invert operands for better readability 2022-04-03 15:24:00 +02:00
Dean Herbert
969f7e121a
Merge pull request #17545 from jai-x/new-chat-textbox
Implement `ChatTextBox` for new chat design
2022-04-03 22:12:12 +09:00
Bartłomiej Dach
970b1951ac
Rewrite logic slightly to better convey meaning of textbox clear 2022-04-03 14:26:08 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Ame
35629e9be8 General fix for ToolbarButton toggle repetition 2022-04-02 20:45:00 +02:00
Bartłomiej Dach
28ba437d24
Merge branch 'master' into sucess-rate-tooltip 2022-04-02 19:31:45 +02:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Jai Sharma
b9421d1415 Simplify text clear and placeholder change in ChatTextBox 2022-04-02 17:14:27 +01:00
Salman Ahmed
beb8426d3b Save beatmap listing card size to game config 2022-04-02 18:36:49 +03:00
Salman Ahmed
ced5be33e6 Display pass/play count in success rate percentage tooltip 2022-04-02 18:08:57 +03:00
Dean Herbert
6afed5e865 Fix new SettingsItem attribute not playing well with non-Drawables 2022-04-01 16:01:33 +09:00
Dean Herbert
66f5eae530 Hook up a dropdown to show all available sprites for the current skin 2022-04-01 15:01:43 +09:00
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07:00
CenTdemeern1
86d262a355
Merge branch 'ppy:master' into clock-button 2022-03-31 23:08:30 +02:00
CenTdemeern1
bdb21b17f7 Fix my code according to the changes @bdach requested 2022-03-31 20:39:26 +02:00
CenTdemeern1
c64a90b39e Remove a newline to comply with codefactor 2022-03-31 17:21:50 +02:00
CenTdemeern1
f1aa60c0f1 Make the clock feel more like a button 2022-03-31 16:26:53 +02:00
Dean Herbert
0a34ce2509 Increase font weight for runtime clock
Fonts this small are required to be `SemiBold` by design guidelines.
Somehow missed this.
2022-03-31 19:07:30 +09:00
Dean Herbert
e8a295a61b Add test coverage of textbox focus in settings panels when switching between nested panels 2022-03-31 15:24:21 +09:00
Jai Sharma
fff30e8a6e Simplify show/hide of text and search in ChatTextBar 2022-03-30 21:02:12 +01:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Jai Sharma
eec3fef7a6 Remove the enter box in ChatTextBar 2022-03-30 20:25:23 +01:00
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Jai Sharma
e7d2d94eee Fix code quality issues in ChatTextBar 2022-03-30 02:16:50 +01:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Dean Herbert
4741679a94
Change confirmation message to be more clear about intentions
Co-authored-by: Henry Lin <henry.ys.lin@gmail.com>
2022-03-29 19:03:50 +09:00
Dean Herbert
1fb3d11591 Add ability to "migrate" data to another folder which has an existing install
Until now, migrating would always attempt to move files.

There's a chance that a user is reinstalling osu! but has their data at
a custom location. We want to allow the chance for them to continue
using the external data. This seems like the easiest way to make it
work.

Would be nice if we had a `Game.Restart()` method, but maybe this is
enough for now?

Note that further down the road we will probably prompt the user to
potentially select a custom install path (including one with existing
data) before osu! gets to writing anything.
2022-03-29 18:04:31 +09:00
Dean Herbert
dc7dc7f65a Update UserProfileOverlay and ClickableAvatar to treat system users more correctly 2022-03-28 22:57:16 +09:00
Salman Ahmed
b6822f8190 Remove redundant/outdated Origin line 2022-03-26 14:55:19 +03:00
Dean Herbert
9b7b897b3c Adjust padding to fit better 2022-03-26 20:34:50 +09:00
Dean Herbert
ab8db3b7dc Move nested classes to own files 2022-03-26 20:34:17 +09:00
Dean Herbert
4ddf3cb1d9 Add ability to cycle between clock display modes 2022-03-26 19:18:41 +09:00
Dean Herbert
97e9049a2c Adjust metrics and colours to better match the actual toolbar 2022-03-26 18:56:40 +09:00
Dean Herbert
252d1924e7 Adjust metrics for better legibility at small sizes 2022-03-26 18:13:33 +09:00
Dean Herbert
999ae88af2 Show game time display in clock 2022-03-26 18:13:20 +09:00
Dean Herbert
e8f5a8e3d6 Refactor hands for legibility (visual and code) 2022-03-26 18:13:13 +09:00
Dean Herbert
0d8a7246dd Add basic implementation of clock 2022-03-26 18:13:13 +09:00
Dean Herbert
1acfbf490b
Merge branch 'master' into mod-overlay/settings-area 2022-03-25 17:37:39 +09:00
Dean Herbert
2938f44e6c Update PresentExternally usages in line with framework changes 2022-03-24 23:41:07 +09:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes 2022-03-22 20:37:43 +01:00
Bartłomiej Dach
8192fb47fe
Merge branch 'master' into skin-editor-eat-input 2022-03-22 19:22:48 +01:00
Dean Herbert
f95bd89166 Revert editor exit behaviour to exit without changes for now 2022-03-22 14:46:57 +09:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
2f18c512cd Convert SkinEditorOverlay to an OverlayContainer to allow it to block input 2022-03-21 17:33:56 +09:00
Dean Herbert
b42081dd9b Add DangerousButton for use in popup dialogs 2022-03-21 16:06:45 +09:00
Dean Herbert
3bb01fd595 Fix close button animation not being applied correct on mouse down due to conflicting scales 2022-03-21 14:41:57 +09:00
Dean Herbert
7ca3beb7cc Also add fade to ChannelItem selected box 2022-03-21 14:41:42 +09:00
Dean Herbert
428e439f40 Remove space between '#' and channel name
This was in flyte's design (he was following discord) but doesn't feel
too correct when it's not aligned with anything else. We can revisit
this if/when we have better glyphs to represent channel types.
2022-03-21 14:36:56 +09:00
Dean Herbert
16caf2d30b Add slight animation when highlighting an unread channel 2022-03-21 14:34:54 +09:00
Dean Herbert
692362131e Add animation when mention pill appears (or a new message arrives) 2022-03-21 14:31:51 +09:00
Dean Herbert
11b050b66b Add slight fade when hovering ChannelListItems 2022-03-21 14:28:14 +09:00
Dean Herbert
9eda2f2df1 Remove box surrounding close button 2022-03-21 14:25:29 +09:00
Dean Herbert
f922a6b556 Rename renaming button/pill classes 2022-03-21 14:15:22 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00
Salman Ahmed
b9859f9f21 Obsolete BeatmapInfo.MaxCombo and suppress in usages 2022-03-20 16:30:29 +03:00
Jai Sharma
f3702fbefb Pass correct params to UpdateableAvatar ctor in ChannelListItem 2022-03-19 22:20:17 +00:00
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00
Jai Sharma
653bb47dd5 Use UpdateableAvatar and remove redundant ControlItemAvatar class 2022-03-19 21:36:11 +00:00
Jai Sharma
5373c3066f Use OsuAnimatedButton as base for ControlItemClose 2022-03-19 21:23:32 +00:00
Jai Sharma
a293e0c766 Remove redundant ControlItemText class 2022-03-19 16:44:58 +00:00
Dean Herbert
dfda093f4b Rename icon creation method 2022-03-18 14:03:52 +09:00
Dean Herbert
5d940ded09 Fix incorrect usage of nullable in ControlItemMention 2022-03-18 13:59:03 +09:00
Dean Herbert
d1fd14e287 Add missing nullable 2022-03-18 13:57:36 +09:00
Salman Ahmed
7aae9bbd1b Improve channel bindable logic in ChatOverlay to avoid potential nullrefs 2022-03-17 08:31:38 +03:00
Bartłomiej Dach
624f9fc774
Implement mod settings area component 2022-03-16 23:13:11 +01:00
Bartłomiej Dach
b21fa78cbf
Move dependencies out of fields to BDL args where possible 2022-03-16 21:55:36 +01:00
Dean Herbert
603527d72d Fix potential crash when highlighting chat messages
Test failed locally in `TestPublicChannelMention`. This test seems to
specify that the same message may arrive twice with the same ID, so
rather than overthinking this one I propose we just use `FirstOrDefault`.

```csharp
TearDown : System.AggregateException : One or more errors occurred.
(Sequence contains more than one matching element)
  ----> System.InvalidOperationException : Sequence contains more than
one matching element
--TearDown
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,
CancellationToken cancellationToken)
   at osu.Framework.Extensions.TaskExtensions.WaitSafely(Task task)
   at osu.Framework.Testing.TestScene.checkForErrors()
--InvalidOperationException
   at System.Linq.ThrowHelper.ThrowMoreThanOneMatchException()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source,
Func`2 predicate, Boolean& found)
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1
source, Func`2 predicate)
   at
osu.Game.Overlays.Chat.DrawableChannel.<processMessageHighlighting>b__14_0()
in
/Users/dean/Projects/osu/osu.Game/Overlays/Chat/DrawableChannel.cs:line
102
   at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
```
2022-03-16 18:38:06 +09:00
Jai Sharma
e38d9eafa0 Use BindTarget instead of caching for ControlItem unread flow 2022-03-15 22:37:15 +00:00
Jai Sharma
49b74d7867 Use BindTarget instead of caching for ControlItem mentions bindable flow 2022-03-15 22:33:36 +00:00
Jai Sharma
481b8fe80b Use Orange1 for ControlItemMention background colour 2022-03-15 22:22:32 +00:00
Jai Sharma
7621e779fa Move ControlItem Action assignments into BDL 2022-03-15 22:19:58 +00:00
Jai Sharma
73a0373b4e Code quality fixes 2022-03-14 21:56:56 +00:00
Jai Sharma
ec61b88ec2 Adjust ControlItem padding 2022-03-14 21:39:57 +00:00
Jai Sharma
75958bf270 Refactor ControlItemText to use bindable flow for unread state 2022-03-14 21:32:30 +00:00
Jai Sharma
b01a809d55 Refactor ControlItemMention to use bindable flow 2022-03-14 21:26:33 +00:00
Jai Sharma
1f0f6990f0 Use ColourProvider.Content1 for ControlItemText colour 2022-03-14 21:16:28 +00:00
Jai Sharma
3aa343b987 Use OsuColour.YellowLight for ControlItemMention background 2022-03-14 21:14:33 +00:00
Jai Sharma
9621ef9437 Use OsuColour.Red1 for ControlItemClose hover colour 2022-03-14 21:10:39 +00:00
Jai Sharma
e91af664ef Adjust ControlItemAvatar placeholder animation and colour 2022-03-14 20:37:54 +00:00
Jai Sharma
12472593cc Mark required dependencies as non-nullable 2022-03-14 20:14:04 +00:00
Jai Sharma
c0d82dfb41 Code quality fixes 2022-03-14 19:42:55 +00:00
Jai Sharma
39c30516d0 Implement ChannelControlItem for new chat design
Adds new component `ChannelControlItem` and it's child components to be
used as the clickable control in the new chat sidebar for joined
channels.

Has public properties `HasUnread` and `MentionCount` to control the
display of the channel having unread messages or mentions of the user.

Channel select/join requests are exposed via `OnRequestSelect` and
`OnRequestLeave` events respectively which should be handled by a parent
component.

Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.

Requires a cached `OveralayColourScheme` instance to be provided by a
parent component.
2022-03-14 18:55:27 +00:00
Salman Ahmed
53c57661c7 Move implementtaion detail to inline comment 2022-03-11 18:34:22 +03:00
Salman Ahmed
5b70139b33 Avoid running message highlight processing more than once 2022-03-11 18:32:49 +03:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight 2022-03-11 17:51:22 +03:00
Salman Ahmed
d07e3101ea Improve message highlight handling in DrawableChannel 2022-03-10 23:07:15 +03:00
Salman Ahmed
a31611bdec Improve channel switching flow in HighlightMessage 2022-03-10 23:07:15 +03:00
Salman Ahmed
5315ff794a Handle non-existing channels on message highlighting gracefully 2022-03-10 21:29:32 +03:00
Salman Ahmed
717ddbba4e Fix skin components toolbox not autosizing properly 2022-03-10 16:30:20 +03:00
Dean Herbert
46f2db1712 Move ChannelListingItem spacing into item so input is always handled by an item in the list
Without this change, there would be a couple of pixels between each list
item where nothing would be hovered. This is a pretty annoying UX which
we should be avoiding we possible.
2022-03-10 15:58:57 +09:00
Dean Herbert
1a187d4dec Add animation to checkbox when joning/leaving a channel 2022-03-10 15:54:42 +09:00
Dean Herbert
0155519343 Merge branch 'master' into new-chat-channel-listing 2022-03-10 15:49:06 +09:00
Dean Herbert
022dd88aef
Merge branch 'master' into chat-mention-highlight 2022-03-10 14:23:23 +09:00
Salman Ahmed
b25c37ce62 Instantiate highlight background container on animation
Also removes the necessity of scheduling as it actually never worked as
intended, `Scheduler` will still update even when the chat line is
masked away, and the animation will never be held anyways.

The new duration of the animation should be enough for long scrolls
either way.
2022-03-10 03:49:42 +03:00
Salman Ahmed
cf9671cafb Increase highlight delay to 1500ms 2022-03-10 02:50:15 +03:00
Salman Ahmed
80c0df6af5 Scroll chat line to channel center
We may eventually want that encapsulated within `ScrollIntoView`, as it
would also come in handy for `GameplayLeaderboard`.
2022-03-10 02:50:15 +03:00
Salman Ahmed
93cf93943f Schedule chat line highlight after children to handle non-loaded lines 2022-03-10 02:48:33 +03:00
Salman Ahmed
2d8983383a Revert newMessagesArrived changes and always schedule highlight
In the case a message arrives and the chat overlay is hidden, clicking
on the mention notification will not work as the `HighlightedMessage`
bindable callback will execute before the scheduled `newMessagesArrived`
logic (which was hanging since the message arrived until the chat
overlay became open because of the notification).

Simplify things by always scheduling the `HighlightedMessage` bindable
callback.
2022-03-10 01:11:27 +03:00
Jai Sharma
b67f9269f9 Remove NewChat namespace 2022-03-09 18:13:56 +00:00
Dean Herbert
affcf5180b
Merge pull request #17161 from smoogipoo/fix-listing-score-conversion
Fix scores not being recalculated in beatmap overlay
2022-03-09 13:32:45 +09:00
Dean Herbert
58aef25ad5
Merge pull request #17152 from bdach/mod-overlay/difficulty-multiplier
Implement difficulty multiplier display for new mod select design
2022-03-09 12:11:16 +09:00
Jai Sharma
7daa2d0ea4 Use correct fonts and colours in ChannelListingItem 2022-03-09 00:36:19 +00:00
Jai Sharma
7dd51a9c4a Reorder class attributes 2022-03-09 00:12:44 +00:00
Jai Sharma
a3477c3841 Implement ChannelListing for new chat design
Adds components `ChannelListing` and `ChannelListing` item with visual
test. Essentially a more simplified version of the existing
`ChannelSelectionOverlay` component.

Correctly implements `IFilterable` behaviour to filter child channel
items. Channel joined state is based on the underlying `Joined` bindable
of the `Channel` class.

Channel join/leave events are exposed via `OnRequestJoin` and
`OnRequestLeave` events which should be handled by parent component.

Requires a cached `OverlayColourScheme` instance to be provided by the
parent overlay component when added.
2022-03-08 22:30:58 +00:00
Dean Herbert
a2ef086c1f Fix potential crash on rare incorrect firing of skin dropdown update methods
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.

There's a chance that the dropdown is not populated by the time
`updateSelectedSkinFromConfig` is fired via an external means (config
changes).
2022-03-09 01:08:13 +09:00
Dan Balasescu
f5cd967635 Fix scores not being recalculated in beatmap listing 2022-03-08 19:07:39 +09:00
Salman Ahmed
5e0882df8d Simplify message highlighting transforms 2022-03-08 04:00:11 +03:00
Salman Ahmed
d74064b94b Use Equals instead of reference equality operator 2022-03-08 03:56:27 +03:00
Salman Ahmed
f645869958 Update ChannelManager.CurrentChannel directly to handle non-loaded chat scenario
`currentChannel` gets instantiated once the chat overlay is open, while
`HighlightMessage` could be called while the chat overlay has never been
open.

This will all be rewritten with the new chat overlay design anyways, so
should be fine for now.
2022-03-08 03:42:18 +03:00
Salman Ahmed
7f47be4680 Refactor message highlighting logic to rely on a Channel data bindable 2022-03-08 03:19:37 +03:00
Salman Ahmed
22a2ef42c5 Check channel ID on message highlight using currentDrawableChannel 2022-03-08 01:22:47 +03:00
Bartłomiej Dach
643f68e844
Better annotate initial rolling counter value set 2022-03-07 23:11:20 +01:00
Bartłomiej Dach
019f4d965d
Show two decimal digits on mod multiplier rather than one 2022-03-07 22:55:55 +01:00
Bartłomiej Dach
c25d7a1c75
Use rolling counter for multiplier display 2022-03-07 22:50:51 +01:00
Bartłomiej Dach
78a3b5961e
Implement basic difficulty multiplier display 2022-03-07 22:50:51 +01:00
Salman Ahmed
f4fa80c1e3 Add support to highlight messages in chat overlay 2022-03-07 05:10:49 +03:00
Salman Ahmed
30b38345aa Add ability to highlight chat lines 2022-03-07 05:08:36 +03:00
Salman Ahmed
a13a087f5d Add xmldoc to trackNewContent to explain its purpose 2022-03-06 23:51:27 +03:00
Salman Ahmed
9ec0e74813 Move scrolling to UpdateAfterChildren to avoid scheduling
At least that's what I believe "let FillFlow update to new size" means.
2022-03-06 23:50:58 +03:00
Salman Ahmed
9bc1f3f014 Further refactor and simplify ChannelScrollContainer 2022-03-06 23:34:12 +03:00
Salman Ahmed
5b3ffb12b7 Refactor channel scrolling container to handle manual scrolls resiliently 2022-03-05 23:27:07 +03:00
Dean Herbert
6264dd266d
Merge pull request #17087 from peppy/combine-time-slider-implementation
Centralise implementation of slider bars which display millisecond time values
2022-03-05 23:48:26 +09:00
Bartłomiej Dach
346cec3577
Merge branch 'add-offset-adjust-tooltip-text' into combine-time-slider-implementation 2022-03-05 14:58:56 +01:00
Bartłomiej Dach
38abfbf4d1
Merge branch 'master' into add-display-choice-dropdown 2022-03-05 14:39:59 +01:00
Bartłomiej Dach
1e34aca984
Rename method to better fit purpose 2022-03-05 14:38:15 +01:00
Dean Herbert
524b8e02ef Revert "Update all usages of OsuSlider.TooltipText overrides to instead implement GetTooltipText"
This reverts commit abba49fd8f.
2022-03-05 22:37:36 +09:00
Dean Herbert
bbc2b36117 Merge branch 'master' into add-offset-adjust-tooltip-text 2022-03-05 22:37:04 +09:00
Dean Herbert
6673e456c5
Merge pull request #17090 from miniriley2012/wiki-locale-fix
Fix wiki links containing locale not loading when opened from chat.
2022-03-04 19:36:14 +09:00
Salman Ahmed
3fdc7ed9d2 Remove brackets surrounding one-line statements 2022-03-04 10:14:19 +03:00
Salman Ahmed
129c290ca0 Dispose cancellation token source on disposal 2022-03-04 10:01:07 +03:00
Salman Ahmed
76c293b9e9 Fix cancellation token source recreated on every medal 2022-03-04 10:00:56 +03:00
Riley Quinn
8491bab77c
Replace string locale with Language 2022-03-04 00:57:13 -06:00
Riley Quinn
81a49057ec
Fix wiki links containing locale not loading when opened from chat. 2022-03-03 23:38:51 -06:00
Dean Herbert
33862fc0db Centralise implementation of slider bars which display millisecond time values 2022-03-04 12:25:19 +09:00
Dean Herbert
7854a0a913 Use double instead of float for UIHoldActivationDelay configuration value
All times use double, so let's also use double here.
2022-03-04 12:22:56 +09:00
Dean Herbert
abba49fd8f Update all usages of OsuSlider.TooltipText overrides to instead implement GetTooltipText 2022-03-04 12:16:05 +09:00
Dean Herbert
3a37e6e8b1 Fix profile badges potentially showing on incorrect profile when switching users
Closes https://github.com/ppy/osu/issues/17081.
2022-03-04 12:01:00 +09:00
Dean Herbert
9c43500ad3 Add ability for player loading screen settings to scroll
As we add more items here this is going to become necessary. Until the design no doubt gets changed.
2022-03-03 16:23:31 +09:00
Dean Herbert
c06703d662 Add ability to select which display the game runs on 2022-03-02 18:29:07 +09:00
Bartłomiej Dach
899b95e61b
Do not delay inital mod update by a frame 2022-02-28 21:46:58 +01:00
Bartłomiej Dach
e8701f46f1
Add xmldoc to Filter to explain usage 2022-02-28 21:39:21 +01:00
Bartłomiej Dach
6cc972aa6a
Fix test failures by waiting for panel load 2022-02-28 21:36:13 +01:00
Dean Herbert
4a555d067d Change ModPanel to not handle OnMouseDown to allow drag scrolling in ModColumn 2022-02-28 14:32:50 +09:00
Bartłomiej Dach
774952adda
Rescale components from figma to real dimensions 2022-02-27 23:08:31 +01:00
Bartłomiej Dach
16c6b9b3b3
Add keyboard selection support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
b690df05de
Hide multiselection checkbox if everything is filtered 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a83f96b026
Add filtering support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a80b4334ff
Tweak layout of column display for better spacing 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
f40bd39487
Add toggle all checkbox to column display 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design 2022-02-27 22:51:27 +01:00
Dan Balasescu
a86bc344da
Merge pull request #16977 from peppy/pause-at-results
Allow pausing audio via hotkey at multiplayer lobby and results screen
2022-02-25 19:13:06 +09:00
Bartłomiej Dach
c189cc5d00
Remove unused using directive 2022-02-24 21:01:37 +01:00
Dean Herbert
401cf2a955 Allow pausing game-wide audio via hotkey as long as LocalUserPlaying is not set
`Player` seems to handle this correctly locally already, which is to say
if the user attempts to toggle the pause state incorrectly, it will
still recover.

The logic stoppic this operation was only in the key binding handler,
which meant it was already possible from the now playing overlay this
whole time, so I *think* this should be quite safe.
2022-02-24 16:00:14 +09:00
Dean Herbert
435bdd0b4a Combine and simplify state management logic
This makes a few changes to bring things into a better shape during
mouse interactions with the mod panels:

- Dragging away from the panel now works in line with other buttons (ie.
  `OsuButton`)
- Hovering now uses a lightened version of the current state, rather
  than always using the active colour. I think this feels better.
- Mouse down now uses a transform point of 0.5. This is to give the
  button a feeling of one of those latching light switches which resists
until reaching a point of overcoming the spring and switching state. I
think 0.4 (non-active) and 0.6 (from active) may work better, but left
at 0.5 for simplicity of implementation and I think it's good enough?
- Border always uses the gradiented version. I did this for simplicity
  of implementation, but also think it looks better.
- Adjusted transform durations to feel better to me.
2022-02-24 15:25:30 +09:00
Dean Herbert
6e8daa06fa Merge branch 'master' into mod-overlay/panel 2022-02-24 14:34:59 +09:00
Bartłomiej Dach
713f89a59c
Implement incompatibility-displaying variant of mod panel 2022-02-23 23:19:06 +01:00
Bartłomiej Dach
bbe2dfa458
Move out incompatibility displaying tooltip to own class 2022-02-23 23:18:15 +01:00
Bartłomiej Dach
8a0aba6c59
Implement mod panel for new mod select screen 2022-02-23 23:18:14 +01:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling 2022-02-23 21:10:27 +01:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling 2022-02-22 22:42:16 +01:00
Dean Herbert
6de4e05e49 Fix current selection not being correctly maintained when BeatmapPicker updates its display 2022-02-22 17:17:08 +09:00
Dean Herbert
e744840d07 Ensure old results are cleared from beatmap overlay on logout 2022-02-22 14:56:04 +09:00
Dean Herbert
d6032a2335 Fix beatmap overlay not re-fetching results after login 2022-02-22 14:55:52 +09:00
Dean Herbert
fc1877b6fa Move to extension method and revert logic to match previous implementation 2022-02-21 13:42:26 +09:00
Dean Herbert
79408f6afc Add xmldoc and clean up ScoreboardTimeUtils extension methods a touch 2022-02-21 13:30:58 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 12:11:10 +09:00
Bartłomiej Dach
36a00c1ee2
Remove static OverlayColourProviders 2022-02-20 21:09:08 +01:00
Bartłomiej Dach
ce0db9d4db
Remove all references to static OverlayColourProviders 2022-02-20 21:09:08 +01:00
Bartłomiej Dach
79ba37bbab
Add Colour0 to OverlayColourProvider 2022-02-20 21:09:08 +01:00
Bartłomiej Dach
2592f0900d
Add comments about OverlayColourProvider vs OsuColour distinction 2022-02-20 21:08:58 +01:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together 2022-02-19 20:47:02 +01:00
Salman Ahmed
b66566e96d Use explicit culture info rather than null 2022-02-16 10:35:57 +03:00
Salman Ahmed
7654584e40 Allow using SizeSlider on different value types 2022-02-16 03:25:03 +03:00
Salman Ahmed
f7edf25d4c Remove no longer required property 2022-02-16 03:23:02 +03:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Salman Ahmed
f5d0eb41cb Update further ChangeFocus usages 2022-02-15 02:42:39 +03:00
Salman Ahmed
9504942cfd Add test case for distance spacing hotkeys scrolling behaviour 2022-02-15 02:21:53 +03:00
Bartłomiej Dach
4bd58cfde1
Update one more custom transform with BorderColour type change 2022-02-14 18:52:19 +01:00
Dean Herbert
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +09:00
Dean Herbert
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +09:00
Salman Ahmed
ccd6648961 Update pinned score container header to use localised title 2022-02-11 09:22:09 +03:00
Salman Ahmed
4f7003928a Add score container for pinned scores in ranks section 2022-02-10 21:32:18 +03:00
Dean Herbert
eda213e4de
Merge pull request #16827 from smoogipoo/spectator-state-rework
Add user state to SpectatorState, allowing multiplayer to continue to results
2022-02-11 01:48:47 +09:00
Dean Herbert
44f2d8a448 Allow game folder migration to fail gracefully when cleanup cannot completely succeed 2022-02-10 19:30:26 +09:00
Dean Herbert
88bb9d4237 Fix migration errors not outputting the call stack to logs 2022-02-10 15:50:03 +09:00
Dean Herbert
c242a63b11 Fix playlist overlay null reference when attempting an empty selection
As reported at https://github.com/ppy/osu/discussions/16829.
2022-02-09 10:16:45 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Salman Ahmed
bbef12e72c Refactor ExpandingControlContainer to no longer rely on controls 2022-02-04 05:45:12 +03:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls 2022-02-03 19:23:34 +09:00
Dan Balasescu
81a22dbd29 Add back playing users list 2022-02-02 23:19:43 +09:00
Dan Balasescu
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
Dan Balasescu
f4210f7a30 Rework spectator components to use new user state 2022-02-01 21:53:25 +09:00