Browse Source

Fixed not working buttons and news

Krzysztof Krysiński 6 months ago
parent
commit
f5e6ebf439

+ 1 - 1
src/PixiEditor/ViewModels/Document/ReferenceLayerViewModel.cs

@@ -19,7 +19,7 @@ using PixiEditor.ViewModels.Tools.Tools;
 namespace PixiEditor.ViewModels.Document;
 
 #nullable enable
-internal class ReferenceLayerViewModel : ObservableObject, IReferenceLayerHandler
+internal class ReferenceLayerViewModel : PixiObservableObject, IReferenceLayerHandler
 {
     private readonly DocumentViewModel doc;
     private readonly DocumentInternalParts internals;

+ 4 - 7
src/PixiEditor/ViewModels/SubViewModels/ColorsViewModel.cs

@@ -52,7 +52,7 @@ internal class ColorsViewModel : SubViewModel<ViewModelMain>, IColorsHandler
         (LocalPalettesFetcher)PaletteProvider.DataSources.FirstOrDefault(x => x is LocalPalettesFetcher)!;
 
     public bool ColorsTempSwapped { get; private set; }
-    
+
     private Color primaryColor = Colors.Black;
     private Color secondaryColor = Colors.White;
     private ColorState primaryColorState;
@@ -170,14 +170,11 @@ internal class ColorsViewModel : SubViewModel<ViewModelMain>, IColorsHandler
     }
 
     [Commands_Command.Basic("PixiEditor.Colors.OpenPaletteBrowser", "OPEN_PALETTE_BROWSER", "OPEN_PALETTE_BROWSER",
-        CanExecute = "PixiEditor.HasDocument",
         Icon = PixiPerfectIcons.Database, MenuItemPath = "VIEW/OPEN_PALETTE_BROWSER", MenuItemOrder = 3,
         AnalyticsTrack = true)]
     public void OpenPalettesBrowser()
     {
-        var doc = Owner.DocumentManagerSubViewModel.ActiveDocument;
-        if (doc is not null)
-            PalettesBrowser.Open();
+        PalettesBrowser.Open();
     }
 
     private async Task ImportLospecPalette()
@@ -374,9 +371,9 @@ internal class ColorsViewModel : SubViewModel<ViewModelMain>, IColorsHandler
         }
         else
         {
-            ColorsTempSwapped = false;    
+            ColorsTempSwapped = false;
         }
-        
+
         (PrimaryColor, SecondaryColor) = (SecondaryColor, PrimaryColor);
     }
 

+ 6 - 3
src/PixiEditor/ViewModels/SubViewModels/LayersViewModel.cs

@@ -201,21 +201,24 @@ internal class LayersViewModel : SubViewModel<ViewModelMain>
         member.Document.Operations.DuplicateMember(member.Id);
     }
 
-    [Evaluator.CanExecute("PixiEditor.Layer.SelectedMemberIsLayer")]
+    [Evaluator.CanExecute("PixiEditor.Layer.SelectedMemberIsLayer", 
+        nameof(DocumentManagerViewModel.ActiveDocument), nameof(DocumentViewModel.SelectedStructureMember))]
     public bool SelectedMemberIsLayer(object property)
     {
         var member = Owner.DocumentManagerSubViewModel.ActiveDocument?.SelectedStructureMember;
         return member is ILayerHandler;
     }
 
-    [Evaluator.CanExecute("PixiEditor.Layer.SelectedLayerIsRasterizable")]
+    [Evaluator.CanExecute("PixiEditor.Layer.SelectedLayerIsRasterizable",
+        nameof(DocumentManagerViewModel.ActiveDocument), nameof(DocumentViewModel.SelectedStructureMember))]
     public bool SelectedLayerIsRasterizable(object property)
     {
         var member = Owner.DocumentManagerSubViewModel.ActiveDocument?.SelectedStructureMember;
         return member is ILayerHandler && member is not IRasterLayerHandler;
     }
     
-    [Evaluator.CanExecute("PixiEditor.Layer.SelectedMemberIsVectorLayer")]
+    [Evaluator.CanExecute("PixiEditor.Layer.SelectedMemberIsVectorLayer",
+        nameof(DocumentManagerViewModel.ActiveDocument), nameof(DocumentViewModel.SelectedStructureMember))]
     public bool SelectedMemberIsVectorLayer(object property)
     {
         var member = Owner.DocumentManagerSubViewModel.ActiveDocument?.SelectedStructureMember;

+ 1 - 0
src/PixiEditor/Views/Windows/HelloTherePopup.axaml.cs

@@ -143,6 +143,7 @@ internal partial class HelloTherePopup : PixiEditorPopup
         Closing += (_, _) => { IsClosing = true; };
 
         Activated += RefreshClipboardImg;
+        Loaded += HelloTherePopup_OnLoaded;
 
         InitializeComponent();