mirror of
				https://github.com/lantean-code/qbtmud.git
				synced 2025-11-04 05:53:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using Lantean.QBTMud.Helpers;
 | 
						|
using Microsoft.AspNetCore.Components;
 | 
						|
using MudBlazor;
 | 
						|
 | 
						|
namespace Lantean.QBTMud.Components.Options
 | 
						|
{
 | 
						|
    public partial class RSSOptions : Options
 | 
						|
    {
 | 
						|
        [Inject]
 | 
						|
        public IDialogService DialogService { get; set; } = default!;
 | 
						|
 | 
						|
        protected bool RssProcessingEnabled { get; private set; }
 | 
						|
        protected int RssRefreshInterval { get; private set; }
 | 
						|
        protected long RssFetchDelay { get; private set; }
 | 
						|
        protected int RssMaxArticlesPerFeed { get; private set; }
 | 
						|
        protected bool RssAutoDownloadingEnabled { get; private set; }
 | 
						|
        protected bool RssDownloadRepackProperEpisodes { get; private set; }
 | 
						|
        protected string? RssSmartEpisodeFilters { get; private set; }
 | 
						|
 | 
						|
        protected override bool SetOptions()
 | 
						|
        {
 | 
						|
            if (Preferences is null)
 | 
						|
            {
 | 
						|
                return false;
 | 
						|
            }
 | 
						|
 | 
						|
            RssProcessingEnabled = Preferences.RssProcessingEnabled;
 | 
						|
            RssRefreshInterval = Preferences.RssRefreshInterval;
 | 
						|
            RssFetchDelay = Preferences.RssFetchDelay;
 | 
						|
            RssMaxArticlesPerFeed = Preferences.RssMaxArticlesPerFeed;
 | 
						|
            RssAutoDownloadingEnabled = Preferences.RssAutoDownloadingEnabled;
 | 
						|
            RssDownloadRepackProperEpisodes = Preferences.RssDownloadRepackProperEpisodes;
 | 
						|
            RssSmartEpisodeFilters = Preferences.RssSmartEpisodeFilters;
 | 
						|
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssProcessingEnabledChanged(bool value)
 | 
						|
        {
 | 
						|
            RssProcessingEnabled = value;
 | 
						|
            UpdatePreferences.RssProcessingEnabled = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssRefreshIntervalChanged(int value)
 | 
						|
        {
 | 
						|
            RssRefreshInterval = value;
 | 
						|
            UpdatePreferences.RssRefreshInterval = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssFetchDelayChanged(int value)
 | 
						|
        {
 | 
						|
            RssFetchDelay = value;
 | 
						|
            UpdatePreferences.RssFetchDelay = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssMaxArticlesPerFeedChanged(int value)
 | 
						|
        {
 | 
						|
            RssMaxArticlesPerFeed = value;
 | 
						|
            UpdatePreferences.RssMaxArticlesPerFeed = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssAutoDownloadingEnabledChanged(bool value)
 | 
						|
        {
 | 
						|
            RssAutoDownloadingEnabled = value;
 | 
						|
            UpdatePreferences.RssAutoDownloadingEnabled = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssDownloadRepackProperEpisodesChanged(bool value)
 | 
						|
        {
 | 
						|
            RssDownloadRepackProperEpisodes = value;
 | 
						|
            UpdatePreferences.RssDownloadRepackProperEpisodes = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task RssSmartEpisodeFiltersChanged(string value)
 | 
						|
        {
 | 
						|
            RssSmartEpisodeFilters = value;
 | 
						|
            UpdatePreferences.RssSmartEpisodeFilters = value;
 | 
						|
            await PreferencesChanged.InvokeAsync(UpdatePreferences);
 | 
						|
        }
 | 
						|
 | 
						|
        protected async Task OpenRssRulesDialog()
 | 
						|
        {
 | 
						|
            await DialogService.InvokeRssRulesDialog();
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |