Skip to content

Commit 63352bf

Browse files
authored
Feature: Apply show checkboxes option to the grid view as well (#12087)
1 parent ebb1e18 commit 63352bf

File tree

8 files changed

+21
-18
lines changed

8 files changed

+21
-18
lines changed

src/Files.App/ServicesImplementation/Settings/FoldersSettingsService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ public bool ShowFileExtensionWarning
274274
set => Set(value);
275275
}
276276

277-
public bool ShowCheckboxesInDetailsLayout
277+
public bool ShowCheckboxesWhenSelectingItems
278278
{
279279
get => Get(true);
280280
set => Set(value);
@@ -311,7 +311,7 @@ protected override void RaiseOnSettingChangedEvent(object sender, SettingChanged
311311
case nameof(SelectFilesOnHover):
312312
case nameof(DoubleClickToGoUp):
313313
case nameof(ShowFileExtensionWarning):
314-
case nameof(ShowCheckboxesInDetailsLayout):
314+
case nameof(ShowCheckboxesWhenSelectingItems):
315315
Analytics.TrackEvent($"Set {e.SettingName} to {e.NewValue}");
316316
break;
317317
}

src/Files.App/Strings/en-US/Resources.resw

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3181,7 +3181,7 @@
31813181
<data name="MoveFileWithoutProperties" xml:space="preserve">
31823182
<value>Are you sure you want to move these files without their properties?</value>
31833183
</data>
3184-
<data name="ShowCheckboxesInDetailsLayout" xml:space="preserve">
3185-
<value>Show checkboxes when selecting items in the details layout</value>
3184+
<data name="ShowCheckboxesWhenSelectingItems" xml:space="preserve">
3185+
<value>Show checkboxes when selecting items</value>
31863186
</data>
31873187
</root>

src/Files.App/ViewModels/ItemViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ private async void UserSettingsService_OnSettingChangedEvent(object? sender, Set
505505
case nameof(UserSettingsService.FoldersSettingsService.ShowDotFiles):
506506
case nameof(UserSettingsService.FoldersSettingsService.CalculateFolderSizes):
507507
case nameof(UserSettingsService.FoldersSettingsService.SelectFilesOnHover):
508-
case nameof(UserSettingsService.FoldersSettingsService.ShowCheckboxesInDetailsLayout):
508+
case nameof(UserSettingsService.FoldersSettingsService.ShowCheckboxesWhenSelectingItems):
509509
await dispatcherQueue.EnqueueAsync(() =>
510510
{
511511
if (WorkingDirectory != "Home")

src/Files.App/ViewModels/Settings/FoldersViewModel.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,14 +421,14 @@ public bool ShowFileExtensionWarning
421421
}
422422
}
423423

424-
public bool ShowCheckboxesInDetailsLayout
424+
public bool ShowCheckboxesWhenSelectingItems
425425
{
426-
get => UserSettingsService.FoldersSettingsService.ShowCheckboxesInDetailsLayout;
426+
get => UserSettingsService.FoldersSettingsService.ShowCheckboxesWhenSelectingItems;
427427
set
428428
{
429-
if (value != UserSettingsService.FoldersSettingsService.ShowCheckboxesInDetailsLayout)
429+
if (value != UserSettingsService.FoldersSettingsService.ShowCheckboxesWhenSelectingItems)
430430
{
431-
UserSettingsService.FoldersSettingsService.ShowCheckboxesInDetailsLayout = value;
431+
UserSettingsService.FoldersSettingsService.ShowCheckboxesWhenSelectingItems = value;
432432

433433
OnPropertyChanged();
434434
}

src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -814,9 +814,9 @@ private void UpdateCheckboxVisibility(object sender, bool isPointerOver)
814814
if (sender is ListViewItem control && control.FindDescendant<UserControl>() is UserControl userControl)
815815
{
816816
// Handle visual states
817-
// Show checkboxes when hovering of the thumbnail as long as one item is selected (regardless of the setting to hide them)
818817
// Show checkboxes when items are selected (as long as the setting is enabled)
819-
if (UserSettingsService.FoldersSettingsService.ShowCheckboxesInDetailsLayout && control.IsSelected
818+
// Show checkboxes when hovering of the thumbnail (regardless of the setting to hide them)
819+
if (UserSettingsService.FoldersSettingsService.ShowCheckboxesWhenSelectingItems && control.IsSelected
820820
|| isPointerOver || (control.FindDescendant("SelectionCheckbox") as CheckBox)!.IsPointerOver)
821821
VisualStateManager.GoToState(userControl, "ShowCheckbox", true);
822822
else

src/Files.App/Views/LayoutModes/GridViewBrowser.xaml.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,10 @@ private void UpdateCheckboxVisibility(object sender, bool? isPointerOver = null)
507507
if (isPointerOver.HasValue)
508508
control.SetValue(IsPointerOverProperty, isPointerOver);
509509
// Handle visual states
510-
if (control.IsSelected || control.GetValue(IsPointerOverProperty) is not false)
510+
// Show checkboxes when items are selected (as long as the setting is enabled)
511+
// Show checkboxes when hovering of the item (regardless of the setting to hide them)
512+
if (UserSettingsService.FoldersSettingsService.ShowCheckboxesWhenSelectingItems && control.IsSelected
513+
|| control.GetValue(IsPointerOverProperty) is not false)
511514
VisualStateManager.GoToState(userControl, "ShowCheckbox", true);
512515
else
513516
VisualStateManager.GoToState(userControl, "HideCheckbox", true);

src/Files.App/Views/Settings/FoldersPage.xaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,14 +238,14 @@
238238
Style="{StaticResource RightAlignedToggleSwitchStyle}" />
239239
</local:SettingsBlockControl>
240240

241-
<!-- Show Checkboxes in the Details Layout -->
242-
<local:SettingsBlockControl Title="{helpers:ResourceString Name=ShowCheckboxesInDetailsLayout}" HorizontalAlignment="Stretch">
241+
<!-- Show Checkboxes When Selecting Items -->
242+
<local:SettingsBlockControl Title="{helpers:ResourceString Name=ShowCheckboxesWhenSelectingItems}" HorizontalAlignment="Stretch">
243243
<local:SettingsBlockControl.Icon>
244244
<FontIcon Glyph="&#xE73A;" />
245245
</local:SettingsBlockControl.Icon>
246246
<ToggleSwitch
247-
AutomationProperties.Name="{helpers:ResourceString Name=ShowCheckboxesInDetailsLayout}"
248-
IsOn="{x:Bind ViewModel.ShowCheckboxesInDetailsLayout, Mode=TwoWay}"
247+
AutomationProperties.Name="{helpers:ResourceString Name=ShowCheckboxesWhenSelectingItems}"
248+
IsOn="{x:Bind ViewModel.ShowCheckboxesWhenSelectingItems, Mode=TwoWay}"
249249
Style="{StaticResource RightAlignedToggleSwitchStyle}" />
250250
</local:SettingsBlockControl>
251251

src/Files.Backend/Services/Settings/IFoldersSettingsService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ public interface IFoldersSettingsService : IBaseSettingsService, INotifyProperty
196196
bool ShowFileExtensionWarning { get; set; }
197197

198198
/// <summary>
199-
/// Gets or sets a value indicating whether or not to show checkboxes when selecting items in the details layout.
199+
/// Gets or sets a value indicating whether or not to show checkboxes when selecting items.
200200
/// </summary>
201-
bool ShowCheckboxesInDetailsLayout { get; set; }
201+
bool ShowCheckboxesWhenSelectingItems { get; set; }
202202
}
203203
}

0 commit comments

Comments
 (0)