1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 01:47:25 +08:00
Commit Graph

704 Commits

Author SHA1 Message Date
Bartłomiej Dach
c7e8990576
Remove unused property 2023-06-18 13:58:25 +02:00
Bartłomiej Dach
62f01e4f40
Rename ModState members to better convey what's what 2023-06-18 13:58:25 +02:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Bartłomiej Dach
af3fbdbfbe
Merge pull request #23829 from Joehuu/truncating-text-tooltips
Add tooltips to truncated text
2023-06-12 23:43:31 +02:00
Cootz
aece548db1
Merge branch 'master' into add-mod-search-option 2023-06-12 13:09:09 +03:00
Dean Herbert
99f93f5185 Add comment mentioning why ShowTooltip is disabled in mod select panels 2023-06-12 15:31:22 +09:00
Dean Herbert
1e774fc017 Refactor implementation to roughly match existing HoverSampleDebounceComponent 2023-06-12 14:35:15 +09:00
Cootz
4819a28791 Move mod overlay statics to SessionStatics 2023-06-11 13:53:17 +03:00
Joseph Madamba
0d51e4f6ce
Fix mod select panels having conflicting tooltips
Going simple with a bool instead of making `TooltipText` init-able, as the current cases will just init `string.Empty`. And not sure if we want custom tooltip text in the future.
2023-06-10 12:24:58 -07:00
Joseph Madamba
61a9c6fd7e
Disable Truncate in OsuSpriteText
Co-Authored-By: Salman Ahmed <frenzibyte@gmail.com>
2023-06-10 11:53:45 -07:00
Cootz
502193e1c6 Use debounce constant for select/deselect animation 2023-06-10 13:55:37 +03:00
Cootz
31f370ec9b Add comments for ModSelectOverlayStatics 2023-06-10 13:50:45 +03:00
Cootz
09cd5580e1 Add sample playback time restrictions 2023-06-10 13:13:34 +03:00
Cootz
9224486ec7 Add mod select overlay statics 2023-06-10 12:38:26 +03:00
Cootz
d219b5f77f Reword change focus comment 2023-06-09 17:10:13 +03:00
Cootz
7697dbe4b3 Mod panel don't play sound when hidden 2023-06-09 16:55:19 +03:00
Cootz
c3b50e1309 Move the multiplier back to TopRight 2023-06-09 16:25:04 +03:00
Cootz
ba7069df34 Fix SelectAllModsButton state doesn’t update when search term changed 2023-06-06 16:12:31 +03:00
Cootz
71e6f80c40 Add hotkey for switching search bar focus 2023-06-05 15:54:19 +03:00
Cootz
3ebc801484 Move (de)select all mods hotkeys handling to ModSelectOverlay 2023-06-05 13:49:07 +03:00
Cootz
a46f5b90d4 Move focus handling into PopIn 2023-06-04 18:11:44 +03:00
Cootz
32b9e6ec8f Make search bar active by default 2023-06-04 17:02:46 +03:00
Cootz
69b640a185 Remove hotkeys handling from DeselectAllModsButton 2023-06-03 10:47:48 +03:00
Cootz
9d4ba5d64a Remove unnecessary null checks 2023-06-02 12:00:03 +03:00
Cootz
4c7cca101e Rename IsValid to Visible 2023-06-02 11:33:38 +03:00
Cootz
d400387329 Replace IConditionalFilterable with IFilterable 2023-06-02 10:51:33 +03:00
Cootz
325c114c1c Remove redundant xmldocs 2023-06-02 10:39:27 +03:00
Cootz
39489358fa Apply appearance animation to aboveColumnsContent 2023-06-01 14:07:05 +03:00
Cootz
5a1c3aeb7e Fix SearchTerm set causing infinite loop 2023-05-31 19:36:42 +03:00
Dean Herbert
e35623df22 Update to use new Filter method and remove silly ForcedSearchTerm 2023-05-30 13:40:59 +09:00
Cootz
22c6d6c526 Prevent checkbox from toggle on when column have no valid panels 2023-05-29 14:22:40 +03:00
Cootz
e43c233b48 Reword ForcedSearchTerm xmldoc 2023-05-28 13:21:41 +03:00
Cootz
0e5c99b760 Fix search bar showing incorrectly 2023-05-28 13:12:57 +03:00
Cootz
5ff023113f Update xmldoc for ForcedSearchTerm 2023-05-28 10:04:26 +03:00
Cootz
c3f06ad2db
Merge branch 'master' into add-mod-search-option 2023-05-23 08:55:57 +03:00
Cootz
67bf1b4dfe Select/deselect first visible mod when GlobalAction.Select is triggered 2023-05-21 11:05:01 +03:00
Cootz
6647d95ea7 Kill search focus when clicking on ModColumn 2023-05-14 18:32:16 +03:00
Cootz
ca68850730 fix formatting 2023-05-10 19:43:58 +03:00
Cootz
2467813d81 Block deselect all short key when using the search box 2023-05-09 16:14:42 +03:00
Cootz
60bad35145 Remove weird update usage when 'deselect all' pressed 2023-05-07 15:34:01 +03:00
Cootz
4d235105d1 Convert ModSearchContainer to block-scoped namespace 2023-05-07 15:14:49 +03:00
Cootz
cbb9f0100e Update PopIn and PopOut filtering. Expose SearchTerm 2023-05-06 11:27:06 +03:00
Cootz
a226caff56 Fix testing 2023-05-06 11:09:44 +03:00
Cootz
7422b5285c Fix wrong filtering in testing 2023-05-05 22:41:30 +03:00
Cootz
ab94b4dce1 Update ModPresetPanel.FilterTerms to account mod names and acronyms 2023-05-05 09:52:09 +03:00
Cootz
54757df51f Fix mod deselect button not working properly when search applied 2023-05-05 09:31:27 +03:00
Cootz
1ac9d900e1 Clear search on ModSelectOverlay.Hide 2023-05-04 19:24:37 +03:00
Dean Herbert
0034124d79 Remove unnecessary content clear 2023-05-04 11:25:10 +09:00
Dean Herbert
26b8c5b852 Fix mod list display not updating after clicking "use current"
This is not a regression from my changes. It was broken before them.
2023-05-04 11:23:51 +09:00
Dean Herbert
49fb5da1a2 Stop passing preset panel to popover 2023-05-04 11:19:09 +09:00
Dean Herbert
b12d139317 Remove dead code 2023-05-04 11:16:52 +09:00
Dean Herbert
99d2616c34 Move drawable construction to load for simplicity 2023-05-04 11:14:51 +09:00
Dean Herbert
be995f1359 Add localisation support for new button string 2023-05-04 11:11:19 +09:00
Dean Herbert
b7abab6d8a More variable improvements 2023-05-04 11:10:05 +09:00
Dean Herbert
0a584f0652 Simplify check logic and improve variable naming 2023-05-04 11:07:09 +09:00
cdwcgt
967e801f9c
code inspect 2023-05-03 23:26:58 +09:00
cdwcgt
debbd376bd
move scrollContent update logic to updateActiveState() 2023-05-03 23:24:14 +09:00
cdwcgt
f4b1264cc9
use button Enable status to ensure preset name is not null 2023-05-03 23:22:46 +09:00
cdwcgt
aa5a026c67
remove local button handle 2023-05-03 23:14:24 +09:00
cdwcgt
c609e6345c
remove Use Current Mods menu item 2023-05-03 23:02:50 +09:00
Cootz
152d2678d5 Fix ModSelectColumn completely disappear from ModSelectOverlay 2023-05-03 14:00:46 +03:00
Dean Herbert
e394b487e0
Merge branch 'master' into edit-mods-preset 2023-05-03 12:06:16 +09:00
Cootz
a6ca049739 Manually implement @bdach prototype 2023-05-02 14:15:33 +03:00
Dean Herbert
e808e7316b Mark delegate value unused and add comment to avoid future regression 2023-05-02 13:29:30 +09:00
Bartłomiej Dach
2e3daf0a54
Fix leak of ModSettingChangeTracker instances
The `SelectedMods.BindValueChanged()` callback in `ModSelectOverlay` can
in some instances run recursively. This is most heavily leaned on in
scenarios where `SelectedMods` is updated by an external component. In
such cases, the mod select overlay needs to replace the mod instances
received externally with mod instances which it owns, so that the changes
made on the overlay can propagate outwards.

