1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 20:27:30 +08:00
Commit Graph

8411 Commits

Author SHA1 Message Date
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Salman Ahmed
eafa11555a Allow specifying custom search action to metadata sections 2022-07-15 06:41:03 +03:00
Dean Herbert
cd085cbd97
Merge pull request #19114 from frenzibyte/fix-potential-dialog-test-failure
Fix dialog overlay potentially pushing dialog while not loaded
2022-07-15 12:34:19 +09:00
Salman Ahmed
aea786ea0c Fix minor typo 2022-07-15 05:56:49 +03:00
Dean Herbert
08396ba486 Adjust colouring to avoid weird banding during transition period 2022-07-14 14:47:25 +09:00
Dean Herbert
5dff48a1e0 Fix button selection animation not playing smoothly when new glyphs are loaded 2022-07-14 14:40:25 +09:00
Dean Herbert
5c6b4e498d Protect against a potential early call to LanguageButton.Selected 2022-07-14 14:31:59 +09:00
Dean Herbert
227871e8df Refactor hide logic a touch for better readability 2022-07-14 14:00:33 +09:00
Salman Ahmed
dccd81dbc7 Use BindValueChanged to handle changes between push time and schedule execution 2022-07-14 07:07:32 +03:00
Salman Ahmed
b96faedbe6 Fix dialog overlay hiding early-pushed dialog on initial PopOut call 2022-07-14 07:06:57 +03:00
Salman Ahmed
c59784c49f Always schedule popup dialog push 2022-07-14 07:06:03 +03:00
Salman Ahmed
1222123541 Rename method and parameter 2022-07-14 07:05:19 +03:00
Salman Ahmed
3def8428aa Make scheduling more legible 2022-07-14 06:06:58 +03:00
Salman Ahmed
f83d413b33 Fix dialog overlay potentially pushing dialog while not loaded 2022-07-14 06:05:03 +03:00
Dean Herbert
3b554140db Use grid container to avoid layout changes when changing language 2022-07-13 23:22:55 +09:00
Dean Herbert
0db1caf591 Add language selection to first run overlay 2022-07-13 23:22:55 +09:00
Dean Herbert
f956955d4d Combine ScoreInfo construction helper methods 2022-07-12 18:00:25 +09:00
Dean Herbert
1bef2d7b39 Add and consume SoloScoreInfo 2022-07-12 18:00:25 +09:00
Dan Balasescu
7086779cf4
Merge pull request #19026 from peppy/async-track-operations
Use fire-and-forget async operations on global track
2022-07-07 19:45:03 +09:00
Dean Herbert
d88fd8a5b0 Allow searching for "skins" to find current skin setting 2022-07-07 18:26:04 +09:00
Dean Herbert
7ef03dd2cb Use fire-and-forget async operations on global track
This avoids any blocking overhead caused by a backlogged audio thread.
Test seem to pass so might be okay?

