forked from Mirror/Ryujinx
38519f3b9a
* Fix redundancies * Add back elses * Settings Refactor * Fix Disposal functions * Use `ReflectionBinding` instead of redundant funcs * Ac_K suggestions * Update Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update locale keys * Update Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Views/Settings/SettingsSystemView.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Views/Settings/SettingsSystemView.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Use block-scoped namespaces * Fix typo * Make `TimeZone` internal again Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
52 lines
No EOL
1.6 KiB
C#
52 lines
No EOL
1.6 KiB
C#
using Avalonia.Controls;
|
|
using Avalonia.Data;
|
|
using Avalonia.Data.Converters;
|
|
using Ryujinx.Ava.UI.ViewModels;
|
|
using System;
|
|
using System.Linq;
|
|
using TimeZone = Ryujinx.Ava.UI.Models.TimeZone;
|
|
|
|
namespace Ryujinx.Ava.UI.Views.Settings
|
|
{
|
|
public partial class SettingsSystemView : UserControl
|
|
{
|
|
public SettingsViewModel ViewModel;
|
|
|
|
public SettingsSystemView()
|
|
{
|
|
InitializeComponent();
|
|
|
|
FuncMultiValueConverter<string, string> converter = new(parts => string.Format("{0} {1} {2}", parts.ToArray()).Trim());
|
|
MultiBinding tzMultiBinding = new() { Converter = converter };
|
|
|
|
tzMultiBinding.Bindings.Add(new Binding("UtcDifference"));
|
|
tzMultiBinding.Bindings.Add(new Binding("Location"));
|
|
tzMultiBinding.Bindings.Add(new Binding("Abbreviation"));
|
|
|
|
TimeZoneBox.ValueMemberBinding = tzMultiBinding;
|
|
}
|
|
|
|
private void TimeZoneBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (e.AddedItems != null && e.AddedItems.Count > 0)
|
|
{
|
|
if (e.AddedItems[0] is TimeZone timeZone)
|
|
{
|
|
e.Handled = true;
|
|
|
|
ViewModel.ValidateAndSetTimeZone(timeZone.Location);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void TimeZoneBox_OnTextChanged(object sender, EventArgs e)
|
|
{
|
|
if (sender is AutoCompleteBox box && box.SelectedItem is TimeZone timeZone)
|
|
{
|
|
{
|
|
ViewModel.ValidateAndSetTimeZone(timeZone.Location);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |