Remove old shells, some UI improvements for settings.

This commit is contained in:
Burak Kaan Köse
2026-03-21 18:25:54 +01:00
parent e6a38a3e77
commit 8d143e3b08
8 changed files with 30 additions and 1570 deletions
@@ -66,6 +66,7 @@ public sealed partial class WinoAppShell : Views.Abstract.WinoAppShellAbstract,
ViewModel.MailClient.PropertyChanged += MailClientPropertyChanged;
ViewModel.CalendarClient.PropertyChanged += CalendarClientPropertyChanged;
ViewModel.PropertyChanged += ViewModelPropertyChanged;
ViewModel.PreferencesService.PreferenceChanged += PreferencesServiceChanged;
ViewModel.StatePersistenceService.StatePropertyChanged += StatePersistenceServiceChanged;
CalendarTypeSelector.RegisterPropertyChangedCallback(WinoCalendarTypeSelectorControl.SelectedTypeProperty, CalendarTypeSelectorSelectedTypeChanged);
@@ -561,6 +562,7 @@ public sealed partial class WinoAppShell : Views.Abstract.WinoAppShellAbstract,
try
{
VisibleDateRangeCalendarView.FirstDayOfWeek = MapFirstDayOfWeek(ViewModel.PreferencesService.FirstDayOfWeek);
VisibleDateRangeCalendarView.SelectedDates.Clear();
var currentRange = ViewModel.CalendarClient.CurrentVisibleRange;
@@ -580,6 +582,27 @@ public sealed partial class WinoAppShell : Views.Abstract.WinoAppShellAbstract,
}
}
private void PreferencesServiceChanged(object? sender, string propertyName)
{
if (propertyName == nameof(IPreferencesService.FirstDayOfWeek))
{
SynchronizeVisibleDateRangeCalendar();
}
}
private static Windows.Globalization.DayOfWeek MapFirstDayOfWeek(DayOfWeek dayOfWeek)
=> dayOfWeek switch
{
DayOfWeek.Sunday => Windows.Globalization.DayOfWeek.Sunday,
DayOfWeek.Monday => Windows.Globalization.DayOfWeek.Monday,
DayOfWeek.Tuesday => Windows.Globalization.DayOfWeek.Tuesday,
DayOfWeek.Wednesday => Windows.Globalization.DayOfWeek.Wednesday,
DayOfWeek.Thursday => Windows.Globalization.DayOfWeek.Thursday,
DayOfWeek.Friday => Windows.Globalization.DayOfWeek.Friday,
DayOfWeek.Saturday => Windows.Globalization.DayOfWeek.Saturday,
_ => Windows.Globalization.DayOfWeek.Monday
};
private void ViewModelPropertyChanged(object? sender, PropertyChangedEventArgs e)
{
if (e.PropertyName != nameof(ViewModel.SelectedMenuItem) || !ViewModel.CurrentClient.HandlesNavigationSelection)