Note that order is still guaranteed due to the `ensureUpdateThread`
queueing system framework-side.
2022-07-07 17:15:45 +09:00
Dean Herbert
6fb00d84f9 Apply NRT to LoginForm and remove nullability of IAPIProvider 2022-07-06 01:29:00 +09:00
Dean Herbert
3a68f386a8 Add forgotten password link to login form 2022-07-06 01:25:04 +09:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Salman Ahmed
9b833524c0
Merge branch 'master' into add-realm-blocking-logging 2022-07-02 12:41:36 +03:00
Dean Herbert
a03abc747b Tidy up comments and simplify bounding box centre logic 2022-07-02 12:58:34 +09:00
Dean Herbert
4fd47b5fa0 Add more verbose logging to realm blocking process 2022-07-02 12:36:56 +09:00
Jamie Taylor
9d28d5f8ee
Update SFX for mod overlay show/hide 2022-07-01 20:43:12 +09:00
Salman Ahmed
5880b824d0 Simplify description logic for overlay tab items 2022-07-01 11:30:51 +03:00
Salman Ahmed
7f9ef6c23f Merge branch 'master' into fix-overlay-header-tab-item-localisable-string 2022-07-01 11:27:00 +03:00
Dean Herbert
d54f7fc728 Move slider range control to song select 2022-07-01 14:41:36 +09:00
Salman Ahmed
87e3b44181 Ensure icon is loaded inside try-catch 2022-06-29 13:37:42 +03:00
Dean Herbert
6c64cea057 Catch a second location 2022-06-29 18:56:15 +09:00
Dean Herbert
569fde4b47 Add messages to all InvalidOperationExceptions
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dan Balasescu
6c6de9ce53
Fix typo 2022-06-27 20:40:02 +09:00
Dean Herbert
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511 Merge branch 'master' into c-sharp-10 2022-06-24 21:22:33 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
d9c1a9d71f Use new property to specify no tooltip, rather than passing only ruleset 2022-06-24 14:06:18 +09:00
Dean Herbert
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
Dean Herbert
b660119de7
Merge pull request #18796 from bdach/mod-overlay/legacy-key-bindings
Add setting option to toggle between mod overlay hotkey styles
2022-06-22 20:28:18 +09:00
Dan Balasescu
b81c7c7951
Merge pull request #18804 from Joehuu/online-view-chat-overlay
Add back online view container to chat overlay
2022-06-22 14:41:06 +09:00
Dan Balasescu
ff440fc1a4 Fix too many buttons inside condition 2022-06-22 13:44:41 +09:00
Dan Balasescu
321920bc85 Remove one more nullable disable 2022-06-22 13:44:41 +09:00
Dan Balasescu
1018c9852d Cleanup nullability 2022-06-22 13:44:41 +09:00
Dan Balasescu
23254d2ff2 Fix broken files 2022-06-22 13:44:41 +09:00
Joseph Madamba
07e0cd53a4 Add back online view container to chat overlay 2022-06-21 19:23:16 -07:00
Joseph Madamba
50728f3fbc Fix overlay header tab item not working with localisable string 2022-06-21 18:31:09 -07:00
Supersonicboss1
4aa86b0a80 fixed duplicates and cleaned up code 2022-06-21 23:41:25 +01:00
Supersonicboss1
e4931f977c improved UI of maintenance section in settings 2022-06-21 23:00:03 +01:00
Bartłomiej Dach
7013909322
Remove unnecessary protected virtual 2022-06-21 16:43:04 +02:00
Bartłomiej Dach
f564ed589f
Alter sequential hotkey style to always use visible index
Previous behaviour was once mentioned off-hand as unintuitive.
2022-06-21 15:22:18 +02:00
Bartłomiej Dach
9e5cc89edb
Fix classic hotkeys toggling filtered mods 2022-06-21 15:01:33 +02:00
Bartłomiej Dach
da1814e7c3
Restructure everything to fix free mod overlay issue 2022-06-21 14:48:41 +02:00
Bartłomiej Dach
7b7b8c1892
Implement behaviour for classic selection style 2022-06-21 14:24:30 +02:00
Bartłomiej Dach
234120ff43
Forward entire event to IModHotkeyHandler
Required for shift handling in the classic implementation.
2022-06-21 13:37:17 +02:00
Bartłomiej Dach
658f5341c7
Set up flow for switching between hotkey styles 2022-06-21 13:34:58 +02:00
Bartłomiej Dach
5abd8a07d2
Add setting for changing mod select hotkey style 2022-06-21 13:33:17 +02:00
Bartłomiej Dach
73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02:00
Bartłomiej Dach
ee96d84ffa
Merge branch 'master' into input-settings 2022-06-20 22:55:43 +02:00
Dean Herbert
6515b249ec Change data migration to do an immediate exit, rather than attempted exit 2022-06-19 12:39:58 +09:00
Dean Herbert
50e40756c4 Rename GracefullyExit to AttemptExit 2022-06-19 12:34:44 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Salman Ahmed
e4ddf03ad6 Fix toolbar music button handling keys while not hovered 2022-06-16 20:22:57 +03:00
Bartłomiej Dach
9c4f6d2ce0
Merge branch 'master' into first-run-setup-notification-interruption 2022-06-16 15:14:40 +02:00
Dean Herbert
251923c106 Convert NotificationOverlay to NRT 2022-06-16 17:28:08 +09:00
Dean Herbert
6b30ee0950 Tidy up DI and binding logic 2022-06-16 17:26:43 +09:00
Bartłomiej Dach
f88c568c8d
Update flag sizes after switch to twemoji assets
The old flags used a size of 150x100, while the new assets based on
twemoji use a size of 150x108. Update existing usages to match this new
aspect ratio better.
2022-06-15 21:45:47 +02:00
Salman Ahmed
e7dcbddbeb Fix potential null reference 2022-06-15 18:53:49 +03:00
Salman Ahmed
026bad7fc4 Use notification processing mode logic instead 2022-06-15 18:13:24 +03:00
Dean Herbert
7571ab6c63 Merge branch 'master' into new-dialog-sfx 2022-06-15 19:47:00 +09:00
Dean Herbert
584345a97e
Merge pull request #18693 from frenzibyte/toolbar-volume-control
Add basic volume control support in toolbar music button
2022-06-15 17:50:10 +09:00
Dean Herbert
b3aa4fcf02 Adjust a channel rather than the overall sample 2022-06-15 17:33:07 +09:00
Dean Herbert
94aa2248ca Move filter reset to more appropriate location 2022-06-15 17:32:21 +09:00
Dean Herbert
1f1633ddc2 Remove Update method processing of samples in PopupDialogDangerousButton 2022-06-15 16:50:23 +09:00
Salman Ahmed
583619b915 Use GlobalAction.DecreaseVolume instead 2022-06-15 10:21:27 +03:00
Dean Herbert
873806c2ea Add keyboard adjustment support 2022-06-15 15:58:22 +09:00
Dean Herbert
3df9d7c9e1 Add a bit more animation when adjusting 2022-06-15 15:56:59 +09:00
Dean Herbert
5eb56ab814 Ensure Master volume is updated when scrolling on toolbar button 2022-06-15 15:41:40 +09:00
Jamie Taylor
af87722be8
Add audio feedback for 'Dangerous' dialog buttons 2022-06-15 15:41:27 +09:00
Jamie Taylor
930ec2a197
Add specific samples for dialog 'Ok' and 'Cancel' buttons 2022-06-15 15:41:27 +09:00
Salman Ahmed
ddeee09a51 Fix important notifications interrupting first-run setup 2022-06-15 03:40:05 +03:00
Salman Ahmed
1f31e3fb51 Add volume UI to toolbar music button 2022-06-14 22:15:12 +03:00
Salman Ahmed
7f23677972 Add volume control support via toolbar music button 2022-06-14 22:15:12 +03:00
Dean Herbert
49ec2572b8 Allow scrolling overflow of ruleset buttons in the toolbar 2022-06-15 01:43:10 +09:00
Salman Ahmed
d89c11e49e Allow Toolbar to block scroll input from passing through 2022-06-14 19:10:13 +03:00
Dean Herbert
77fcf35d1d Remove unlimited frame limiter warning
This should not be required now that we have a 1,000 Hz limiter in
place.
2022-06-13 15:40:27 +09:00
Dan Balasescu
e5d6dc1ba5
Merge pull request #18606 from peppy/latency-comparer
Add latency certifier system
2022-06-10 19:41:44 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
c625c929e5 Update button text to match new terminology 2022-06-10 14:16:56 +09:00
Dean Herbert
4a5e86e451 Rename Beatmaps to BeatmapHashes for clarity 2022-06-10 14:03:51 +09:00
Dean Herbert
3b229624dd Simplify contains check to use LINQ the whole way 2022-06-10 14:02:58 +09:00
Dan Balasescu
bc7262a3dd
Merge pull request #18627 from Joehuu/always-show-mod-selector-beatmap-info
Always show mod selector on beatmap info leaderboards regardless of supporter
2022-06-09 18:18:12 +09:00
Joseph Madamba
f3371e8bc8 Always show mod selector on beatmap info leaderboards regardless of supporter 2022-06-08 13:22:49 -07:00
Jai Sharma
c2ed41d097 Remove CanBeNull specification from DI attributes 2022-06-08 15:10:19 +01:00
Jai Sharma
04b434b8ce Update ChatLine timestamp and message colours 2022-06-08 14:04:01 +01:00
Jai Sharma
dfa31df2af Use #nullable enable in ChatLine 2022-06-08 14:04:01 +01:00
Dean Herbert
c22bffaa01 Fix filter failure when no collection is selected 2022-06-08 19:30:18 +09:00
Dean Herbert
187086e4ec
Merge pull request #18609 from ALANVF/settings-delete-skin
Add button to delete the current skin
2022-06-08 19:18:59 +09:00
Dean Herbert
42cd7d9e6e Change CollectionManager to only store MD5 hashes instead of full BeatmapInfo 2022-06-08 18:23:09 +09:00
Dan Balasescu
3a90aa0b9b Fix code styling 2022-06-08 17:57:59 +09:00
Dean Herbert
5157a78ae6 Isolate nested sample screens from main game to avoid toolbar interactions 2022-06-08 16:53:06 +09:00
theangryepicbanana
6c05329144 Close #5820 (Ability to delete a single skin) 2022-06-07 18:01:40 -04:00
Jai Sharma
2f635fa854 Refactor ChatLine and fix DrawableChannel flow padding
Refactors `ChatLine` component to use more sensible override properties
and layout using grid container. Moves creation of username component
into its own method to simplify BDL.

