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 OverlayColourProvider
s
2022-02-20 21:09:08 +01:00
Bartłomiej Dach
ce0db9d4db
Remove all references to static OverlayColourProvider
s
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
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
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
Dan Balasescu
502e6af008
Remove PlayingUsers list from SpectatorClient
2022-02-01 14:42:30 +09:00
Dean Herbert
9005bce0fa
Add "counter" keyword for key overlay setting
2022-01-31 16:37:51 +09:00
Dean Herbert
b7d8c9bf06
Fix a couple of cases of incorrect equality checks in the case both values are null
2022-01-28 14:29:56 +09:00
Salman Ahmed
2cc69d6b19
Replace IsControlDragged
with an abstract ShouldBeExpanded
2022-01-27 15:57:56 +03:00
Dan Balasescu
b3f2392358
Resolve compilation error due to removed method
2022-01-26 19:04:18 +09:00
Dan Balasescu
cdca1285ab
Merge branch 'master' into playlist-overlay-optimisations
2022-01-26 19:01:33 +09:00
Dean Herbert
45636ce04b
Remove collection ToLive
helper method to avoid confusion
2022-01-26 18:26:37 +09:00
Dean Herbert
d1a2256262
Refactor SkinSection
to avoid unnecessary realm queries
2022-01-26 17:48:11 +09:00
Salman Ahmed
a34b8fc4d0
Merge branch 'master' into expandable-controls
2022-01-26 10:36:22 +03:00
Salman Ahmed
161ff45f8c
Resolve further UI-related issues
2022-01-26 10:36:18 +03:00
Salman Ahmed
eb83b7fe0a
Update existing implementation with changes
2022-01-26 10:18:17 +03:00
Salman Ahmed
6998266770
Add simplified implementation of an expandable slider
2022-01-26 10:18:06 +03:00
Salman Ahmed
b5e6352137
Revert SettingsItem<T>
-related changes
2022-01-26 09:31:35 +03:00
Dean Herbert
9532454e2a
Remove ILive
remnants
2022-01-26 15:12:07 +09:00
Dean Herbert
ba46827ac0
Merge branch 'master' into playlist-overlay-optimisations
2022-01-26 15:11:14 +09:00
Dan Balasescu
8f85f32f2b
Merge pull request #16619 from peppy/live-no-interface
...
Remove `ILive<>` interface (and use `abstract Live<>` instead)
2022-01-26 14:54:14 +09:00
Dean Herbert
cd71ec0edd
Remove ILive<>
interface (and use abstract Live<>
instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
7ca73f7e6d
Don't auto-unblock realm when user has manually pressed unblock button
2022-01-26 12:51:09 +09:00
Dean Herbert
dda513dd08
Change PlaylistOverlay
to use ILive
2022-01-26 12:19:59 +09:00
Dean Herbert
64914c45a4
Remove unnecessary realm query helper method
2022-01-26 11:53:50 +09:00
Dean Herbert
cdef67ccd0
Log posted notifications
...
To help with test failures and the likes.
2022-01-25 23:38:48 +09:00
Dean Herbert
1a776a9587
Completely remove subscription from MusicController
2022-01-25 16:53:02 +09:00
Dean Herbert
2a786f9ec0
Load text only after it comes on screen (and tidy up selection handling logic)
2022-01-25 16:51:21 +09:00
Dean Herbert
ace2bd2208
Apply some initial optimisations to PlaylistItem
2022-01-25 16:51:21 +09:00
Dean Herbert
8a4f3a7ce0
Reimplement subscription logic in PlaylistOverlay
directly
2022-01-25 16:51:21 +09:00
Dean Herbert
958cfde608
Stop detaching and exposing beatmaps from MusicController
2022-01-25 16:51:21 +09:00
Dean Herbert
d7342880f5
Update remaining cases of clashes with realm.Write
and realm.RegisterForNotifications
2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
Bartłomiej Dach
da771044a7
Merge branch 'master' into realm-clean-up
2022-01-24 19:15:31 +01:00
Dean Herbert
3bc86ee68f
Merge branch 'master' into music-controller-less-population
2022-01-24 20:44:37 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
b0919722ac
Guard against potential exception while blocking realm
2022-01-24 18:25:48 +09:00
Dean Herbert
40aa873190
Rename register methods to better explain their purpose
2022-01-24 14:37:36 +09:00
Dean Herbert
d7a9c5fd41
Add settings buttons to allow temporarily blocking realm access
2022-01-24 14:36:57 +09:00
Dean Herbert
351c766ea1
Fix one remaining instance of realm query as property
2022-01-23 23:20:03 +09:00
Dean Herbert
e9e3e024a1
Update all usages of QueryAsyncWithNotifications
to use new Register
pathway
2022-01-23 20:28:04 +09:00
Salman Ahmed
648e7f6bbc
Handle controls with dragging state wrapped in underlying components
...
I'm not 100% sure about this approach but it'll do for now.
2022-01-23 05:41:16 +03:00
Salman Ahmed
f4c7a332c3
Add IExpandable
support for SettingsItem<T>
2022-01-23 05:41:16 +03:00
Salman Ahmed
326f12f847
Add IExpandable
support for SettingsToolboxGroup
2022-01-23 05:41:16 +03:00
Salman Ahmed
62a2bccd76
Abstractify expansion logic from ExpandingButtonContainer
2022-01-23 05:41:16 +03:00
Dean Herbert
287d70d728
Merge branch 'realm-stable-subscriptions' into music-controller-less-population
2022-01-22 14:37:39 +09:00
Dean Herbert
6a076a684e
Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions
2022-01-22 13:14:25 +09:00
Dean Herbert
25dbe6b27c
Fix unused null assignment
2022-01-22 12:58:30 +09:00
Dean Herbert
7025191fdd
Move target field outside of Run
usage
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-01-22 12:02:44 +09:00
Salman Ahmed
81b07dee56
Introduce IExpandable
interface
2022-01-21 18:41:19 +03:00
Dean Herbert
ad3a01dc06
Use a more reliable method of reviving the update thread realm after blocking
2022-01-21 22:44:56 +09:00
Dean Herbert
a86c0014fe
Remove unnecessary exception/check
2022-01-21 20:07:43 +09:00
Dean Herbert
63226f7def
Remove pointless initial MusicController
beatmap set population
...
Looks to pass tests and all usages look safe enough.
2022-01-21 20:05:35 +09:00
Dean Herbert
1f157d729d
Update existing subscriptions to new style
...
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +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
a5d2047f05
Fix various cases of creating realm contexts from update thread when not necessary
2022-01-21 01:44:56 +09:00
Dan Balasescu
4f86a2cb61
Merge pull request #16525 from bdach/beatmap-listing-overflow-and-scrolling
...
Improve usability of expanded card content on beatmap listing
2022-01-20 14:14:44 +09:00
Bartłomiej Dach
b8184a3005
Fix news sidebar assuming returned posts are always from given year
2022-01-19 23:13:30 +01:00
Bartłomiej Dach
4cad5890c6
Add test coverage for news sidebar showing wrong headers
2022-01-19 23:12:35 +01:00
Bartłomiej Dach
33ab356dc5
Fix expanded card content being clipped on beatmap listing overlay
2022-01-19 22:10:05 +01:00
Dean Herbert
d10d657073
Merge pull request #16421 from Susko3/textbox-AllowIme-false
...
Add `AllowIme => false` to text boxes where applicable
2022-01-18 18:02:47 +09:00
Dean Herbert
39c9c4985b
Merge branch 'master' into textbox-AllowIme-false
2022-01-18 17:03:51 +09:00
Dean Herbert
1b62a685f3
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-18 15:07:59 +09:00