Skip to content

Commit b26417f

Browse files
authored
Fix: Fixed issue where it didn't work to unpin Recycle Bin from the sidebar (#11187)
1 parent 98cd803 commit b26417f

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/Files.App/Filesystem/QuickAccessManager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using CommunityToolkit.Mvvm.DependencyInjection;
2+
using CommunityToolkit.WinUI.Helpers;
23
using Files.App.DataModels;
34
using Files.App.ServicesImplementation;
45
using Files.App.UserControls.Widgets;
@@ -63,7 +64,7 @@ public async Task InitializeAsync()
6364
PinnedItemsModified += Model.LoadAsync;
6465

6566
await Model.LoadAsync();
66-
if (!Model.FavoriteItems.Contains(CommonPaths.RecycleBinPath))
67+
if (!Model.FavoriteItems.Contains(CommonPaths.RecycleBinPath) && SystemInformation.Instance.IsFirstRun)
6768
await QuickAccessService.PinToSidebar(CommonPaths.RecycleBinPath);
6869

6970
var fileItems = (await ReadV2PinnedItemsFile())?.ToList();

src/Files.App/ServicesImplementation/QuickAccessService.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
using Files.App.DataModels.NavigationControlItems;
2-
using Files.App.Filesystem;
3-
using Files.App.Shell;
1+
using Files.App.Shell;
42
using Files.App.UserControls.Widgets;
53
using Files.Shared;
64
using Files.Shared.Extensions;
75
using System;
86
using System.Collections.Generic;
7+
using System.IO;
98
using System.Linq;
10-
using System.Security.Permissions;
119
using System.Threading.Tasks;
1210

1311
namespace Files.App.ServicesImplementation
@@ -44,7 +42,8 @@ public async Task UnpinFromSidebar(string[] folderPaths)
4442
dynamic? f2 = shellAppType.InvokeMember("NameSpace", System.Reflection.BindingFlags.InvokeMethod, null, shell, new object[] { $"shell:{guid}" });
4543

4644
foreach (dynamic? fi in f2.Items())
47-
if (folderPaths.Contains((string)fi.Path))
45+
if (folderPaths.Contains((string)fi.Path)
46+
|| (string.Equals(fi.Path, "::{645FF040-5081-101B-9F08-00AA002F954E}") && folderPaths.Contains(Constants.CommonPaths.RecycleBinPath)))
4847
await SafetyExtensions.IgnoreExceptions(async () => {
4948
await fi.InvokeVerb("unpinfromhome");
5049
});

0 commit comments

Comments
 (0)