diff --git a/CRSim.Core/Models/Settings.cs b/CRSim.Core/Models/Settings.cs index a5a47ff..4cdadba 100644 --- a/CRSim.Core/Models/Settings.cs +++ b/CRSim.Core/Models/Settings.cs @@ -32,7 +32,7 @@ namespace CRSim.Core.Models public string UserKey { get; set; } = ""; public bool LoadTodayOnly { get; set; } = false; public bool ReopenUnclosedScreensOnLoad { get; set; } = true; - + public int RefreshIntervalSeconds { get; set; } = 1; public List TrainColors { get; set; } = [ new TrainColor { Prefix = "G", Color = Color.Magenta }, diff --git a/CRSim.Core/Services/TimeService.cs b/CRSim.Core/Services/TimeService.cs index a693f00..e0bfdbc 100644 --- a/CRSim.Core/Services/TimeService.cs +++ b/CRSim.Core/Services/TimeService.cs @@ -35,7 +35,7 @@ namespace CRSim.Core.Services { _settings = settingsService.GetSettings(); - _oneSecondTimer = new(1000); + _oneSecondTimer = new(_settings.RefreshIntervalSeconds * 1000); _oneSecondTimer.Elapsed += OnOneSecondElapsed; _twentySecondsTimer = new(_settings.SwitchPageSeconds * 1000); diff --git a/CRSim/ViewModels/SettingsPageViewModel.cs b/CRSim/ViewModels/SettingsPageViewModel.cs index 06b62a0..bd957c0 100644 --- a/CRSim/ViewModels/SettingsPageViewModel.cs +++ b/CRSim/ViewModels/SettingsPageViewModel.cs @@ -60,6 +60,8 @@ namespace CRSim.ViewModels [ObservableProperty] public partial List TrainColors { get; set; } + [ObservableProperty] + public partial string RefreshIntervalSeconds { get; set; } #endregion public SettingsPageViewModel(ISettingsService settingsService, IDatabaseService databaseService, IDialogService dialogService, INetworkService networkService) { @@ -82,6 +84,7 @@ namespace CRSim.ViewModels Api = Apis.First(x => x.Name == _settings.Api.Name); MaxPages = _settings.MaxPages.ToString(); SwitchPageSeconds = _settings.SwitchPageSeconds.ToString(); + RefreshIntervalSeconds = _settings.RefreshIntervalSeconds.ToString(); UserKey = _settings.UserKey; LoadTodayOnly = _settings.LoadTodayOnly; ReopenUnclosedScreensOnLoad = _settings.ReopenUnclosedScreensOnLoad; @@ -98,6 +101,7 @@ namespace CRSim.ViewModels UpdateSettings(StopCheckInAdvanceDuration, false, value => _settings.StopCheckInAdvanceDuration = TimeSpan.FromMinutes(value)); UpdateSettings(MaxPages, false, value => _settings.MaxPages = value); UpdateSettings(SwitchPageSeconds, false, value => _settings.SwitchPageSeconds = value); + UpdateSettings(RefreshIntervalSeconds, false, value => _settings.RefreshIntervalSeconds = value); _settings.UserKey = UserKey; _settings.LoadTodayOnly = LoadTodayOnly; _settings.ReopenUnclosedScreensOnLoad = ReopenUnclosedScreensOnLoad; diff --git a/CRSim/Views/SettingsPage.xaml b/CRSim/Views/SettingsPage.xaml index 35ca5e4..abcf2f6 100644 --- a/CRSim/Views/SettingsPage.xaml +++ b/CRSim/Views/SettingsPage.xaml @@ -56,6 +56,9 @@ + + +