Skip to content

Commit 5f9864e

Browse files
committed
Bug fixes related to Recent Items
1 parent 1e2844b commit 5f9864e

File tree

5 files changed

+33
-10
lines changed

5 files changed

+33
-10
lines changed

Files UWP/Interacts/Interaction.cs

+10-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ public static async void List_ItemClick(object sender, DoubleTappedRoutedEventAr
4747
var clickedOnItem = App.ViewModel.FilesAndFolders[index];
4848
// Write location to recents file
4949
StorageFile RecentsFile = await YourHome.dataFolder.CreateFileAsync("recents.txt", CreationCollisionOption.OpenIfExists);
50-
await FileIO.AppendTextAsync(RecentsFile, clickedOnItem.FilePath + "\n");
50+
var existingLines = (await FileIO.ReadLinesAsync(RecentsFile));
51+
if (existingLines != null && !existingLines.Contains(clickedOnItem.FilePath))
52+
{
53+
await FileIO.AppendTextAsync(RecentsFile, clickedOnItem.FilePath + "\n");
54+
}
5155

5256
if (clickedOnItem.FileType == "Folder")
5357
{
@@ -204,7 +208,11 @@ public static async void List_ItemClick(object sender, DoubleTappedRoutedEventAr
204208

205209
// Write location to recents file
206210
StorageFile RecentsFile = await YourHome.dataFolder.CreateFileAsync("recents.txt", CreationCollisionOption.OpenIfExists);
207-
await FileIO.AppendTextAsync(RecentsFile, clickedOnItem.FilePath + "\n");
211+
var existingLines = (await FileIO.ReadLinesAsync(RecentsFile));
212+
if (existingLines != null && !existingLines.Contains(clickedOnItem.FilePath))
213+
{
214+
await FileIO.AppendTextAsync(RecentsFile, clickedOnItem.FilePath + "\n");
215+
}
208216

209217
if (clickedOnItem.FileType == "Folder")
210218
{

Files UWP/MainPage.xaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
x:Class="Files.MainPage"
77
xmlns:local="using:Files"
88
xmlns:UILib="using:Microsoft.UI.Xaml.Controls"
9-
mc:Ignorable="d">
9+
mc:Ignorable="d" NavigationCacheMode="Disabled">
1010

1111
<Page.Resources>
1212
<AcrylicBrush x:Key="RegAcrylic" BackgroundSource="HostBackdrop" TintColor="White" TintOpacity="0.7" FallbackColor="{StaticResource SystemChromeMediumColor}"/>
@@ -759,7 +759,7 @@
759759
</UILib:NavigationView.AutoSuggestBox>
760760

761761

762-
<Frame Padding="0,35,0,0" Name="ContentFrame" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
762+
<Frame Padding="0,35,0,0" Name="ContentFrame" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
763763
<Frame.ContentTransitions>
764764
<TransitionCollection>
765765
<NavigationThemeTransition/>

Files UWP/MainPage.xaml.cs

-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ private void navView_Loaded(object sender, RoutedEventArgs e)
141141

142142
private void NavView_ItemInvoked(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs args)
143143
{
144-
145144
var item = args.InvokedItem;
146145
var itemContainer = args.InvokedItemContainer;
147146
//var item = Interaction.FindParent<NavigationViewItemBase>(args.InvokedItem as DependencyObject);

Files UWP/Settings.xaml.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ private void NavigationView_ItemInvoked(Microsoft.UI.Xaml.Controls.NavigationVie
4141
private void SettingsPane_BackRequested(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewBackRequestedEventArgs args)
4242
{
4343
Frame rootFrame = Window.Current.Content as Frame;
44-
rootFrame.Navigate(typeof(MainPage));
44+
rootFrame.GoBack();
45+
46+
4547
}
4648
}
4749
}

Files UWP/YourHome.xaml.cs

+18-4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public YourHome()
3333
InitializeComponent();
3434
Locations.ItemLoader.itemsAdded.Clear();
3535
Locations.ItemLoader.DisplayItems();
36+
recentItemsCollection.Clear();
3637
PopulateRecentsList();
3738
}
3839

@@ -194,6 +195,7 @@ private void Button_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEven
194195

195196
public async void PopulateRecentsList()
196197
{
198+
recentItemsCollection.Clear();
197199
dataFolder = Windows.Storage.ApplicationData.Current.LocalCacheFolder;
198200
RecentsFile = await dataFolder.CreateFileAsync("recents.txt", CreationCollisionOption.OpenIfExists);
199201
BitmapImage ItemImage = new BitmapImage();
@@ -227,7 +229,10 @@ public async void PopulateRecentsList()
227229
ItemFolderImgVis = Visibility.Visible;
228230
ItemEmptyImgVis = Visibility.Collapsed;
229231
ItemFileIconVis = Visibility.Collapsed;
230-
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
232+
if(!recentItemsCollection.Contains(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis }))
233+
{
234+
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
235+
}
231236

232237
}
233238
catch (System.ArgumentException)
@@ -248,7 +253,10 @@ public async void PopulateRecentsList()
248253
}
249254
ItemFolderImgVis = Visibility.Collapsed;
250255
ItemFileIconVis = Visibility.Visible;
251-
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
256+
if (!recentItemsCollection.Contains(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis }))
257+
{
258+
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
259+
}
252260
}
253261
}
254262
}
@@ -266,7 +274,10 @@ public async void PopulateRecentsList()
266274
ItemFolderImgVis = Visibility.Visible;
267275
ItemEmptyImgVis = Visibility.Collapsed;
268276
ItemFileIconVis = Visibility.Collapsed;
269-
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
277+
if (!recentItemsCollection.Contains(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis }))
278+
{
279+
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
280+
}
270281

271282
}
272283
catch (System.ArgumentException)
@@ -287,7 +298,10 @@ public async void PopulateRecentsList()
287298
}
288299
ItemFolderImgVis = Visibility.Collapsed;
289300
ItemFileIconVis = Visibility.Visible;
290-
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
301+
if (!recentItemsCollection.Contains(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis }))
302+
{
303+
recentItemsCollection.Add(new RecentItem() { path = ItemPath, name = ItemName, FolderImg = ItemFolderImgVis, EmptyImgVis = ItemEmptyImgVis, FileImg = ItemImage, FileIconVis = ItemFileIconVis });
304+
}
291305
}
292306
}
293307
}

0 commit comments

Comments
 (0)