Updates padding of base `DrawableChannel` flow padding.

Removes usage of `ChatOverlayDrawableChannel` since it's overrides are
no longer needed.

Updates usage of `StandAloneChatDisplay` to use new override properties
of `DrawableChannel`.
2022-06-07 22:35:45 +01:00
Dean Herbert
9da99a0ddf Rename to latency certifier 2022-06-07 23:34:55 +09:00
Dean Herbert
95dea00725 Tidy up code and namespaces 2022-06-07 23:10:08 +09:00
Dean Herbert
20cfa5d83f Add button to access latency comparer from game 2022-06-07 17:28:31 +09:00
Bartłomiej Dach
4df7711af8
Merge branch 'master' into volume-metre-keyboard-fix 2022-06-06 23:45:42 +02:00
Dean Herbert
b104b7a90d Rename method to mention "all" 2022-06-06 20:12:20 +09:00
Dean Herbert
cb383d4bdc Merge branch 'master' into delete-all-beatmap-videos-sbs 2022-06-06 20:08:05 +09:00
Jai Sharma
c0aaeff2b3 Update DaySeparator to use new design throughout
Moves `DaySeparator` chat component to it's own file and update it to
match new chat design. Makes use of several virtual attributes that can
be overridden to update spacing and layout in other usage contexts.

Remove redundant usage of `ChatOverlayDaySeparator`, since the new
design is now part of the base class.

Create `StandAloneDaySeparator` to use in `StandAloneChatDisplay` which
overrides attributes to match correct spacing and layout for its design.

