@@ -73,20 +73,14 @@ public ICommand EmptyRecycleBinCommand
73
73
set => SetValue ( EmptyRecycleBinCommandProperty , value ) ;
74
74
}
75
75
76
- private DispatcherQueueController timerQueueController ;
77
-
78
- private DispatcherQueue timerQueue ;
79
-
80
76
private DispatcherQueueTimer dragOverTimer ;
81
77
82
78
public SidebarControl ( )
83
79
{
84
80
this . InitializeComponent ( ) ;
85
81
SidebarNavView . Loaded += SidebarNavView_Loaded ;
86
82
87
- timerQueueController = DispatcherQueueController . CreateOnDedicatedThread ( ) ;
88
- timerQueue = timerQueueController . DispatcherQueue ;
89
- dragOverTimer = timerQueue . CreateTimer ( ) ;
83
+ dragOverTimer = DispatcherQueue . GetForCurrentThread ( ) . CreateTimer ( ) ;
90
84
}
91
85
92
86
private INavigationControlItem selectedSidebarItem ;
@@ -200,13 +194,27 @@ public bool RecycleBinHasItems
200
194
}
201
195
}
202
196
197
+ public INavigationControlItem RightClickedItem ;
198
+
203
199
public event PropertyChangedEventHandler PropertyChanged ;
204
200
205
201
private void NotifyPropertyChanged ( [ CallerMemberName ] string propertyName = "" )
206
202
{
207
203
PropertyChanged ? . Invoke ( this , new PropertyChangedEventArgs ( propertyName ) ) ;
208
204
}
209
205
206
+ public void UnpinItem_Click ( object sender , RoutedEventArgs e )
207
+ {
208
+ if ( RightClickedItem . Path . Equals ( AppSettings . RecycleBinPath , StringComparison . OrdinalIgnoreCase ) )
209
+ {
210
+ AppSettings . PinRecycleBinToSideBar = false ;
211
+ }
212
+ else if ( RightClickedItem . Section == SectionType . Favorites )
213
+ {
214
+ App . SidebarPinnedController . Model . RemoveItem ( RightClickedItem . Path . ToString ( ) ) ;
215
+ }
216
+ }
217
+
210
218
private void Sidebar_ItemInvoked ( Microsoft . UI . Xaml . Controls . NavigationView sender , Microsoft . UI . Xaml . Controls . NavigationViewItemInvokedEventArgs args )
211
219
{
212
220
if ( args . InvokedItem == null || args . InvokedItemContainer == null )
@@ -251,8 +259,8 @@ private void NavigationViewLocationItem_RightTapped(object sender, RightTappedRo
251
259
}
252
260
}
253
261
262
+ RightClickedItem = item ;
254
263
SideBarItemContextFlyout . ShowAt ( sidebarItem , e . GetPosition ( sidebarItem ) ) ;
255
- App . RightClickedItem = item ;
256
264
}
257
265
258
266
e . Handled = true ;
@@ -270,7 +278,7 @@ private void NavigationViewDriveItem_RightTapped(object sender, RightTappedRoute
270
278
271
279
SideBarItemContextFlyout . ShowAt ( sidebarItem , e . GetPosition ( sidebarItem ) ) ;
272
280
273
- App . RightClickedItem = item ;
281
+ RightClickedItem = item ;
274
282
275
283
e . Handled = true ;
276
284
}
@@ -287,19 +295,19 @@ private void NavigationViewWSLItem_RightTapped(object sender, RightTappedRoutedE
287
295
288
296
SideBarItemContextFlyout . ShowAt ( sidebarItem , e . GetPosition ( sidebarItem ) ) ;
289
297
290
- App . RightClickedItem = item ;
298
+ RightClickedItem = item ;
291
299
292
300
e . Handled = true ;
293
301
}
294
302
295
303
private void OpenInNewTab_Click ( object sender , RoutedEventArgs e )
296
304
{
297
- Interaction . OpenPathInNewTab ( App . RightClickedItem . Path ) ;
305
+ Interaction . OpenPathInNewTab ( RightClickedItem . Path ) ;
298
306
}
299
307
300
308
private async void OpenInNewWindow_Click ( object sender , RoutedEventArgs e )
301
309
{
302
- await Interaction . OpenPathInNewWindowAsync ( App . RightClickedItem . Path ) ;
310
+ await Interaction . OpenPathInNewWindowAsync ( RightClickedItem . Path ) ;
303
311
}
304
312
305
313
private void NavigationViewItem_DragStarting ( UIElement sender , DragStartingEventArgs args )
@@ -561,7 +569,7 @@ private void SettingsButton_Tapped(object sender, TappedRoutedEventArgs e)
561
569
562
570
private async void EjectDevice_Click ( object sender , RoutedEventArgs e )
563
571
{
564
- await DeviceHelpers . EjectDeviceAsync ( App . RightClickedItem . Path ) ;
572
+ await DeviceHelpers . EjectDeviceAsync ( RightClickedItem . Path ) ;
565
573
}
566
574
567
575
private void SidebarNavView_Loaded ( object sender , RoutedEventArgs e )
0 commit comments