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
Bartłomiej Dach
3109066e34
Rename {Requires -> Pending}Configuration
2022-08-16 22:45:24 +02:00
Bartłomiej Dach
6bfdfeb153
Refactor mod panel selection logic to avoid overwriting
2022-08-16 22:41:35 +02:00
Bartłomiej Dach
10daac6752
Only open mod customisation panel on explicit selection of single mod
2022-08-15 20:38:23 +02:00
Bartłomiej Dach
f860bc11ee
Fix several schedule-related issues arising from new column addition
2022-08-15 20:38:16 +02:00
Bartłomiej Dach
5ff2e41a55
Add preset column to mod select test scene
2022-08-15 18:38:37 +02:00
Dan Balasescu
76fea25668
Merge pull request #19646 from its5Q/settings-localisation
...
Add missing localisation for settings enums
2022-08-10 18:51:52 +09:00
its5Q
abca3d1b2a
Prefix common strings for context
2022-08-10 00:35:19 +10:00
Bartłomiej Dach
f74fb3491e
Use alternative implementation of preset panel cleanup
2022-08-08 21:08:54 +02:00
Bartłomiej Dach
a0a6e1faee
Fix spurious sample playbacks from already-removed panels
2022-08-08 20:30:55 +02:00
Bartłomiej Dach
f21a51aa24
Simplify mirror copy of task logic in ModColumn
2022-08-08 19:20:50 +02:00
Bartłomiej Dach
00333fb0d2
Change ?? false
test to == true
for legibility
2022-08-08 19:19:13 +02:00
its5Q
5080d62e77
Add missing localisation for settings enums
2022-08-08 21:51:23 +10:00
Dean Herbert
070d156e89
Simplify task logic in ModPresetColumn
2022-08-08 16:13:52 +09:00
Bartłomiej Dach
839409d7ac
Add preset column to solo mod select overlay
2022-08-07 16:20:31 +02:00
Bartłomiej Dach
b318bbd5e6
Allow non-homogenous column types in mod select overlay
2022-08-07 16:20:31 +02:00
Bartłomiej Dach
0287c49ca8
Implement user selection logic for mod presets
2022-08-07 16:20:20 +02:00
Bartłomiej Dach
b1dcd7821c
Automatically toggle preset panels if selected mods match
2022-08-07 15:30:20 +02:00
Bartłomiej Dach
9b3183b2b4
Implement mod preset deletion flow
2022-08-06 21:58:55 +02:00
Bartłomiej Dach
ca1b4689cb
Automatically focus name textbox upon add preset popover open
2022-08-03 21:26:35 +02:00
Bartłomiej Dach
159d3b032c
Rename locals for legibility
2022-08-03 21:23:31 +02:00
Bartłomiej Dach
82d3fbd51b
Split AddPresetPopover
to separate file
2022-08-03 21:22:55 +02:00
Bartłomiej Dach
add2971eb4
Implement preset creation flow with test coverage
2022-08-02 22:05:54 +02:00
Bartłomiej Dach
7251389e43
Add localisations for add preset button
2022-08-02 22:05:34 +02:00
Bartłomiej Dach
059a465fe8
Add border to popover for better visual contrast
2022-08-02 22:03:33 +02:00
Bartłomiej Dach
1b3074d098
Implement popover for creating mod presets
2022-08-02 22:03:33 +02:00
Bartłomiej Dach
085080576a
Add button for creating new mod presets
2022-08-02 22:03:32 +02:00
Bartłomiej Dach
85f77abee1
Fix code quality inspection about ambiguous equality
2022-07-31 23:53:46 +02:00
Bartłomiej Dach
345f103119
Migrate mod preset column to use realm
2022-07-31 23:53:45 +02:00