Ensure that `DrawableChannel.CreateDaySeparator` returns type of
`DaySeparator` instead of `Drawable`.
2022-06-04 18:02:14 +01:00
Joseph Madamba
58c8562cb0 Fix username placeholder text casing and missing localisation on registration form 2022-06-03 20:09:20 -07:00
Dean Herbert
d0e098fbcd Allow using arrow keys to navigate volume controls when controls are already visible 2022-06-04 01:04:46 +09:00
Dean Herbert
712253a35b Make non-localisable strings in VolumeMeter verbatim 2022-06-04 01:04:23 +09:00
Dean Herbert
64616a6d73 Remove completely gimped implementation in VolumeMeter 2022-06-04 00:18:54 +09:00
Jamie Taylor
6115275bc2
Use 'default' sampleset for toolbar and repurpose 'toolbar' select sample temporarily 2022-06-03 22:33:06 +09:00
Jamie Taylor
2878bb592f
Use more appropriate sounds for certain components 2022-06-03 22:32:12 +09:00
Jamie Taylor
365819865e
Remove 'submit' sample usages 2022-06-03 22:31:35 +09:00
Salman Ahmed
cd999cf7ac Fix back-to-front conditional 2022-06-03 10:51:20 +03:00
Salman Ahmed
1a835f0622 Add warning note when running fullscreen on macOS 2022-06-03 10:32:59 +03:00
Dean Herbert
5bd9d88219 Fix tutorial download state not matching correctly when already available locally
Closes https://github.com/ppy/osu/issues/18468.

This doesn't stop the tutorial from downloading a second time, but at
least displays the correct status afterwards. Avoiding the download is a
bit more involved and requires a change to the flow. Probably not worth
it just yet.

