diff --git a/osu.Game/Beatmaps/BeatmapManager.cs b/osu.Game/Beatmaps/BeatmapManager.cs
index 143ae81fa6..bb3a23548a 100644
--- a/osu.Game/Beatmaps/BeatmapManager.cs
+++ b/osu.Game/Beatmaps/BeatmapManager.cs
@@ -230,7 +230,6 @@ namespace osu.Game.Beatmaps
}
}
-
///
/// Import a beatmap from a .
///
@@ -503,6 +502,55 @@ namespace osu.Game.Beatmaps
/// Results from the provided query.
public IEnumerable QueryBeatmaps(Expression> query) => beatmaps.Beatmaps.AsNoTracking().Where(query);
+ public bool StableInstallationAvailable => GetStableStorage?.Invoke() != null;
+
+ ///
+ /// This is a temporary method and will likely be replaced by a full-fledged (and more correctly placed) migration process in the future.
+ ///
+ public async Task ImportFromStable()
+ {
+ var stable = GetStableStorage?.Invoke();
+
+ if (stable == null)
+ {
+ Logger.Log("No osu!stable installation available!", LoggingTarget.Information, LogLevel.Error);
+ return;
+ }
+
+ await Task.Factory.StartNew(() => Import(stable.GetDirectories("Songs")), TaskCreationOptions.LongRunning);
+ }
+
+ public void DeleteAll()
+ {
+ var maps = GetAllUsableBeatmapSets();
+
+ if (maps.Count == 0) return;
+
+ var notification = new ProgressNotification
+ {
+ Progress = 0,
+ CompletionText = "Deleted all beatmaps!",
+ State = ProgressNotificationState.Active,
+ };
+
+ PostNotification?.Invoke(notification);
+
+ int i = 0;
+
+ foreach (var b in maps)
+ {
+ if (notification.State == ProgressNotificationState.Cancelled)
+ // user requested abort
+ return;
+
+ notification.Text = $"Deleting ({i} of {maps.Count})";
+ notification.Progress = (float)++i / maps.Count;
+ Delete(b);
+ }
+
+ notification.State = ProgressNotificationState.Completed;
+ }
+
///
/// Import a into the beatmap store.
///
@@ -625,54 +673,5 @@ namespace osu.Game.Beatmaps
store.BeatmapRestored += b => BeatmapRestored?.Invoke(b);
return store;
}
-
- public bool StableInstallationAvailable => GetStableStorage?.Invoke() != null;
-
- ///
- /// This is a temporary method and will likely be replaced by a full-fledged (and more correctly placed) migration process in the future.
- ///
- public async Task ImportFromStable()
- {
- var stable = GetStableStorage?.Invoke();
-
- if (stable == null)
- {
- Logger.Log("No osu!stable installation available!", LoggingTarget.Information, LogLevel.Error);
- return;
- }
-
- await Task.Factory.StartNew(() => Import(stable.GetDirectories("Songs")), TaskCreationOptions.LongRunning);
- }
-
- public void DeleteAll()
- {
- var maps = GetAllUsableBeatmapSets();
-
- if (maps.Count == 0) return;
-
- var notification = new ProgressNotification
- {
- Progress = 0,
- CompletionText = "Deleted all beatmaps!",
- State = ProgressNotificationState.Active,
- };
-
- PostNotification?.Invoke(notification);
-
- int i = 0;
-
- foreach (var b in maps)
- {
- if (notification.State == ProgressNotificationState.Cancelled)
- // user requested abort
- return;
-
- notification.Text = $"Deleting ({i} of {maps.Count})";
- notification.Progress = (float)++i / maps.Count;
- Delete(b);
- }
-
- notification.State = ProgressNotificationState.Completed;
- }
}
}