From b6b351f32e48de70d2bce71913e29a32817c7192 Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 17 Sep 2022 19:24:44 +0200 Subject: [PATCH] Profile editor - Repeat timeline by default & remember repeat setting --- .../Panels/Playback/PlaybackViewModel.cs | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Artemis.UI/Screens/ProfileEditor/Panels/Playback/PlaybackViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/Panels/Playback/PlaybackViewModel.cs index 32f654883..376ddb92a 100644 --- a/src/Artemis.UI/Screens/ProfileEditor/Panels/Playback/PlaybackViewModel.cs +++ b/src/Artemis.UI/Screens/ProfileEditor/Panels/Playback/PlaybackViewModel.cs @@ -29,7 +29,22 @@ public class PlaybackViewModel : ActivatableViewModelBase { _profileEditorService = profileEditorService; _settingsService = settingsService; - _repeatTimeline = true; + + if (_settingsService.GetSetting("ProfileEditor.RepeatTimeline", true).Value) + { + _repeating = true; + _repeatTimeline = true; + } + else if (_settingsService.GetSetting("ProfileEditor.RepeatSegment", false).Value) + { + _repeating = true; + _repeatSegment = true; + } + else + { + _repeating = false; + _repeatTimeline = true; + } this.WhenActivated(d => { @@ -42,7 +57,12 @@ public class PlaybackViewModel : ActivatableViewModelBase _lastUpdate = DateTime.MinValue; DispatcherTimer updateTimer = new(TimeSpan.FromMilliseconds(60.0 / 1000), DispatcherPriority.Render, Update); updateTimer.Start(); - Disposable.Create(() => updateTimer.Stop()).DisposeWith(d); + Disposable.Create(() => + { + updateTimer.Stop(); + _settingsService.GetSetting("ProfileEditor.RepeatTimeline", true).Value = _repeating && _repeatTimeline; + _settingsService.GetSetting("ProfileEditor.RepeatSegment", false).Value = _repeating && _repeatSegment; + }).DisposeWith(d); }); PlayFromStart = ReactiveCommand.Create(ExecutePlayFromStart, this.WhenAnyValue(vm => vm.KeyBindingsEnabled));