| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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);
- }
- }
- }
- }
- }
|