To test, recommend switching to production environment, as dev server
doesn't have correct metadata for tutorial resulting in weirdness.
2022-06-02 16:34:24 +09:00
Dean Herbert
42598ce22a Refactor warning to notice in method names and usages 2022-06-01 16:51:58 +09:00
Dean Herbert
f7110116de Only display exclusive fullscreen hinting on windows 2022-05-31 14:04:56 +09:00
Dean Herbert
53844d3df1 Refactor settings item "warning" text to allow non-warning state 2022-05-31 14:01:42 +09:00
Dan Balasescu
99ee3a7d8d Merge branch 'master' into detect-exclusive-fullscreen 2022-05-31 09:42:42 +09:00
Dean Herbert
1d5a156c15
Merge pull request #18427 from sw1tchbl4d3r/currently_playing_search
Add search bar for the `CurrentlyPlayingDisplay`
2022-05-30 23:03:00 +09:00
Dean Herbert
f65d2db77f Remove "V2" suffix from ChatOverlay components 2022-05-30 17:54:09 +09:00
Dan Balasescu
5f9a69e5c2 Add localisation 2022-05-30 17:19:03 +09:00
Dan Balasescu
dea7a27553 Adjust wording, add text for capable state 2022-05-30 17:18:29 +09:00
Dean Herbert
9e678101cf
Merge pull request #18442 from jai-x/new-chat-announce-channel
Display Announce type channels separately in new chat overlay
2022-05-30 16:53:15 +09:00
Dean Herbert
5478ac21ea
Merge branch 'master' into currently_playing_search 2022-05-30 16:48:53 +09:00
Jai Sharma
8f596520f3 Remove old chat overlay components 2022-05-29 20:08:43 +01:00
Bartłomiej Dach
e329c160b3
Simplify channel retrieval expression 2022-05-29 18:58:27 +02:00
Bartłomiej Dach
e69f8716cd
Fix incorrect indent size 2022-05-29 18:56:37 +02:00
Bartłomiej Dach
f9f8a32380
Merge branch 'master' into new-chat-announce-channel 2022-05-29 18:55:43 +02:00
Dean Herbert
7c97719db1 Move Schedule to only drawable pieces 2022-05-29 21:28:09 +09:00
Dean Herbert
c7570fbce5 Fix potential ObjectDisposedException on realm notification in SkinSection 2022-05-29 15:15:03 +09:00
sw1tchbl4d3
ede3ab9dc0 Add OnFocus handler to CurrentlyPlayingDisplay 2022-05-28 12:04:44 +02:00
Salman Ahmed
06832a4baf Fix beatmap badge colours not updated inline with recent changes 2022-05-28 01:05:43 +03:00
sw1tchbl4d3
cd84200ad9 Add HoldFocus and ReleaseFocusOnCommit attributes to searchbar 2022-05-27 21:23:37 +02:00
Jai Sharma
c5845f307a Code quality 2022-05-27 20:12:00 +01:00
Dean Herbert
254039b8fe Address remaining code quality concerns 2022-05-28 04:01:51 +09:00
Jai Sharma
e950c8c1d0 Refactor ChannelList to use new ChannelGroup class for each type of channel 2022-05-27 19:46:53 +01:00
Jai Sharma
320b6ca631 Display Announce type channels separately in new chat overlay 2022-05-27 16:18:22 +01:00
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling 2022-05-27 16:55:13 +02:00
sw1tchbl4d3
e2951d70d1 Address code style issues 2022-05-27 16:38:54 +02:00
sw1tchbl4d3
e1fd37fd44 Use new padding constant where appropriate 2022-05-27 12:40:31 +02:00
sw1tchbl4d3
6a0cf26722 Make text localisable and add padding constant 2022-05-27 12:36:43 +02:00
sw1tchbl4d3
7c459faaf0 Remove unneeded search_bar_width and more 2022-05-27 10:05:59 +02:00
sw1tchbl4d3
4967d03606 Update currently playing search bar to resemble existing UI 2022-05-27 09:58:40 +02:00
Joseph Madamba
105d581f24 Use existing web localisation for chat strings 2022-05-26 22:23:03 -07:00
Joseph Madamba
3554563114 Fix beatmap info scores container not hiding when there's no leaderboard 2022-05-26 19:50:54 -07:00
Joseph Madamba
2b5aa35b56 Fix beatmap info status pill being incorrect on multiple status beatmaps 2022-05-26 17:52:17 -07:00
sw1tchbl4d3
a8e453e660 Remove now unnecessary username filter check 2022-05-27 00:43:29 +02:00
sw1tchbl4d3
de5b60ab66 Move filtering from manual loops to SearchContainer 2022-05-27 00:40:23 +02:00
sw1tchbl4d3
3183621d3d Add search bar for the CurrentlyPlayingDisplay 2022-05-26 22:57:24 +02:00
Dean Herbert
a98d0cf0d8 Simplify channel filter method 2022-05-26 18:48:11 +09:00
Dean Herbert
b2607196b8 Merge branch 'master' into new-chat-integrate 2022-05-26 18:38:26 +09:00
Dan Balasescu
08935cff86 Detect exclusive fullscreen on Windows 2022-05-26 18:37:04 +09:00
Noah M
b550cbc5a3 Fix failing code quality checks 2022-05-25 17:01:30 -05:00
Bartłomiej Dach
a1b8fa0992
Disable "select all mods" button if all are selected 2022-05-25 23:06:12 +02:00
Bartłomiej Dach
071e158a29
Expose available mod state outwardly as a bindable 2022-05-25 23:06:12 +02:00
Bartłomiej Dach
f0303d76e8
Split off "select all mods" button to separate class 2022-05-25 22:18:30 +02:00
Bartłomiej Dach
a3f2962558
Disable "deselect all mods" button if none are selected 2022-05-25 22:15:02 +02:00
Bartłomiej Dach
a4bd399b0c
Split off "deselect all mods" button to separate class 2022-05-25 22:14:45 +02:00
Jai Sharma
f94afa5f8c Code quality 2022-05-25 18:28:18 +01:00
Jai Sharma
997fc716e8 Split out the channel list labels from the channel list item flow 2022-05-25 15:15:46 +01:00
Jai Sharma
c0da05dda0 Use an array of channels to exclude from the overlay 2022-05-25 15:15:26 +01:00
Jai Sharma
cd90d29315 Ensure channel traversal shortcut scrolls channel list item into view 2022-05-25 12:37:28 +01:00
Jai Sharma
4a36f3aa4c Ensure channel traversal shortcut is using visual order 2022-05-25 12:29:04 +01:00
Dean Herbert
49ab031e75 Allow traversing in both directions using ctrl-tab shortcuts 2022-05-25 18:42:49 +09:00
Dean Herbert
a92089c443 Change filter method to consider all non-system channels as joinable 2022-05-25 18:42:33 +09:00
Dan Balasescu
79c8752bb4
Merge pull request #18408 from peppy/first-run-ui-scale-first
Move UI scale setup to the beginning of the first run setup
2022-05-25 12:56:03 +09:00
Dean Herbert
de5d2df100 Move UI scale setup to the beginning of the first run setup 2022-05-25 12:19:26 +09:00
Dan Balasescu
f468d1eb16
Merge branch 'master' into editor-tidy-up 2022-05-25 11:58:34 +09:00
Jai Sharma
f6810d3f59 Add keyboard shortcuts to ChatOverlayV2 with tests 2022-05-24 23:05:25 +01:00
Bartłomiej Dach
61c093c109
Merge branch 'master' into rounded-button-colour-default 2022-05-24 22:47:47 +02:00
Jai Sharma
fce527b0df Schedule channel manager bindable events to ensure they happen after the first poll 2022-05-24 21:25:27 +01:00
Bartłomiej Dach
2dd0b3f8d9
Merge branch 'master' into fix-mod-panel-click-area 2022-05-24 21:52:37 +02:00
Dean Herbert
0bcf8c846c Change editor colour scheme to aquamarine 2022-05-24 18:43:22 +09:00
Dean Herbert
f00dd27fcd Move OverlayColourProvider provisioning of RoundedButton to SettingsButton for now 2022-05-24 18:11:54 +09:00
Joseph Madamba
1f935cacf4 Add spotlighted beatmaps filter to beatmap listing 2022-05-23 18:47:04 -07:00
Joseph Madamba
ed0b841df0 Fix incorrect left/right clicking area of mod panels 2022-05-23 18:29:26 -07:00
apollo-dw
eae2378466 Add WIP to search filters 2022-05-24 01:49:07 +01:00
Jai Sharma
58d39734d0 Integrate ChatOverlayV2 into main game 2022-05-23 21:02:47 +01:00
Susko3
88217e0c98 Adjust ScrollDelta usages to account for normalised IsPrecise values 2022-05-23 20:22:27 +02:00
Dean Herbert
7d93778355
Merge pull request #18290 from jai-x/new-chat-remove-selector-item
Use dummy channel to show selector and remove `ChannelListSelector`
2022-05-23 15:49:00 +09:00
Dean Herbert
d84119ac06
Merge pull request #18343 from frenzibyte/waveform-test-beatmap-failure
Fix `WaveformTestBeatmap`s potentially providing disposed track
2022-05-22 21:21:28 +09:00
Jai Sharma
fb06b7658b Merge branch 'master' into new-chat-remove-selector-item 2022-05-21 17:30:06 +01:00
Dean Herbert
4633eed78c Merge branch 'master' into localisable-filter-items 2022-05-20 23:55:16 +09:00
Salman Ahmed
abf9039109 Use == instead of ?? 2022-05-20 16:08:31 +03:00
Salman Ahmed
c78d90ccbd Refactor track transferring logic for ability to override and disallow 2022-05-20 14:43:07 +03:00
Jai Sharma
c37d1e4fae Ensure current channel is set to the ChannelListingChannel when it becomes null 2022-05-19 11:45:39 +01:00
Dean Herbert
136ecb45e2 Rename dummy channel and move to a nested class inside the ChannelListing itself 2022-05-19 19:26:14 +09:00
Dean Herbert
63c9776365 Fix oversight in bindable logic in new overlay class 2022-05-19 19:24:18 +09:00
Dean Herbert
363e7a6f53 Simplify toolbar hiding logic in FirstRunSetupOverlay
Rather than fiddling around with the activation modes, this seems like a
much cleaner way to make things work.

