forked from Mirror/Ryujinx
Ava: Fix SystemTimeOffset calculation (#4848)
* Ava: Fix SystemTimeOffset calculation During testing of #4822, Mary pointed out the way we calculate time offset is wrong in our Avalonia UI. This PR fixed that. The axaml file is autoformatted too. * DateTime.Now in local var
This commit is contained in:
parent
470a8031a4
commit
adf4ebcd60
2 changed files with 59 additions and 62 deletions
|
@ -238,8 +238,9 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public DateTimeOffset DateOffset { get; set; }
|
public DateTimeOffset CurrentDate { get; set; }
|
||||||
public TimeSpan TimeOffset { get; set; }
|
public TimeSpan CurrentTime { get; set; }
|
||||||
|
|
||||||
internal AvaloniaList<TimeZone> TimeZones { get; set; }
|
internal AvaloniaList<TimeZone> TimeZones { get; set; }
|
||||||
public AvaloniaList<string> GameDirectories { get; set; }
|
public AvaloniaList<string> GameDirectories { get; set; }
|
||||||
public ObservableCollection<ComboBoxItem> AvailableGpus { get; set; }
|
public ObservableCollection<ComboBoxItem> AvailableGpus { get; set; }
|
||||||
|
@ -397,10 +398,11 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||||
Language = (int)config.System.Language.Value;
|
Language = (int)config.System.Language.Value;
|
||||||
TimeZone = config.System.TimeZone;
|
TimeZone = config.System.TimeZone;
|
||||||
|
|
||||||
DateTime dateTimeOffset = DateTime.Now.AddSeconds(config.System.SystemTimeOffset);
|
DateTime currentDateTime = DateTime.Now;
|
||||||
|
|
||||||
|
CurrentDate = currentDateTime.Date;
|
||||||
|
CurrentTime = currentDateTime.TimeOfDay.Add(TimeSpan.FromSeconds(config.System.SystemTimeOffset));
|
||||||
|
|
||||||
DateOffset = dateTimeOffset.Date;
|
|
||||||
TimeOffset = dateTimeOffset.TimeOfDay;
|
|
||||||
EnableVsync = config.Graphics.EnableVsync;
|
EnableVsync = config.Graphics.EnableVsync;
|
||||||
EnableFsIntegrityChecks = config.System.EnableFsIntegrityChecks;
|
EnableFsIntegrityChecks = config.System.EnableFsIntegrityChecks;
|
||||||
ExpandDramSize = config.System.ExpandRam;
|
ExpandDramSize = config.System.ExpandRam;
|
||||||
|
@ -487,9 +489,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||||
config.System.TimeZone.Value = TimeZone;
|
config.System.TimeZone.Value = TimeZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
TimeSpan systemTimeOffset = DateOffset - DateTime.Now;
|
config.System.SystemTimeOffset.Value = Convert.ToInt64((CurrentDate.ToUnixTimeSeconds() + CurrentTime.TotalSeconds) - DateTimeOffset.Now.ToUnixTimeSeconds());
|
||||||
|
|
||||||
config.System.SystemTimeOffset.Value = systemTimeOffset.Seconds;
|
|
||||||
config.Graphics.EnableVsync.Value = EnableVsync;
|
config.Graphics.EnableVsync.Value = EnableVsync;
|
||||||
config.System.EnableFsIntegrityChecks.Value = EnableFsIntegrityChecks;
|
config.System.EnableFsIntegrityChecks.Value = EnableFsIntegrityChecks;
|
||||||
config.System.ExpandRam.Value = ExpandDramSize;
|
config.System.ExpandRam.Value = ExpandDramSize;
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
xmlns="https://github.com/avaloniaui"
|
xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
||||||
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
|
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||||
mc:Ignorable="d"
|
|
||||||
x:CompileBindings="True"
|
x:CompileBindings="True"
|
||||||
x:DataType="viewModels:SettingsViewModel">
|
x:DataType="viewModels:SettingsViewModel"
|
||||||
|
mc:Ignorable="d">
|
||||||
<Design.DataContext>
|
<Design.DataContext>
|
||||||
<viewModels:SettingsViewModel />
|
<viewModels:SettingsViewModel />
|
||||||
</Design.DataContext>
|
</Design.DataContext>
|
||||||
|
@ -27,13 +27,15 @@
|
||||||
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabSystemCore}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabSystemCore}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
||||||
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock
|
||||||
Text="{locale:Locale SettingsTabSystemSystemRegion}"
|
Width="250"
|
||||||
Width="250" />
|
VerticalAlignment="Center"
|
||||||
<ComboBox SelectedIndex="{Binding Region}"
|
Text="{locale:Locale SettingsTabSystemSystemRegion}" />
|
||||||
ToolTip.Tip="{locale:Locale RegionTooltip}"
|
<ComboBox
|
||||||
HorizontalContentAlignment="Left"
|
Width="350"
|
||||||
Width="350">
|
HorizontalContentAlignment="Left"
|
||||||
|
SelectedIndex="{Binding Region}"
|
||||||
|
ToolTip.Tip="{locale:Locale RegionTooltip}">
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionJapan}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionJapan}" />
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
|
@ -58,20 +60,21 @@
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguage}"
|
Width="250"
|
||||||
ToolTip.Tip="{locale:Locale LanguageTooltip}"
|
VerticalAlignment="Center"
|
||||||
Width="250" />
|
Text="{locale:Locale SettingsTabSystemSystemLanguage}"
|
||||||
<ComboBox SelectedIndex="{Binding Language}"
|
ToolTip.Tip="{locale:Locale LanguageTooltip}" />
|
||||||
ToolTip.Tip="{locale:Locale LanguageTooltip}"
|
<ComboBox
|
||||||
HorizontalContentAlignment="Left"
|
Width="350"
|
||||||
Width="350">
|
HorizontalContentAlignment="Left"
|
||||||
|
SelectedIndex="{Binding Language}"
|
||||||
|
ToolTip.Tip="{locale:Locale LanguageTooltip}">
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageJapanese}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageJapanese}" />
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageAmericanEnglish}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageAmericanEnglish}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageFrench}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageFrench}" />
|
||||||
|
@ -104,71 +107,67 @@
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageTaiwanese}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageTaiwanese}" />
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageBritishEnglish}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageBritishEnglish}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageCanadianFrench}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageCanadianFrench}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageLatinAmericanSpanish}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageLatinAmericanSpanish}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageSimplifiedChinese}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageSimplifiedChinese}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageTraditionalChinese}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageTraditionalChinese}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock
|
<TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageBrazilianPortuguese}" />
|
||||||
Text="{locale:Locale SettingsTabSystemSystemLanguageBrazilianPortuguese}" />
|
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock
|
||||||
Text="{locale:Locale SettingsTabSystemSystemTimeZone}"
|
Width="250"
|
||||||
ToolTip.Tip="{locale:Locale TimezoneTooltip}"
|
VerticalAlignment="Center"
|
||||||
Width="250" />
|
Text="{locale:Locale SettingsTabSystemSystemTimeZone}"
|
||||||
|
ToolTip.Tip="{locale:Locale TimezoneTooltip}" />
|
||||||
<AutoCompleteBox
|
<AutoCompleteBox
|
||||||
Name="TimeZoneBox"
|
Name="TimeZoneBox"
|
||||||
Width="350"
|
Width="350"
|
||||||
MaxDropDownHeight="500"
|
|
||||||
FilterMode="Contains"
|
FilterMode="Contains"
|
||||||
Items="{Binding TimeZones}"
|
Items="{Binding TimeZones}"
|
||||||
|
MaxDropDownHeight="500"
|
||||||
SelectionChanged="TimeZoneBox_OnSelectionChanged"
|
SelectionChanged="TimeZoneBox_OnSelectionChanged"
|
||||||
Text="{Binding Path=TimeZone, Mode=OneWay}"
|
Text="{Binding Path=TimeZone, Mode=OneWay}"
|
||||||
TextChanged="TimeZoneBox_OnTextChanged"
|
TextChanged="TimeZoneBox_OnTextChanged"
|
||||||
ToolTip.Tip="{locale:Locale TimezoneTooltip}" />
|
ToolTip.Tip="{locale:Locale TimezoneTooltip}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock
|
||||||
Text="{locale:Locale SettingsTabSystemSystemTime}"
|
Width="250"
|
||||||
ToolTip.Tip="{locale:Locale TimeTooltip}"
|
VerticalAlignment="Center"
|
||||||
Width="250"/>
|
Text="{locale:Locale SettingsTabSystemSystemTime}"
|
||||||
<DatePicker VerticalAlignment="Center" SelectedDate="{Binding DateOffset}"
|
ToolTip.Tip="{locale:Locale TimeTooltip}" />
|
||||||
ToolTip.Tip="{locale:Locale TimeTooltip}"
|
<DatePicker
|
||||||
Width="350" />
|
Width="350"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
SelectedDate="{Binding CurrentDate}"
|
||||||
|
ToolTip.Tip="{locale:Locale TimeTooltip}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Margin="250,0,0,10" Orientation="Horizontal">
|
<StackPanel Margin="250,0,0,10" Orientation="Horizontal">
|
||||||
<TimePicker
|
<TimePicker
|
||||||
|
Width="350"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
ClockIdentifier="24HourClock"
|
ClockIdentifier="24HourClock"
|
||||||
SelectedTime="{Binding TimeOffset}"
|
SelectedTime="{Binding CurrentTime}"
|
||||||
Width="350"
|
|
||||||
ToolTip.Tip="{locale:Locale TimeTooltip}" />
|
ToolTip.Tip="{locale:Locale TimeTooltip}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<CheckBox IsChecked="{Binding EnableVsync}">
|
<CheckBox IsChecked="{Binding EnableVsync}">
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemEnableVsync}"
|
<TextBlock Text="{locale:Locale SettingsTabSystemEnableVsync}" ToolTip.Tip="{locale:Locale VSyncToggleTooltip}" />
|
||||||
ToolTip.Tip="{locale:Locale VSyncToggleTooltip}" />
|
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
<CheckBox IsChecked="{Binding EnableFsIntegrityChecks}">
|
<CheckBox IsChecked="{Binding EnableFsIntegrityChecks}">
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemEnableFsIntegrityChecks}"
|
<TextBlock Text="{locale:Locale SettingsTabSystemEnableFsIntegrityChecks}" ToolTip.Tip="{locale:Locale FsIntegrityToggleTooltip}" />
|
||||||
ToolTip.Tip="{locale:Locale FsIntegrityToggleTooltip}" />
|
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
|
@ -180,12 +179,10 @@
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical">
|
Orientation="Vertical">
|
||||||
<CheckBox IsChecked="{Binding ExpandDramSize}"
|
<CheckBox IsChecked="{Binding ExpandDramSize}" ToolTip.Tip="{locale:Locale DRamTooltip}">
|
||||||
ToolTip.Tip="{locale:Locale DRamTooltip}">
|
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemExpandDramSize}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemExpandDramSize}" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
<CheckBox IsChecked="{Binding IgnoreMissingServices}"
|
<CheckBox IsChecked="{Binding IgnoreMissingServices}" ToolTip.Tip="{locale:Locale IgnoreMissingServicesTooltip}">
|
||||||
ToolTip.Tip="{locale:Locale IgnoreMissingServicesTooltip}">
|
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemIgnoreMissingServices}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemIgnoreMissingServices}" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
Loading…
Reference in a new issue