This in particular means that prior to this commit, it was possible to
encounter the following scenario:

	modSettingChangeTracker?.Dispose();
	updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
	                               // therefore causing a recursive call

		modSettingChangeTracker?.Dispose();
		// inner call continues
		modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

	// outer call continues
	modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

This leaks one `modSettingChangeTracker` instance from the inner call,
which is never disposed.

To avoid this, move the disposal to the same side of the recursion that
the creation happens on, changing the call pattern to:

	updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
	                               // therefore causing a recursive call

		modSettingChangeTracker?.Dispose();
		// inner call continues
		modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

	modSettingChangeTracker?.Dispose();
	// outer call continues
	modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

which, while slightly wasteful, does not cause any leaks.

The solution is definitely suboptimal, but addressing this properly
would entail a major rewrite of the mod instance management in the mods
overlay, which is probably not the wisest move to make right now.
2023-04-30 17:31:41 +02:00
Cootz
b795e8ac5a Use ModSearch in ModeSelectOverlay 2023-04-27 17:26:35 +03:00
Cootz
3c6141f233 Add ModSearch 2023-04-27 17:08:29 +03:00
Hy0tic
56ab029a58 fix issue where multipler does not update when adjusting speed for preset mod 2023-04-22 13:30:08 -04:00
cdwcgt
d025c441ca delay mod save after click save or not popover hidden 2023-03-16 19:48:45 +09:00
cdwcgt
42bcc8bafc revert mod store 2023-03-16 19:38:15 +09:00
cdwcgt
15f11bb1e8 scorll container and save mod after popover hidden
Requires manual handling of many visual effects
2023-03-11 12:31:33 +09:00
cdwcgt
1cd565193e public CheckCurrentModCanBeSave 2023-03-11 11:39:35 +09:00
cdwcgt
8b0f127ff2 split ModPresetRow 2023-03-11 11:25:52 +09:00
cdwcgt
f4e2620402 fix test 2023-03-10 00:56:22 +09:00
cdwcgt
ca416175bb remove useless property 2023-03-09 22:58:44 +09:00
cdwcgt
3d746e8dfb content Menu 2023-03-09 22:49:33 +09:00
cdwcgt
5a1316f0e5 split save logic 2023-03-09 22:43:06 +09:00
cdwcgt
54564e0557 new design 2023-03-07 21:13:35 +09:00
cdwcgt
4858d3fd42 Added ability to edit mod presets 2023-03-07 02:00:40 +09:00
mk56-spn
908651cc11 make ResetConfirmDialog properly utilise its parent's logic
Adjust name of `DeleteAction` to `DangerousAction`
2023-03-05 20:57:26 +01:00
mk56-spn
90227a6496 Rename DeleteConfirmationDialog.cs into DangerousActionDialog.cs 2023-02-27 21:57:59 +01:00
Andrei Zavatski
ffcca9fd89 Remove awkward width specification 2023-02-17 23:23:58 +03:00
Andrei Zavatski
51940133df Adjust width and add comment 2023-02-17 15:18:45 +03:00
Andrei Zavatski
0838fa636f Make triangles slower 2023-02-17 15:16:00 +03:00
Andrei Zavatski
a84f20bf32 Add triangles to ModSelectColumn 2023-02-17 03:09:32 +03:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
ansel
8cbc0502ae Inline CalculateEffect 2022-09-12 15:51:18 +03:00
ansel
324a3723a5 Rewrite DMD 2022-09-10 23:23:04 +03:00
ansel
3f93ec8538 Expose counter to inheritors 2022-09-10 23:20:28 +03:00
ansel
667854b034 Make effect display have a built-in counter 2022-09-10 23:18:48 +03:00
ansel
b056cac10a Remove generic and add default implementation for CalculateEffect 2022-09-10 08:34:29 +03:00
ansel
545e0bbcef Adjust inheritors and test 2022-08-29 22:49:25 +03:00
ansel
5343c26452 Control colour via Current bindable 2022-08-29 22:48:27 +03:00
ansel
7faeed88b0 Add ability to override width of value area 2022-08-29 22:08:43 +03:00
ansel
039f009562 Inherit difficulty multiplier display from ModsEffectDiplay 2022-08-27 20:26:05 +03:00
ansel
3e828c3416 Move base layout from DifficultyMultiplierDisplay to another class 2022-08-27 20:11:38 +03:00
Dan Balasescu
0815b01b75
Merge pull request #19783 from bdach/mod-select/presets-dont-open-customisation
Fix selecting preset containing Difficulty Adjust automatically opening customisation panel
2022-08-22 15:44:00 +09:00
Dan Balasescu
e1fa959f0b Fix language change removing mod column bold text 2022-08-22 13:00:47 +09:00
Bartłomiej Dach
aa15e84bea
Adjust rounding in mod select difficulty multiplier to match song select footer
The 0.01 `Precision` spec on `DifficultyMultiplierDisplay.Current` would
cause the difficulty multiplier to use a different midpoint rounding
strategy than `double.ToString()`, which is the one that the song select
footer relies on. For example, a value of 0.015 would be rounded down
to 0.01 by `double.ToString()`, but rounded up to 0.02
by `BindableDouble`.

Fix the discrepancy by just deleting the `Precision` spec. Since the
value of the bindable would go through `ToLocalisableString(@"N2")`
anyway, it was redundant as is.

Fixes #19889.
2022-08-21 23:15:49 +02:00
Bartłomiej Dach
3d14b14cfe
Use alternative method for checking panel readiness to eliminate bool flag 2022-08-17 21:56:11 +02:00