Closes https://github.com/ppy/osu/issues/18277.
2022-05-19 16:42:48 +09:00
Dean Herbert
d187ca2d8c
Merge pull request #18246 from jai-x/new-chat-cache-loaded-channels
Add drawable channel caching to new chat overlay
2022-05-19 15:15:47 +09:00
Dean Herbert
a443200d0d Make dependency nullable to allow for safer disposal unbinding 2022-05-19 13:49:52 +09:00
Noah M
0ef9406787 Fix deleteBeatmapVideosButton not being reenabled
My bad
2022-05-18 16:35:14 -05:00
Noah M
617382a56f Split off MassVideoDeleteConfirmationDialog into its own file 2022-05-18 15:20:57 -05:00
Salman Ahmed
5d3878a737 Add test coverage for slow-loading channels 2022-05-18 22:58:39 +03:00
Jai Sharma
371738b047 Check against the loaded drawable channel 2022-05-18 20:00:42 +01:00
Dean Herbert
0cee90e156 Add common strings for missing localisable content 2022-05-18 21:32:57 +09:00
Dean Herbert
d54e1503c7 Rename interaction toggle method 2022-05-18 21:32:57 +09:00
Dean Herbert
fa09270e62 Remove left-over todo 2022-05-18 21:32:57 +09:00
Noah M
69351d2cdf Implement button to delete all beatmap videos 2022-05-18 01:20:57 -05:00
Jai Sharma
4015042e36 Ensure close button component is not stored as a Drawable 2022-05-18 01:35:39 +01:00
Bartłomiej Dach
c2555a91c7
Merge branch 'master' into first-run-screen-import-from-stable 2022-05-17 22:52:01 +02:00
Bartłomiej Dach
10b881dbf7
Merge branch 'master' into first-run-screen-button-ux 2022-05-17 22:27:49 +02:00
Jai Sharma
932442e242 Use null for empty grid cells in ChannelListItem 2022-05-17 18:52:19 +01:00
Dean Herbert
062ffe64ac Remove delay on pop in 2022-05-17 18:21:19 +09:00
Dean Herbert
bf00b062ad Add full localisation of import beatmaps screen 2022-05-17 17:58:24 +09:00
Dean Herbert
f4e0ad8c4c Fix drag drop of osu! folder not working as expected 2022-05-17 17:51:28 +09:00
Dean Herbert
c0de1f96ff Tidy up interaction toggling and add progress message 2022-05-17 17:33:54 +09:00
Dean Herbert
03d3900a02 Fix incorrect default state of checkboxes 2022-05-17 17:33:54 +09:00
Dean Herbert
adc7b61240 Switch directory selector to use a semi-shared popover implementation 2022-05-17 17:33:54 +09:00
Dean Herbert
e2ea98693f Tidy up buttons and text 2022-05-17 17:33:54 +09:00
Dean Herbert
4af1a788d1 Add locate stable button / screen 2022-05-17 15:55:53 +09:00
Dean Herbert
1593f05ff3 Tidy up checkbox implementation 2022-05-17 15:55:53 +09:00
Dean Herbert
13e70eab51 Allow cancellation of count operations and bypassing interactive location logic 2022-05-17 15:55:53 +09:00
Dean Herbert
1666d13d26 Add item counts to import screen 2022-05-17 15:55:53 +09:00
Dean Herbert
4412fec41a Add import from stable screen 2022-05-17 15:55:52 +09:00
Dean Herbert
ef5b2233d7 Improve the first run progress button to show loading and completion status 2022-05-17 15:23:13 +09:00
Dan Balasescu
a633501687 Change FilterTerms to use LocalisableString 2022-05-16 14:09:37 +09:00
Jai Sharma
ae5b6c3e10 Use dummy channel to show selector and remove ChannelListSelector
Add dummy channel `DummySelectorChannel` which should be set as the
current channel in the channel manager when the selector in the chat
overlay should be shown.

