Pārlūkot izejas kodu

Added ability to remove recent files

CPKreuz 2 gadi atpakaļ
vecāks
revīzija
6d1bbc7ec7

+ 7 - 3
src/PixiEditor/ViewModels/SubViewModels/Main/FileViewModel.cs

@@ -76,12 +76,16 @@ internal class FileViewModel : SubViewModel<ViewModelMain>
         IPreferences.Current.UpdateLocalPreference(PreferencesConstants.RecentlyOpened, RecentlyOpened.Select(x => x.FilePath));
     }
 
-    public void RemoveRecentlyOpened(object parameter)
+    [Command.Internal("PixiEditor.File.RemoveRecent")]
+    public void RemoveRecentlyOpened(string path)
     {
-        if (RecentlyOpened.Contains((string)parameter))
+        if (!RecentlyOpened.Contains(path))
         {
-            RecentlyOpened.Remove((string)parameter);
+            return;
         }
+
+        RecentlyOpened.Remove(path);
+        IPreferences.Current.UpdateLocalPreference(PreferencesConstants.RecentlyOpened, RecentlyOpened.Select(x => x.FilePath));
     }
 
     private void OpenHelloTherePopup()

+ 13 - 2
src/PixiEditor/Views/MainWindow.xaml

@@ -180,8 +180,19 @@
                             <MenuItem.ItemTemplate>
                                 <DataTemplate
                                     DataType="{x:Type dataHolders:RecentlyOpenedDocument}">
-                                    <TextBlock
-                                        Text="{Binding FilePath}" />
+                                    <Grid>
+                                        <Grid.ColumnDefinitions>
+                                            <ColumnDefinition/>
+                                            <ColumnDefinition Width="Auto"/>
+                                        </Grid.ColumnDefinitions>
+                                        
+                                        <TextBlock Text="{Binding FilePath}"/>
+                                        <TextBlock Grid.Column="1" Margin="20,0,0,0" VerticalAlignment="Center">
+                                            <Hyperlink Foreground="#FFF" FontFamily="{StaticResource Feather}"
+                                                       Command="{cmds:Command Name=PixiEditor.File.RemoveRecent, UseProvided=True}"
+                                                       CommandParameter="{Binding FilePath}"></Hyperlink>
+                                        </TextBlock>
+                                    </Grid>
                                 </DataTemplate>
                             </MenuItem.ItemTemplate>
                         </MenuItem>