0
0
Fork 0
mirror of https://github.com/GreemDev/Ryujinx.git synced 2025-01-03 04:41:59 +00:00

UI: Button to set emulator time based on system time in settings, under the time settings.

Partially resolves #355. I think that wanted automatic. If automatic functionality is still desired even with this change then that will be considered.
This commit is contained in:
Evan Husted 2024-12-21 19:43:40 -06:00
parent 1f0fa525a3
commit d9fe0da345
3 changed files with 34 additions and 1 deletions

View file

@ -329,7 +329,11 @@ namespace Ryujinx.Ava.UI.ViewModels
}
}
//private DateTimeOffset _currentDate;
//private TimeSpan _currentTime;
public DateTimeOffset CurrentDate { get; set; }
public TimeSpan CurrentTime { get; set; }
internal AvaloniaList<TimeZone> TimeZones { get; set; }
@ -453,6 +457,18 @@ namespace Ryujinx.Ava.UI.ViewModels
Dispatcher.UIThread.Post(() => OnPropertyChanged(nameof(PreferredGpuIndex)));
}
public void MatchSystemTime()
{
var dto = DateTimeOffset.Now;
CurrentDate = new DateTimeOffset(dto.Year, dto.Month, dto.Day, 0, 0, 0, dto.Offset);
CurrentTime = dto.TimeOfDay;
OnPropertyChanged(nameof(CurrentDate));
OnPropertyChanged(nameof(CurrentTime));
}
public async Task LoadTimeZones()
{
_timeZoneContentManager = new TimeZoneContentManager();

View file

@ -182,7 +182,20 @@
Width="350"
ToolTip.Tip="{ext:Locale TimeTooltip}" />
</StackPanel>
<StackPanel Margin="0,0,0,10"
<StackPanel
Margin="250,0,0,10"
Orientation="Horizontal">
<Button
VerticalAlignment="Center"
Click="MatchSystemTime_OnClick"
Background="{DynamicResource SystemAccentColor}"
Width="350"
ToolTip.Tip="{ext:Locale TimeTooltip}">
<TextBlock Text="Match System Time" />
</Button>
</StackPanel>
<Separator />
<StackPanel Margin="0,10,0,10"
Orientation="Horizontal">
<TextBlock
VerticalAlignment="Center"

View file

@ -1,5 +1,7 @@
using Avalonia.Controls;
using Avalonia.Interactivity;
using Ryujinx.Ava.UI.ViewModels;
using System;
using TimeZone = Ryujinx.Ava.UI.Models.TimeZone;
namespace Ryujinx.Ava.UI.Views.Settings
@ -33,5 +35,7 @@ namespace Ryujinx.Ava.UI.Views.Settings
ViewModel.ValidateAndSetTimeZone(timeZone.Location);
}
}
private void MatchSystemTime_OnClick(object sender, RoutedEventArgs e) => ViewModel.MatchSystemTime();
}
}