diff --git a/Wino.Mail.ViewModels/MailListPageViewModel.cs b/Wino.Mail.ViewModels/MailListPageViewModel.cs index 3a1900d5..8b50f100 100644 --- a/Wino.Mail.ViewModels/MailListPageViewModel.cs +++ b/Wino.Mail.ViewModels/MailListPageViewModel.cs @@ -121,7 +121,7 @@ namespace Wino.Mail.ViewModels private string barMessage; [ObservableProperty] - private double mailListLength = 300; + private double mailListLength = 420; [ObservableProperty] private double maxMailListLength = 1200; @@ -147,7 +147,7 @@ namespace Wino.Mail.ViewModels public MailListPageViewModel(IDialogService dialogService, IWinoNavigationService navigationService, IMailService mailService, - IStatePersistanceService statePersistanceService, + IStatePersistanceService statePersistenceService, IFolderService folderService, IThreadingStrategyProvider threadingStrategyProvider, IContextMenuItemService contextMenuItemService, @@ -158,7 +158,7 @@ namespace Wino.Mail.ViewModels { PreferencesService = preferencesService; _winoServerConnectionManager = winoServerConnectionManager; - StatePersistanceService = statePersistanceService; + StatePersistanceService = statePersistenceService; NavigationService = navigationService; _mailService = mailService; @@ -171,6 +171,8 @@ namespace Wino.Mail.ViewModels SelectedFilterOption = FilterOptions[0]; SelectedSortingOption = SortingOptions[0]; + mailListLength = statePersistenceService.MailListPaneLength; + selectionChangedObservable = Observable.FromEventPattern(SelectedItems, nameof(SelectedItems.CollectionChanged)); selectionChangedObservable .Throttle(TimeSpan.FromMilliseconds(100)) @@ -263,7 +265,7 @@ namespace Wino.Mail.ViewModels { if (_activeMailItem == selectedMailItemViewModel) return; - // Don't update active mail item if Ctrl key is pressed or multi selection is ennabled. + // Don't update active mail item if Ctrl key is pressed or multi selection is enabled. // User is probably trying to select multiple items. // This is not the same behavior in Windows Mail, // but it's a trash behavior. @@ -272,7 +274,7 @@ namespace Wino.Mail.ViewModels bool isMultiSelecting = isCtrlKeyPressed || IsMultiSelectionModeEnabled; - if (isMultiSelecting ? StatePersistanceService.IsReaderNarrowed : false) + if (isMultiSelecting && StatePersistanceService.IsReaderNarrowed) { // Don't change the active mail item if the reader is narrowed, but just update the shell. Messenger.Send(new ShellStateUpdated()); diff --git a/Wino.Mail/Views/MailListPage.xaml.cs b/Wino.Mail/Views/MailListPage.xaml.cs index b368ce7a..bfa79235 100644 --- a/Wino.Mail/Views/MailListPage.xaml.cs +++ b/Wino.Mail/Views/MailListPage.xaml.cs @@ -40,10 +40,9 @@ namespace Wino.Views IRecipient, IRecipient { - private const int RENDERING_COLUMN_MIN_WIDTH = 300; + private const double RENDERING_COLUMN_MIN_WIDTH = 300; private IStatePersistanceService StatePersistenceService { get; } = App.Current.Services.GetService(); - private IPreferencesService PreferencesService { get; } = App.Current.Services.GetService(); private IKeyPressService KeyPressService { get; } = App.Current.Services.GetService(); public MailListPage() @@ -89,7 +88,7 @@ namespace Wino.Views SelectAllCheckbox.Unchecked += SelectAllCheckboxUnchecked; } - private void SelectionModeToggleChecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) + private void SelectionModeToggleChecked(object sender, RoutedEventArgs e) { ChangeSelectionMode(ListViewSelectionMode.Multiple); } @@ -131,17 +130,17 @@ namespace Wino.Views } } - private void SelectionModeToggleUnchecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) + private void SelectionModeToggleUnchecked(object sender, RoutedEventArgs e) { ChangeSelectionMode(ListViewSelectionMode.Extended); } - private void SelectAllCheckboxChecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) + private void SelectAllCheckboxChecked(object sender, RoutedEventArgs e) { MailListView.SelectAllWino(); } - private void SelectAllCheckboxUnchecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) + private void SelectAllCheckboxUnchecked(object sender, RoutedEventArgs e) { MailListView.ClearSelections(); } @@ -541,6 +540,7 @@ namespace Wino.Views RendererColumn.Width = new GridLength(0); Grid.SetColumnSpan(MailListContainer, 2); + MailListContainer.Margin = new Thickness(7,0,7,0); MailListContainer.Visibility = Visibility.Visible; RenderingGrid.Visibility = Visibility.Collapsed; } @@ -550,6 +550,8 @@ namespace Wino.Views MailListColumn.Width = new GridLength(StatePersistenceService.MailListPaneLength); RendererColumn.Width = new GridLength(1, GridUnitType.Star); + MailListContainer.Margin = new Thickness(0, 0, 0, 0); + Grid.SetColumn(MailListContainer, 0); Grid.SetColumn(RenderingGrid, 1); Grid.SetColumnSpan(MailListContainer, 1);