Skip to content

Feature: Added an option to set default columns #9785

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ public interface IPreferencesSettingsService : IBaseSettingsService, INotifyProp
bool SearchUnindexedItems { get; set; }

/// <summary>
/// Enables saving a unique layout mode, gridview size and sort direction per folder
/// Forces default directory preferences on all folders
/// </summary>
bool AreLayoutPreferencesPerFolder { get; set; }
bool ForceLayoutPreferencesOnAllDirectories { get; set; }

/// <summary>
/// Gets or sets a value indicating whether or not to show folder size.
Expand Down
2 changes: 1 addition & 1 deletion src/Files.Uwp/Helpers/AdaptiveLayoutHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public static bool PredictLayoutMode(FolderSettingsViewModel folderSettings, str
{
IUserSettingsService userSettingsService = Ioc.Default.GetService<IUserSettingsService>();

if (userSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder
if (!userSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories
&& folderSettings.IsAdaptiveLayoutEnabled
&& !folderSettings.IsLayoutModeFixed)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ public bool SearchUnindexedItems
set => Set(value);
}

public bool AreLayoutPreferencesPerFolder
public bool ForceLayoutPreferencesOnAllDirectories
{
get => Get(true);
get => Get(false);
set => Set(value);
}

Expand Down Expand Up @@ -148,7 +148,7 @@ protected override void RaiseOnSettingChangedEvent(object sender, SettingChanged
case nameof(OpenFilesWithOneClick):
case nameof(OpenFoldersWithOneClick):
case nameof(SearchUnindexedItems):
case nameof(AreLayoutPreferencesPerFolder):
case nameof(ForceLayoutPreferencesOnAllDirectories):
case nameof(ShowFolderSize):
case nameof(OpenSpecificPageOnStartup):
case nameof(ContinueLastSessionOnStartUp):
Expand All @@ -173,7 +173,7 @@ public void ReportToAppCenter()
Analytics.TrackEvent($"{nameof(OpenFilesWithOneClick)}, {OpenFilesWithOneClick}");
Analytics.TrackEvent($"{nameof(OpenFoldersWithOneClick)}, {OpenFoldersWithOneClick}");
Analytics.TrackEvent($"{nameof(SearchUnindexedItems)}, {SearchUnindexedItems}");
Analytics.TrackEvent($"{nameof(AreLayoutPreferencesPerFolder)}, {AreLayoutPreferencesPerFolder}");
Analytics.TrackEvent($"{nameof(ForceLayoutPreferencesOnAllDirectories)}, {ForceLayoutPreferencesOnAllDirectories}");
Analytics.TrackEvent($"{nameof(ShowFolderSize)}, {ShowFolderSize}");
Analytics.TrackEvent($"{nameof(OpenSpecificPageOnStartup)}, {OpenSpecificPageOnStartup}");
Analytics.TrackEvent($"{nameof(ContinueLastSessionOnStartUp)}, {ContinueLastSessionOnStartUp}");
Expand Down
22 changes: 20 additions & 2 deletions src/Files.Uwp/Strings/en-US/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1239,8 +1239,8 @@
<data name="SettingsSearchUnindexedItems" xml:space="preserve">
<value>Show unindexed items when searching for files and folders</value>
</data>
<data name="SettingsEnableLayoutPreferencesPerFolder" xml:space="preserve">
<value>Enable individual preferences for individual directories</value>
<data name="ForceThesePreferencesOnAllDirectories" xml:space="preserve">
<value>Force these preferences on all directories</value>
</data>
<data name="SettingsContextMenu.Text" xml:space="preserve">
<value>Customize the right click context menu</value>
Expand Down Expand Up @@ -2795,4 +2795,22 @@ We use App Center to track which settings are being used, find bugs, and fix cra
<data name="SetAsDefault" xml:space="preserve">
<value>Set as default</value>
</data>
<data name="DefaultFolderPreferences" xml:space="preserve">
<value>Default Folder preferences</value>
</data>
<data name="DisplayDateColumn" xml:space="preserve">
<value>Display Date column</value>
</data>
<data name="DisplayDateCreatedColumn" xml:space="preserve">
<value>Display Date Created column</value>
</data>
<data name="DisplaySizeColumn" xml:space="preserve">
<value>Display Size column</value>
</data>
<data name="DisplayTagColumn" xml:space="preserve">
<value>Display Tag column</value>
</data>
<data name="DisplayTypeColumn" xml:space="preserve">
<value>Display Type column</value>
</data>
</root>
6 changes: 3 additions & 3 deletions src/Files.Uwp/ViewModels/FolderSettingsViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ public ColumnsViewModel ColumnsViewModel
private static LayoutPreferences GetLayoutPreferencesForPath(string folderPath)
{
IUserSettingsService userSettingsService = Ioc.Default.GetService<IUserSettingsService>();
if (userSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder)
if (!userSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories)
{
folderPath = folderPath.TrimPath();
var folderFRN = NativeFileOperationsHelper.GetFolderFRN(folderPath);
Expand All @@ -326,7 +326,7 @@ public static void SetLayoutPreferencesForPath(string folderPath, LayoutPreferen
{
IUserSettingsService userSettingsService = Ioc.Default.GetService<IUserSettingsService>();

if (userSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder)
if (!userSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories)
{
var folderFRN = NativeFileOperationsHelper.GetFolderFRN(folderPath);
WriteLayoutPreferencesToDb(folderPath.TrimPath(), folderFRN, prefs);
Expand Down Expand Up @@ -529,7 +529,7 @@ public void OnDefaultPreferencesChanged(string folderPath, string settingsName)
case nameof(UserSettingsService.LayoutSettingsService.DefaultSortDirectoriesAlongsideFiles):
SortDirectoriesAlongsideFiles = prefs.SortDirectoriesAlongsideFiles;
break;
case nameof(UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder):
case nameof(UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories):
LayoutPreference = prefs;
// TODO: update layout
break;
Expand Down
2 changes: 1 addition & 1 deletion src/Files.Uwp/ViewModels/ItemViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ await dispatcherQueue.EnqueueAsync(() =>
});
break;
case nameof(UserSettingsService.LayoutSettingsService.DefaultSortDirectoriesAlongsideFiles):
case nameof(UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder):
case nameof(UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories):
await dispatcherQueue.EnqueueAsync(() =>
{
folderSettings.OnDefaultPreferencesChanged(WorkingDirectory, e.SettingName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -628,14 +628,79 @@ public bool SearchUnindexedItems
}
}

public bool AreLayoutPreferencesPerFolder
public bool ForceLayoutPreferencesOnAllDirectories
{
get => UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder;
get => UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories;
set
{
if (value != UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder)
if (value != UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories)
{
UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder = value;
UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories = value;
OnPropertyChanged();
}
}
}

public bool ShowFileTagColumn
{
get => UserSettingsService.LayoutSettingsService.ShowFileTagColumn;
set
{
if (value != UserSettingsService.LayoutSettingsService.ShowFileTagColumn)
{
UserSettingsService.LayoutSettingsService.ShowFileTagColumn = value;
OnPropertyChanged();
}
}
}

public bool ShowSizeColumn
{
get => UserSettingsService.LayoutSettingsService.ShowSizeColumn;
set
{
if (value != UserSettingsService.LayoutSettingsService.ShowSizeColumn)
{
UserSettingsService.LayoutSettingsService.ShowSizeColumn = value;
OnPropertyChanged();
}
}
}

public bool ShowTypeColumn
{
get => UserSettingsService.LayoutSettingsService.ShowTypeColumn;
set
{
if (value != UserSettingsService.LayoutSettingsService.ShowTypeColumn)
{
UserSettingsService.LayoutSettingsService.ShowTypeColumn = value;
OnPropertyChanged();
}
}
}

public bool ShowDateCreatedColumn
{
get => UserSettingsService.LayoutSettingsService.ShowDateCreatedColumn;
set
{
if (value != UserSettingsService.LayoutSettingsService.ShowDateCreatedColumn)
{
UserSettingsService.LayoutSettingsService.ShowDateCreatedColumn = value;
OnPropertyChanged();
}
}
}

public bool ShowDateColumn
{
get => UserSettingsService.LayoutSettingsService.ShowDateColumn;
set
{
if (value != UserSettingsService.LayoutSettingsService.ShowDateColumn)
{
UserSettingsService.LayoutSettingsService.ShowDateColumn = value;
OnPropertyChanged();
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/Files.Uwp/ViewModels/ToolbarViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ public bool IsLayoutAdaptive
&& IsAdaptiveLayoutEnabled;

public bool IsAdaptiveLayoutEnabled
=> UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder;
=> !UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories;

private bool canCopyPathInPage;

Expand Down Expand Up @@ -394,7 +394,7 @@ private void UserSettingsService_OnSettingChangedEvent(object sender, SettingCha
RefreshWidgetsRequested?.Invoke(this, EventArgs.Empty);
OnPropertyChanged(e.SettingName);
break;
case nameof(UserSettingsService.PreferencesSettingsService.AreLayoutPreferencesPerFolder):
case nameof(UserSettingsService.PreferencesSettingsService.ForceLayoutPreferencesOnAllDirectories):
FolderSettings_LayoutPreferencesUpdateRequired(null, 0);
break;
}
Expand Down
Loading