mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 09:32:55 +08:00
Merge pull request #2060 from ppy/osu/context-menu-delete-confirmation
Add confirmation dialog to Delete in beatmap context menu
This commit is contained in:
commit
5e9d0aaf5a
@ -25,10 +25,10 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
{
|
{
|
||||||
public class DrawableCarouselBeatmapSet : DrawableCarouselItem, IHasContextMenu
|
public class DrawableCarouselBeatmapSet : DrawableCarouselItem, IHasContextMenu
|
||||||
{
|
{
|
||||||
private Action<BeatmapSetInfo> deleteRequested;
|
|
||||||
private Action<BeatmapSetInfo> restoreHiddenRequested;
|
private Action<BeatmapSetInfo> restoreHiddenRequested;
|
||||||
private Action<int> viewDetails;
|
private Action<int> viewDetails;
|
||||||
|
|
||||||
|
private DialogOverlay dialogOverlay;
|
||||||
private readonly BeatmapSetInfo beatmapSet;
|
private readonly BeatmapSetInfo beatmapSet;
|
||||||
|
|
||||||
public DrawableCarouselBeatmapSet(CarouselBeatmapSet set)
|
public DrawableCarouselBeatmapSet(CarouselBeatmapSet set)
|
||||||
@ -38,13 +38,13 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
[BackgroundDependencyLoader(true)]
|
||||||
private void load(LocalisationEngine localisation, BeatmapManager manager, BeatmapSetOverlay beatmapOverlay)
|
private void load(LocalisationEngine localisation, BeatmapManager manager, BeatmapSetOverlay beatmapOverlay, DialogOverlay overlay)
|
||||||
{
|
{
|
||||||
if (localisation == null)
|
if (localisation == null)
|
||||||
throw new ArgumentNullException(nameof(localisation));
|
throw new ArgumentNullException(nameof(localisation));
|
||||||
|
|
||||||
restoreHiddenRequested = s => s.Beatmaps.ForEach(manager.Restore);
|
restoreHiddenRequested = s => s.Beatmaps.ForEach(manager.Restore);
|
||||||
deleteRequested = manager.Delete;
|
dialogOverlay = overlay;
|
||||||
if (beatmapOverlay != null)
|
if (beatmapOverlay != null)
|
||||||
viewDetails = beatmapOverlay.ShowBeatmapSet;
|
viewDetails = beatmapOverlay.ShowBeatmapSet;
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
if (beatmapSet.Beatmaps.Any(b => b.Hidden))
|
if (beatmapSet.Beatmaps.Any(b => b.Hidden))
|
||||||
items.Add(new OsuMenuItem("Restore all hidden", MenuItemType.Standard, () => restoreHiddenRequested?.Invoke(beatmapSet)));
|
items.Add(new OsuMenuItem("Restore all hidden", MenuItemType.Standard, () => restoreHiddenRequested?.Invoke(beatmapSet)));
|
||||||
|
|
||||||
items.Add(new OsuMenuItem("Delete", MenuItemType.Destructive, () => deleteRequested?.Invoke(beatmapSet)));
|
items.Add(new OsuMenuItem("Delete", MenuItemType.Destructive, () => dialogOverlay?.Push(new BeatmapDeleteDialog(beatmapSet))));
|
||||||
|
|
||||||
return items.ToArray();
|
return items.ToArray();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user