Fix padding in narrow state

This commit is contained in:
Aleh Khantsevich
2024-08-19 18:49:35 +02:00
parent f57c27e755
commit 68536d6c34
2 changed files with 15 additions and 11 deletions

View File

@@ -121,7 +121,7 @@ namespace Wino.Mail.ViewModels
private string barMessage; private string barMessage;
[ObservableProperty] [ObservableProperty]
private double mailListLength = 300; private double mailListLength = 420;
[ObservableProperty] [ObservableProperty]
private double maxMailListLength = 1200; private double maxMailListLength = 1200;
@@ -147,7 +147,7 @@ namespace Wino.Mail.ViewModels
public MailListPageViewModel(IDialogService dialogService, public MailListPageViewModel(IDialogService dialogService,
IWinoNavigationService navigationService, IWinoNavigationService navigationService,
IMailService mailService, IMailService mailService,
IStatePersistanceService statePersistanceService, IStatePersistanceService statePersistenceService,
IFolderService folderService, IFolderService folderService,
IThreadingStrategyProvider threadingStrategyProvider, IThreadingStrategyProvider threadingStrategyProvider,
IContextMenuItemService contextMenuItemService, IContextMenuItemService contextMenuItemService,
@@ -158,7 +158,7 @@ namespace Wino.Mail.ViewModels
{ {
PreferencesService = preferencesService; PreferencesService = preferencesService;
_winoServerConnectionManager = winoServerConnectionManager; _winoServerConnectionManager = winoServerConnectionManager;
StatePersistanceService = statePersistanceService; StatePersistanceService = statePersistenceService;
NavigationService = navigationService; NavigationService = navigationService;
_mailService = mailService; _mailService = mailService;
@@ -171,6 +171,8 @@ namespace Wino.Mail.ViewModels
SelectedFilterOption = FilterOptions[0]; SelectedFilterOption = FilterOptions[0];
SelectedSortingOption = SortingOptions[0]; SelectedSortingOption = SortingOptions[0];
mailListLength = statePersistenceService.MailListPaneLength;
selectionChangedObservable = Observable.FromEventPattern<NotifyCollectionChangedEventArgs>(SelectedItems, nameof(SelectedItems.CollectionChanged)); selectionChangedObservable = Observable.FromEventPattern<NotifyCollectionChangedEventArgs>(SelectedItems, nameof(SelectedItems.CollectionChanged));
selectionChangedObservable selectionChangedObservable
.Throttle(TimeSpan.FromMilliseconds(100)) .Throttle(TimeSpan.FromMilliseconds(100))
@@ -263,7 +265,7 @@ namespace Wino.Mail.ViewModels
{ {
if (_activeMailItem == selectedMailItemViewModel) return; 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. // User is probably trying to select multiple items.
// This is not the same behavior in Windows Mail, // This is not the same behavior in Windows Mail,
// but it's a trash behavior. // but it's a trash behavior.
@@ -272,7 +274,7 @@ namespace Wino.Mail.ViewModels
bool isMultiSelecting = isCtrlKeyPressed || IsMultiSelectionModeEnabled; 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. // Don't change the active mail item if the reader is narrowed, but just update the shell.
Messenger.Send(new ShellStateUpdated()); Messenger.Send(new ShellStateUpdated());

View File

@@ -40,10 +40,9 @@ namespace Wino.Views
IRecipient<ShellStateUpdated>, IRecipient<ShellStateUpdated>,
IRecipient<DisposeRenderingFrameRequested> IRecipient<DisposeRenderingFrameRequested>
{ {
private const int RENDERING_COLUMN_MIN_WIDTH = 300; private const double RENDERING_COLUMN_MIN_WIDTH = 300;
private IStatePersistanceService StatePersistenceService { get; } = App.Current.Services.GetService<IStatePersistanceService>(); private IStatePersistanceService StatePersistenceService { get; } = App.Current.Services.GetService<IStatePersistanceService>();
private IPreferencesService PreferencesService { get; } = App.Current.Services.GetService<IPreferencesService>();
private IKeyPressService KeyPressService { get; } = App.Current.Services.GetService<IKeyPressService>(); private IKeyPressService KeyPressService { get; } = App.Current.Services.GetService<IKeyPressService>();
public MailListPage() public MailListPage()
@@ -89,7 +88,7 @@ namespace Wino.Views
SelectAllCheckbox.Unchecked += SelectAllCheckboxUnchecked; SelectAllCheckbox.Unchecked += SelectAllCheckboxUnchecked;
} }
private void SelectionModeToggleChecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) private void SelectionModeToggleChecked(object sender, RoutedEventArgs e)
{ {
ChangeSelectionMode(ListViewSelectionMode.Multiple); 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); ChangeSelectionMode(ListViewSelectionMode.Extended);
} }
private void SelectAllCheckboxChecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) private void SelectAllCheckboxChecked(object sender, RoutedEventArgs e)
{ {
MailListView.SelectAllWino(); MailListView.SelectAllWino();
} }
private void SelectAllCheckboxUnchecked(object sender, Windows.UI.Xaml.RoutedEventArgs e) private void SelectAllCheckboxUnchecked(object sender, RoutedEventArgs e)
{ {
MailListView.ClearSelections(); MailListView.ClearSelections();
} }
@@ -541,6 +540,7 @@ namespace Wino.Views
RendererColumn.Width = new GridLength(0); RendererColumn.Width = new GridLength(0);
Grid.SetColumnSpan(MailListContainer, 2); Grid.SetColumnSpan(MailListContainer, 2);
MailListContainer.Margin = new Thickness(7,0,7,0);
MailListContainer.Visibility = Visibility.Visible; MailListContainer.Visibility = Visibility.Visible;
RenderingGrid.Visibility = Visibility.Collapsed; RenderingGrid.Visibility = Visibility.Collapsed;
} }
@@ -550,6 +550,8 @@ namespace Wino.Views
MailListColumn.Width = new GridLength(StatePersistenceService.MailListPaneLength); MailListColumn.Width = new GridLength(StatePersistenceService.MailListPaneLength);
RendererColumn.Width = new GridLength(1, GridUnitType.Star); RendererColumn.Width = new GridLength(1, GridUnitType.Star);
MailListContainer.Margin = new Thickness(0, 0, 0, 0);
Grid.SetColumn(MailListContainer, 0); Grid.SetColumn(MailListContainer, 0);
Grid.SetColumn(RenderingGrid, 1); Grid.SetColumn(RenderingGrid, 1);
Grid.SetColumnSpan(MailListContainer, 1); Grid.SetColumnSpan(MailListContainer, 1);