Refactors the `ChannelListItem` to not show mention pill and close
button when the channel is the dummy selector channel.

Ensure that the `ChannelList` selects the dummy channel on clicking the
selector item.

Removes `ChannelListSelector` as it is no longer needed.

Removes the `setCurrent` parameter from `ChannelManager.JoinChannel`
method as it is no longer needed.
2022-05-15 20:24:49 +01:00
Bartłomiej Dach
170df01b46
Adjust difficulty multiplier scale transition on mod overlay
The previous transition was supposed to be a center-anchored elastic
scale-in, but this didn't work as intended - because the multiplier
ended up inside of an auto-sized right-aligned container, the animation
itself would end up being anchored right.

Attempts to remove the scale transition resulted in a rather
jarring-looking result, so swap out the elastic scale-in for a sweep-in
effect from the top, to match the header and avoid introducing too many
directions of movement.

Delay values tweaked "to taste" - can be adjusted further if there is an
alternative set of values that feels better.
2022-05-15 20:44:50 +02:00
Dean Herbert
328561f5c8
Merge pull request #18263 from frenzibyte/spotlight-beatmap-badge
Add support for "spotlight" label in beatmap overlay/listing
2022-05-15 12:32:20 +09:00
Salman Ahmed
4bb06873d5 Move badge hierarchy declaration to constructor for safer access 2022-05-14 21:54:56 +03:00
Dean Herbert
8a01050168 Refactor mod select button initialisation to allow shared usage of deselect button 2022-05-15 03:16:43 +09:00
Salman Ahmed
1878578196 Move todo comment to subclasses 2022-05-14 21:05:34 +03:00
Salman Ahmed
441957e18e Convert get-only virtual properties to avoid DI order dependency 2022-05-14 21:05:34 +03:00
Salman Ahmed
88ba84ac9c Replace Pill with Badge everywhere 2022-05-14 20:52:38 +03:00
Dean Herbert
a759cf2dab Add key binding to deselect all mods
Defaults to `Backspace`.
2022-05-15 02:51:58 +09:00
Salman Ahmed
2878a6dcbe Integrate spotlight beatmap badge in info overlay 2022-05-14 19:47:10 +03:00
Salman Ahmed
56d6cb5764 Add "spotlight" beatmap badge 2022-05-14 19:46:50 +03:00
Salman Ahmed
c8bea6273b Abstractify beatmap badge logic to own class 2022-05-14 19:46:37 +03:00
Jai Sharma
bd68ffa805 Fix textbox focus test in ChatOverlayV2 2022-05-14 12:16:00 +01:00
Jai Sharma
2163a78b7f Ensure drawable channels removed from the cache are disposed 2022-05-14 00:15:09 +01:00
Jai Sharma
f88e416d1a Ensure the wrong drawable channel isn't shown after load 2022-05-13 23:39:09 +01:00
Jai Sharma
9f5351e5a1 Add drawable channel caching to new chat overlay 2022-05-12 23:58:41 +01:00
Dean Herbert
8760e5d884 Merge branch 'master' into new-chat-drawable-channel 2022-05-12 22:36:19 +09:00
Dan Balasescu
5f2d9bf04c
Merge pull request #18211 from frenzibyte/audio-adjustment-breakage-alt
Fix mods potentially adjusting track while not selected
2022-05-12 15:44:19 +09:00
Salman Ahmed
82c4a5fe9f
Merge branch 'master' into new-chat-visibility-behaviour 2022-05-12 09:04:24 +03:00
Dean Herbert
3d64dc53a6 Merge branch 'master' into audio-adjustment-breakage-alt 2022-05-12 14:18:28 +09:00
Dean Herbert
6ba0760b17
Merge branch 'master' into new-chat-visibility-behaviour 2022-05-12 13:59:35 +09:00
Dean Herbert
1d38e5bd33 Add notes about weird local handling in ChannelListSelector 2022-05-12 13:58:10 +09:00
Dean Herbert
2dfed6eda1 Remove selectorActive bindable completely 2022-05-12 13:53:57 +09:00
Jai Sharma
db371ab068 Use CurrentChannel == null to show the channel selector 2022-05-11 22:52:15 +01:00
Bartłomiej Dach
981ead68bf
Ensure local mods are constructed in time for Pop{In,Out}() 2022-05-11 22:31:27 +02:00
Bartłomiej Dach
93539160ad
Remove no-longer-necessary guard 2022-05-11 22:31:26 +02:00
Bartłomiej Dach
2266a5c9a0
Remove no-longer-necessary ModColumn.Filter 2022-05-11 22:31:26 +02:00
Bartłomiej Dach
1c0166367d
Fix remaining column operations being coupled to drawables 2022-05-11 22:31:26 +02:00
Bartłomiej Dach
b5a9f1310a
Fix select/deselect all toggle not working correctly after changes 2022-05-11 22:31:26 +02:00
Bartłomiej Dach
52bbce12f1
Fix not being able to set AvailableMods before loaded 2022-05-11 22:31:26 +02:00
Bartłomiej Dach
fc24a56478
Add protection from recursive updates from external selection 2022-05-11 22:31:25 +02:00
Bartłomiej Dach
83ba06e7af
Extract helper property for accessing all mods 2022-05-11 22:31:25 +02:00
Bartłomiej Dach
11ae1da65a
Hoist reference replacement logic to overlay level 2022-05-11 22:26:47 +02:00
Bartłomiej Dach
05a21fbbe0
Hoist ModState to overlay level 2022-05-11 22:26:21 +02:00
Bartłomiej Dach
e86444c4bf
Hoist ModState to column level 2022-05-11 22:03:49 +02:00
Bartłomiej Dach
74599c9c62
Use ModState in mod panels 2022-05-11 22:03:48 +02:00
Bartłomiej Dach
478cfc0b87
Split model class for mod state 2022-05-11 22:03:48 +02:00
Bartłomiej Dach
ddb2d4eef5
Rename FreeModSelect{Screen -> Overlay} reference in inline comment 2022-05-11 18:06:09 +02:00
Bartłomiej Dach
a104277e7f
Rename ModSelect{Screen -> Overlay}Strings 2022-05-11 18:01:33 +02:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay} in place of removed old design 2022-05-10 22:56:50 +02:00
Bartłomiej Dach
33634cba1e
Remove old mod buttons 2022-05-10 21:58:22 +02:00
Bartłomiej Dach
8b0ece1c09
Remove old mod section 2022-05-10 21:55:54 +02:00
Bartłomiej Dach
dfd97701d7
Remove old mod settings container & related controls 2022-05-10 21:53:42 +02:00
Bartłomiej Dach
128468e13d
Remove old base mod select overlay 2022-05-10 21:52:30 +02:00
Bartłomiej Dach
24c59e2f2f
Remove old user mod select overlay 2022-05-10 21:52:17 +02:00
Salman Ahmed
9446be2511 Remove unnecessary UnbindAdjustments call
It is not necessary given that `CurrentTrack` already removes all adjustments first.
2022-05-10 20:49:44 +03:00
Salman Ahmed
36a7644164 Reinstantiate mod adjustments layer for safety against previous mods 2022-05-10 20:46:33 +03:00
Salman Ahmed
725ff93f34 Define local adjustments component for mods in MusicController
Isolates `CurrentTrack` from being directly adjusted by the mod, which could lead to issues depending on how the mod adds adjustments (i.e. `ModTimeRamp`, which adds adjustments based on changes to a setting bindable).
2022-05-10 18:24:29 +03:00
Dan Balasescu
42fe708225
Fix inspection 2022-05-10 19:56:21 +09:00
Dean Herbert
a578f7a406 Force nested screens to load synchronously 2022-05-10 18:21:35 +09:00
Dean Herbert
a93c63b2b5 Add loading spinner when loading first run screens 2022-05-10 18:21:35 +09:00
Dean Herbert
25c6226ca9 Adjust transition length for a more seamless screen change 2022-05-10 18:21:35 +09:00
Dean Herbert
493798ae5e Fix nested ui scale example screens no longer fitting 2022-05-10 18:21:35 +09:00
Dean Herbert
63b9e01d38 Fix behaviour screen using old style buttons 2022-05-10 18:21:35 +09:00
Dean Herbert
61313b69ec Standardise font sizes in first run overlay screens 2022-05-10 18:21:35 +09:00
Dean Herbert
e5204e565d Move horizontal padding to content level to better align scrollbar 2022-05-10 18:21:35 +09:00
Dean Herbert
bcce9c5e67 Limit the width of first run overlay content 2022-05-10 18:21:35 +09:00
Dean Herbert
9aadc274bf Show first run dialog on first run of the game 2022-05-10 18:21:35 +09:00
Dan Balasescu
8ccf2ee075 Add inline comment 2022-05-10 15:07:08 +09:00
Dan Balasescu
2b7eeadac0 Workaround bad performance when selecting all freemods 2022-05-10 14:48:41 +09:00
Dan Balasescu
886a4815fa
Merge pull request #18180 from frenzibyte/fix-toolbox-double-tap
Fix `SettingsToolboxGroup` not clearing transforms before updating autosize
2022-05-10 13:48:02 +09:00
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