diff --git a/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor b/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor index 039dd2d..9e83007 100644 --- a/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor +++ b/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor @@ -53,7 +53,7 @@ - + Use global settings Always Never @@ -103,4 +103,4 @@ Close Save - \ No newline at end of file + diff --git a/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor.cs b/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor.cs index 71f6863..fe8a7e0 100644 --- a/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor.cs +++ b/Lantean.QBTMud/Components/Dialogs/RssRulesDialog.razor.cs @@ -114,11 +114,11 @@ namespace Lantean.QBTMud.Components.Dialogs SelectedRule.IgnoreDays = value; } - protected string? AddPaused { get; set; } + protected string? AddStopped { get; set; } - protected void AddPausedChanged(string value) + protected void AddStoppedChanged(string value) { - AddPaused = value; + AddStopped = value; switch (value) { case "default": @@ -273,15 +273,15 @@ namespace Lantean.QBTMud.Components.Dialogs switch (SelectedRule.TorrentParams.Stopped) { case null: - AddPaused = "default"; + AddStopped = "default"; break; case true: - AddPaused = "always"; + AddStopped = "always"; break; case false: - AddPaused = "never"; + AddStopped = "never"; break; } diff --git a/Lantean.QBTMud/Components/FiltersNav.razor b/Lantean.QBTMud/Components/FiltersNav.razor index 3912c6e..3cf89a1 100644 --- a/Lantean.QBTMud/Components/FiltersNav.razor +++ b/Lantean.QBTMud/Components/FiltersNav.razor @@ -66,8 +66,8 @@ return __builder => { Start torrents - Stop torrents + Stop torrents Remove torrents }; } -} \ No newline at end of file +} diff --git a/Lantean.QBTMud/Components/TorrentActions.razor.cs b/Lantean.QBTMud/Components/TorrentActions.razor.cs index 9ceeeaf..99f6621 100644 --- a/Lantean.QBTMud/Components/TorrentActions.razor.cs +++ b/Lantean.QBTMud/Components/TorrentActions.razor.cs @@ -38,9 +38,6 @@ namespace Lantean.QBTMud.Components [Inject] protected IKeyboardService KeyboardService { get; set; } = default!; - [CascadingParameter(Name = "Version")] - public string? Version { get; set; } - [Parameter] [EditorRequired] public IEnumerable Hashes { get; set; } = default!; @@ -72,8 +69,6 @@ namespace Lantean.QBTMud.Components protected bool OverlayVisible { get; set; } - protected int MajorVersion => VersionHelper.GetMajorVersion(Version); - protected override void OnInitialized() { _actions = @@ -150,13 +145,13 @@ namespace Lantean.QBTMud.Components protected async Task Stop() { await ApiClient.StopTorrents(hashes: Hashes.ToArray()); - Snackbar.Add(MajorVersion < 5 ? "Torrent paused." : "Torrent stopped."); + Snackbar.Add("Torrent stopped."); } protected async Task Start() { await ApiClient.StartTorrents(hashes: Hashes.ToArray()); - Snackbar.Add(MajorVersion < 5 ? "Torrent resumed." : "Torrent started."); + Snackbar.Add("Torrent started."); } protected async Task ForceStart() @@ -370,8 +365,8 @@ namespace Lantean.QBTMud.Components var allAreFirstLastPiecePrio = true; var thereAreFirstLastPiecePrio = false; var allAreDownloaded = true; - var allArePaused = true; - var thereArePaused = false; + var allAreStopped = true; + var thereAreStopped = false; var allAreForceStart = true; var thereAreForceStart = false; var allAreSuperSeeding = true; @@ -409,27 +404,13 @@ namespace Lantean.QBTMud.Components allAreSuperSeeding = false; } - if (MajorVersion < 5) + if (torrent.State != "stoppedUP" && torrent.State != "stoppedDL") { - if (torrent.State != "pausedUP" && torrent.State != "pausedDL") - { - allArePaused = false; - } - else - { - thereArePaused = true; - } + allAreStopped = false; } else { - if (torrent.State != "stoppedUP" && torrent.State != "stoppedDL") - { - allArePaused = false; - } - else - { - thereArePaused = true; - } + thereAreStopped = true; } if (!torrent.ForceStart) @@ -517,7 +498,7 @@ namespace Lantean.QBTMud.Components actionStates["superSeeding"] = ActionState.Hidden; } - if (allArePaused) + if (allAreStopped) { actionStates["pause"] = ActionState.Hidden; } @@ -525,13 +506,11 @@ namespace Lantean.QBTMud.Components { actionStates["forceStart"] = ActionState.Hidden; } - else if (!thereArePaused && !thereAreForceStart) + else if (!thereAreStopped && !thereAreForceStart) { actionStates["start"] = ActionState.Hidden; } - if (MajorVersion >= 5) - { if (actionStates.TryGetValue("start", out ActionState? startActionState)) { startActionState.TextOverride = "Start"; @@ -549,7 +528,6 @@ namespace Lantean.QBTMud.Components { actionStates["pause"] = new ActionState { TextOverride = "Stop" }; } - } if (!allAreAutoTmm && thereAreAutoTmm) { diff --git a/Lantean.QBTMud/Helpers/DisplayHelpers.cs b/Lantean.QBTMud/Helpers/DisplayHelpers.cs index ebd50cf..a4f349d 100644 --- a/Lantean.QBTMud/Helpers/DisplayHelpers.cs +++ b/Lantean.QBTMud/Helpers/DisplayHelpers.cs @@ -404,8 +404,6 @@ namespace Lantean.QBTMud.Helpers Status.Downloading => (Icons.Material.Filled.Downloading, Color.Success), Status.Seeding => (Icons.Material.Filled.Upload, Color.Info), Status.Completed => (Icons.Material.Filled.Check, Color.Default), - Status.Resumed => (Icons.Material.Filled.PlayArrow, Color.Success), - Status.Paused => (Icons.Material.Filled.Pause, Color.Default), Status.Stopped => (Icons.Material.Filled.Stop, Color.Default), Status.Active => (Icons.Material.Filled.Sort, Color.Success), Status.Inactive => (Icons.Material.Filled.Sort, Color.Error), @@ -418,4 +416,4 @@ namespace Lantean.QBTMud.Helpers }; } } -} \ No newline at end of file +} diff --git a/Lantean.QBTMud/Helpers/FilterHelper.cs b/Lantean.QBTMud/Helpers/FilterHelper.cs index f2e586f..6e3a37e 100644 --- a/Lantean.QBTMud/Helpers/FilterHelper.cs +++ b/Lantean.QBTMud/Helpers/FilterHelper.cs @@ -200,15 +200,8 @@ namespace Lantean.QBTMud.Helpers break; - case Status.Resumed: - if (!state.Contains("resumed")) - { - return false; - } - break; - - case Status.Paused: - if (!state.Contains("paused") && !state.Contains("stopped")) + case Status.Stopped: + if (state != "stoppedDL" && state != "stoppedUP") { return false; } @@ -285,4 +278,4 @@ namespace Lantean.QBTMud.Helpers }; } } -} \ No newline at end of file +} diff --git a/Lantean.QBTMud/Helpers/VersionHelper.cs b/Lantean.QBTMud/Helpers/VersionHelper.cs deleted file mode 100644 index 4d4a247..0000000 --- a/Lantean.QBTMud/Helpers/VersionHelper.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace Lantean.QBTMud.Helpers -{ - internal static class VersionHelper - { - private static int? _version; - - private const int _defaultVersion = 5; - - public static int DefaultVersion => _defaultVersion; - - public static int GetMajorVersion(string? version) - { - if (_version is not null) - { - return _version.Value; - } - - if (string.IsNullOrEmpty(version)) - { - return _defaultVersion; - } - - if (!Version.TryParse(version?.Replace("v", ""), out var theVersion)) - { - return _defaultVersion; - } - - _version = theVersion.Major; - - return _version.Value; - } - } -} \ No newline at end of file diff --git a/Lantean.QBTMud/Layout/LoggedInLayout.razor.cs b/Lantean.QBTMud/Layout/LoggedInLayout.razor.cs index bf9303d..5d491fd 100644 --- a/Lantean.QBTMud/Layout/LoggedInLayout.razor.cs +++ b/Lantean.QBTMud/Layout/LoggedInLayout.razor.cs @@ -97,7 +97,7 @@ namespace Lantean.QBTMud.Layout Preferences = await ApiClient.GetApplicationPreferences(); Version = await ApiClient.GetApplicationVersion(); var data = await ApiClient.GetMainData(_requestId); - MainData = DataManager.CreateMainData(data, Version); + MainData = DataManager.CreateMainData(data); MarkTorrentsDirty(); _requestId = data.ResponseId; @@ -145,7 +145,7 @@ namespace Lantean.QBTMud.Layout if (MainData is null || data.FullUpdate) { - MainData = DataManager.CreateMainData(data, Version); + MainData = DataManager.CreateMainData(data); MarkTorrentsDirty(); shouldRender = true; } @@ -291,4 +291,4 @@ namespace Lantean.QBTMud.Layout GC.SuppressFinalize(this); } } -} \ No newline at end of file +} diff --git a/Lantean.QBTMud/Models/MainData.cs b/Lantean.QBTMud/Models/MainData.cs index 91e11af..85e85a3 100644 --- a/Lantean.QBTMud/Models/MainData.cs +++ b/Lantean.QBTMud/Models/MainData.cs @@ -11,8 +11,7 @@ Dictionary> tagState, Dictionary> categoriesState, Dictionary> statusState, - Dictionary> trackersState, - int majorVersion) + Dictionary> trackersState) { Torrents = torrents.ToDictionary(); Tags = tags.ToHashSet(); @@ -23,7 +22,6 @@ CategoriesState = categoriesState; StatusState = statusState; TrackersState = trackersState; - MajorVersion = majorVersion; } public Dictionary Torrents { get; } @@ -38,6 +36,5 @@ public Dictionary> TrackersState { get; } public string? SelectedTorrentHash { get; set; } public bool LostConnection { get; set; } - public int MajorVersion { get; } } -} \ No newline at end of file +} diff --git a/Lantean.QBTMud/Models/Status.cs b/Lantean.QBTMud/Models/Status.cs index 032a42b..33a5821 100644 --- a/Lantean.QBTMud/Models/Status.cs +++ b/Lantean.QBTMud/Models/Status.cs @@ -6,7 +6,6 @@ Downloading, Seeding, Completed, - Resumed, Paused, Stopped, Active, @@ -17,4 +16,4 @@ Checking, Errored, } -} \ No newline at end of file +} diff --git a/Lantean.QBTMud/Services/DataManager.cs b/Lantean.QBTMud/Services/DataManager.cs index 0737886..31a9000 100644 --- a/Lantean.QBTMud/Services/DataManager.cs +++ b/Lantean.QBTMud/Services/DataManager.cs @@ -25,9 +25,8 @@ namespace Lantean.QBTMud.Services return peerList; } - public MainData CreateMainData(QBitTorrentClient.Models.MainData mainData, string version) + public MainData CreateMainData(QBitTorrentClient.Models.MainData mainData) { - var majorVersion = VersionHelper.GetMajorVersion(version); var torrents = new Dictionary(mainData.Torrents?.Count ?? 0); if (mainData.Torrents is not null) { @@ -95,7 +94,7 @@ namespace Lantean.QBTMud.Services categoriesState.Add(category, torrents.Values.Where(t => FilterHelper.FilterCategory(t, category, serverState.UseSubcategories)).ToHashesHashSet()); } - var statuses = GetStatuses(majorVersion).ToArray(); + var statuses = GetStatuses().ToArray(); var statusState = new Dictionary>(statuses.Length + 2); foreach (var status in statuses) { @@ -110,7 +109,7 @@ namespace Lantean.QBTMud.Services trackersState.Add(tracker, torrents.Values.Where(t => FilterHelper.FilterTracker(t, tracker)).ToHashesHashSet()); } - var torrentList = new MainData(torrents, tags, categories, trackers, serverState, tagState, categoriesState, statusState, trackersState, majorVersion); + var torrentList = new MainData(torrents, tags, categories, trackers, serverState, tagState, categoriesState, statusState, trackersState); return torrentList; } @@ -284,7 +283,7 @@ namespace Lantean.QBTMud.Services { var newTorrent = CreateTorrent(hash, torrent); torrentList.Torrents.Add(hash, newTorrent); - AddTorrentToStates(torrentList, hash, torrentList.MajorVersion); + AddTorrentToStates(torrentList, hash); dataChanged = true; filterChanged = true; } @@ -316,7 +315,7 @@ namespace Lantean.QBTMud.Services return dataChanged; } - private static void AddTorrentToStates(MainData torrentList, string hash, int version) + private static void AddTorrentToStates(MainData torrentList, string hash) { if (!torrentList.Torrents.TryGetValue(hash, out var torrent)) { @@ -329,7 +328,7 @@ namespace Lantean.QBTMud.Services torrentList.CategoriesState[FilterHelper.CATEGORY_ALL].Add(hash); UpdateCategoryState(torrentList, torrent, hash, previousCategory: null); - foreach (var status in GetStatuses(version)) + foreach (var status in GetStatuses()) { if (!torrentList.StatusState.TryGetValue(status.ToString(), out var statusSet)) { @@ -346,21 +345,16 @@ namespace Lantean.QBTMud.Services UpdateTrackerState(torrentList, torrent, hash, previousTracker: null); } - private static Status[] GetStatuses(int version) + private static Status[] GetStatuses() { if (_statusArray is not null) { return _statusArray; } - if (version == 5) - { - _statusArray = Enum.GetValues().Where(s => s != Status.Paused).ToArray(); - } - else - { - _statusArray = Enum.GetValues().Where(s => s != Status.Stopped).ToArray(); - } + _statusArray = Enum.GetValues() + .Where(s => s != Status.Paused) + .ToArray(); return _statusArray; } @@ -388,7 +382,7 @@ namespace Lantean.QBTMud.Services torrentList.CategoriesState[FilterHelper.CATEGORY_ALL].Remove(hash); UpdateCategoryStateForRemoval(torrentList, hash, snapshot.Category); - foreach (var status in GetStatuses(torrentList.MajorVersion)) + foreach (var status in GetStatuses()) { if (!torrentList.StatusState.TryGetValue(status.ToString(), out var statusState)) { @@ -852,7 +846,7 @@ namespace Lantean.QBTMud.Services private static void UpdateStatusState(MainData torrentList, string hash, string previousState, long previousUploadSpeed, string newState, long newUploadSpeed) { - foreach (var status in GetStatuses(torrentList.MajorVersion)) + foreach (var status in GetStatuses()) { if (!torrentList.StatusState.TryGetValue(status.ToString(), out var statusSet)) { diff --git a/Lantean.QBTMud/Services/IDataManager.cs b/Lantean.QBTMud/Services/IDataManager.cs index 1267f32..8cad85c 100644 --- a/Lantean.QBTMud/Services/IDataManager.cs +++ b/Lantean.QBTMud/Services/IDataManager.cs @@ -4,7 +4,7 @@ namespace Lantean.QBTMud.Services { public interface IDataManager { - MainData CreateMainData(QBitTorrentClient.Models.MainData mainData, string version); + MainData CreateMainData(QBitTorrentClient.Models.MainData mainData); Torrent CreateTorrent(string hash, QBitTorrentClient.Models.Torrent torrent); @@ -22,4 +22,4 @@ namespace Lantean.QBTMud.Services RssList CreateRssList(IReadOnlyDictionary rssItems); } -} \ No newline at end of file +}