mirror of
https://github.com/ppy/osu.git
synced 2025-02-22 20:03:21 +08:00
Add functionality to mass reset offsets
This commit is contained in:
parent
2de1955892
commit
e4f9c861ba
@ -313,6 +313,22 @@ namespace osu.Game.Beatmaps
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ResetAllOffsets()
|
||||||
|
{
|
||||||
|
const string reset_complete_message = "All offsets have been reset!";
|
||||||
|
Realm.Write(r =>
|
||||||
|
{
|
||||||
|
var items = r.All<BeatmapInfo>();
|
||||||
|
|
||||||
|
foreach (var beatmap in items)
|
||||||
|
{
|
||||||
|
beatmap.UserSettings.Offset = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
PostNotification?.Invoke(new ProgressCompletionNotification { Text = reset_complete_message });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void Delete(Expression<Func<BeatmapSetInfo, bool>>? filter = null, bool silent = false)
|
public void Delete(Expression<Func<BeatmapSetInfo, bool>>? filter = null, bool silent = false)
|
||||||
{
|
{
|
||||||
Realm.Run(r =>
|
Realm.Run(r =>
|
||||||
|
@ -19,6 +19,11 @@ namespace osu.Game.Localisation
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static LocalisableString BeatmapVideos => new TranslatableString(getKey(@"beatmap_videos"), @"Are you sure you want to delete all beatmaps videos? This cannot be undone!");
|
public static LocalisableString BeatmapVideos => new TranslatableString(getKey(@"beatmap_videos"), @"Are you sure you want to delete all beatmaps videos? This cannot be undone!");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Are you sure you want to reset all local beatmap offsets? This cannot be undone!"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString Offsets => new TranslatableString(getKey(@"offsets"), @"Are you sure you want to reset all local beatmap offsets? This cannot be undone!");
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// "Are you sure you want to delete all skins? This cannot be undone!"
|
/// "Are you sure you want to delete all skins? This cannot be undone!"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -59,6 +59,11 @@ namespace osu.Game.Localisation
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static LocalisableString DeleteAllBeatmapVideos => new TranslatableString(getKey(@"delete_all_beatmap_videos"), @"Delete ALL beatmap videos");
|
public static LocalisableString DeleteAllBeatmapVideos => new TranslatableString(getKey(@"delete_all_beatmap_videos"), @"Delete ALL beatmap videos");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Reset ALL beatmap offsets"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ResetAllOffsets => new TranslatableString(getKey(@"reset_all_offsets"), @"Reset ALL beatmap offsets");
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// "Delete ALL scores"
|
/// "Delete ALL scores"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -16,6 +16,7 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
|
|||||||
|
|
||||||
private SettingsButton deleteBeatmapsButton = null!;
|
private SettingsButton deleteBeatmapsButton = null!;
|
||||||
private SettingsButton deleteBeatmapVideosButton = null!;
|
private SettingsButton deleteBeatmapVideosButton = null!;
|
||||||
|
private SettingsButton resetOffsetsButton = null!;
|
||||||
private SettingsButton restoreButton = null!;
|
private SettingsButton restoreButton = null!;
|
||||||
private SettingsButton undeleteButton = null!;
|
private SettingsButton undeleteButton = null!;
|
||||||
|
|
||||||
@ -47,6 +48,20 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
|
|||||||
}, DeleteConfirmationContentStrings.BeatmapVideos));
|
}, DeleteConfirmationContentStrings.BeatmapVideos));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Add(resetOffsetsButton = new DangerousSettingsButton
|
||||||
|
{
|
||||||
|
Text = MaintenanceSettingsStrings.ResetAllOffsets,
|
||||||
|
Action = () =>
|
||||||
|
{
|
||||||
|
dialogOverlay?.Push(new MassDeleteConfirmationDialog(() =>
|
||||||
|
{
|
||||||
|
resetOffsetsButton.Enabled.Value = false;
|
||||||
|
Task.Run(beatmaps.ResetAllOffsets).ContinueWith(_ => Schedule(() => resetOffsetsButton.Enabled.Value = true));
|
||||||
|
}, DeleteConfirmationContentStrings.Offsets));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
AddRange(new Drawable[]
|
AddRange(new Drawable[]
|
||||||
{
|
{
|
||||||
restoreButton = new SettingsButton
|
restoreButton = new SettingsButton
|
||||||
|
Loading…
Reference in New Issue
Block a user