Skip to content

Add menu item to delete all beatmap sets in filter groups#36841

Draft
LBlend wants to merge 5 commits intoppy:masterfrom
LBlend:feat/delete-beatmaps-in-group
Draft

Add menu item to delete all beatmap sets in filter groups#36841
LBlend wants to merge 5 commits intoppy:masterfrom
LBlend:feat/delete-beatmaps-in-group

Conversation

@LBlend
Copy link
Contributor

@LBlend LBlend commented Mar 6, 2026

As requested in #36825, this adds a menu item to delete all beatmap sets in whichever group you right click. It will make it easier to mass delete maps and save some precious storage. Considering the spike in SSD prices recently, I for one would like more options to mass delete maps.

image

Things that should maybe be addressed, hence why this is a draft:

  • When grouping by last played, if a subset of difficulties appear and you hit delete, it will delete the whole map set, which might be unexpected for some people. Though, this also happens when you hit delete on the difficulty itself so it doesn't diverge from how things are currently done
  • Write tests?

Add an option to delete all beatmapsets in the group in question
LBlend added 2 commits March 6, 2026 06:50
Code Quality. Making sure tests pass
Code Quality. Making sure tests pass
@peppy peppy self-requested a review March 6, 2026 06:02
public BeatmapGroupDeleteDialog(GroupDefinition group, IReadOnlyList<BeatmapSetInfo> beatmapSets)
{
this.beatmapSets = beatmapSets;
BodyText = group.Title;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This dialog should definitely show a count of how many beatmap sets are to be deleted.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea! Are you thinking something like this?

image

@peppy
Copy link
Member

peppy commented Mar 6, 2026

I was skeptical that this would be correct for BPM grouping, but it seems we changed that to group by sets therefore it works as expected.

Before merging we want to be 100% sure that this option won't appear on a group which could have partial contents of beatmap sets in it (but cause a deletion of the full sets).

@LBlend
Copy link
Contributor Author

LBlend commented Mar 6, 2026

Before merging we want to be 100% sure that this option won't appear on a group which could have partial contents of beatmap sets in it (but cause a deletion of the full sets).

AFAIK this applies to:

  • Last Played
  • Collections
  • Rank Achieved
  • Difficulty ("Fixed". The menu item does not appear for this one)

This is assuming that we're not handling "edge cases", i.e. maps that have difficulties with different songs, which will have different BPMs, titles, artists, sources etc.

I'll look into it!

@peppy
Copy link
Member

peppy commented Mar 6, 2026

This is assuming that we're not handling "edge cases", i.e. maps that have difficulties with different songs, which will have different BPMs, titles, artists, sources etc.

Based on our current grouping rules, this is not feasible technically. So I think we're fine. But it needs confirmation/safeties at a code level to ensure we don't shoot ourselves in the foot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants