Skip to content

Commit 1c2c9ab

Browse files
ferrariofilippoyaira2hishitetsu
authored
Fix: Fixed issue where updating the default layout wouldn't refresh open tabs (#14651)
Co-authored-by: Yair <[email protected]> Co-authored-by: hishitetsu <[email protected]>
1 parent d2aa8b6 commit 1c2c9ab

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

src/Files.App/Data/Models/ItemViewModel.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,12 @@ await dispatcherQueue.EnqueueOrInvokeAsync(() =>
612612
case nameof(UserSettingsService.FoldersSettingsService.DefaultSortFilesFirst):
613613
case nameof(UserSettingsService.FoldersSettingsService.SyncFolderPreferencesAcrossDirectories):
614614
case nameof(UserSettingsService.FoldersSettingsService.DefaultGroupByDateUnit):
615+
case nameof(UserSettingsService.FoldersSettingsService.DefaultLayoutMode):
616+
case nameof(UserSettingsService.LayoutSettingsService.DefaultIconSizeDetailsView):
617+
case nameof(UserSettingsService.LayoutSettingsService.DefaultIconSizeListView):
618+
case nameof(UserSettingsService.LayoutSettingsService.DefaulIconSizeTilesView):
619+
case nameof(UserSettingsService.LayoutSettingsService.DefaulIconSizeGridView):
620+
case nameof(UserSettingsService.LayoutSettingsService.DefaultIconSizeColumnsView):
615621
await dispatcherQueue.EnqueueOrInvokeAsync(() =>
616622
{
617623
folderSettings.OnDefaultPreferencesChanged(WorkingDirectory, e.SettingName);

src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,15 @@ public void OnDefaultPreferencesChanged(string path, string settingsName)
502502
break;
503503
case nameof(UserSettingsService.FoldersSettingsService.SyncFolderPreferencesAcrossDirectories):
504504
LayoutPreferencesItem = preferencesItem;
505-
// TODO: Update layout
505+
LayoutModeChangeRequested?.Invoke(this, new LayoutModeEventArgs(LayoutMode, GridViewSize));
506+
break;
507+
case nameof(UserSettingsService.FoldersSettingsService.DefaultLayoutMode):
508+
case nameof(UserSettingsService.LayoutSettingsService.DefaultIconSizeDetailsView):
509+
case nameof(UserSettingsService.LayoutSettingsService.DefaultIconSizeListView):
510+
case nameof(UserSettingsService.LayoutSettingsService.DefaulIconSizeTilesView):
511+
case nameof(UserSettingsService.LayoutSettingsService.DefaulIconSizeGridView):
512+
case nameof(UserSettingsService.LayoutSettingsService.DefaultIconSizeColumnsView):
513+
LayoutModeChangeRequested?.Invoke(this, new LayoutModeEventArgs(LayoutMode, GridViewSize));
506514
break;
507515
}
508516
}

src/Files.App/Views/MainPage.xaml.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public async void TabItemContent_ContentChanged(object? sender, CustomTabViewIte
169169
await NavigationHelpers.UpdateInstancePropertiesAsync(paneArgs);
170170
}
171171

172-
public void MultitaskingControl_CurrentInstanceChanged(object? sender, CurrentInstanceChangedEventArgs e)
172+
public async void MultitaskingControl_CurrentInstanceChanged(object? sender, CurrentInstanceChangedEventArgs e)
173173
{
174174
if (SidebarAdaptiveViewModel.PaneHolder is not null)
175175
SidebarAdaptiveViewModel.PaneHolder.PropertyChanged -= PaneHolder_PropertyChanged;
@@ -188,10 +188,11 @@ public void MultitaskingControl_CurrentInstanceChanged(object? sender, CurrentIn
188188
UpdateStatusBarProperties();
189189
UpdateNavToolbarProperties();
190190
LoadPaneChanged();
191-
NavigationHelpers.UpdateInstancePropertiesAsync(navArgs);
192191

193192
e.CurrentInstance.ContentChanged -= TabItemContent_ContentChanged;
194193
e.CurrentInstance.ContentChanged += TabItemContent_ContentChanged;
194+
195+
await NavigationHelpers.UpdateInstancePropertiesAsync(navArgs);
195196
}
196197

197198
private void PaneHolder_PropertyChanged(object? sender, PropertyChangedEventArgs e)

0 commit comments

Comments
 (0)