Browse Source

Fixed multiple command groups

CPKreuz 2 years ago
parent
commit
7833ae4857

+ 12 - 6
src/PixiEditor/Models/Commands/CommandController.cs

@@ -115,16 +115,22 @@ internal class CommandController
         LoadCommands(serviceProvider, compiledCommandList, commandGroupsData, commands, template);
         LoadCommands(serviceProvider, compiledCommandList, commandGroupsData, commands, template);
         LoadTools(serviceProvider, commandGroupsData, commands, template);
         LoadTools(serviceProvider, commandGroupsData, commands, template);
 
 
+        var miscList = new List<Command>();
+
         foreach (var (groupInternalName, storedCommands) in commands)
         foreach (var (groupInternalName, storedCommands) in commands)
         {
         {
             var groupData = commandGroupsData.FirstOrDefault(group => group.internalName == groupInternalName);
             var groupData = commandGroupsData.FirstOrDefault(group => group.internalName == groupInternalName);
-            string groupDisplayName;
-            if (groupData == default)
-                groupDisplayName = "Misc";
-            else
-                groupDisplayName = groupData.displayName;
-            CommandGroups.Add(new(groupDisplayName, storedCommands));
+            if (groupData == default || groupData.internalName == "PixiEditor.Links")
+            {
+                miscList.AddRange(storedCommands);
+                continue;
+            }
+
+            string groupDisplayName = groupData.displayName;
+            CommandGroups.Add(new CommandGroup(groupDisplayName, storedCommands));
         }
         }
+        
+        CommandGroups.Add(new CommandGroup("Misc", miscList));
     }
     }
 
 
     private void LoadTools(IServiceProvider serviceProvider, List<(string internalName, string displayName)> commandGroupsData, OneToManyDictionary<string, Command> commands,
     private void LoadTools(IServiceProvider serviceProvider, List<(string internalName, string displayName)> commandGroupsData, OneToManyDictionary<string, Command> commands,

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Main/LayersViewModel.cs

@@ -20,7 +20,7 @@ using PixiEditor.Views.Dialogs;
 
 
 namespace PixiEditor.ViewModels.SubViewModels.Main;
 namespace PixiEditor.ViewModels.SubViewModels.Main;
 #nullable enable
 #nullable enable
-[Command.Group("PixiEditor.Layer", "Image")]
+[Command.Group("PixiEditor.Layer", "Layer")]
 internal class LayersViewModel : SubViewModel<ViewModelMain>
 internal class LayersViewModel : SubViewModel<ViewModelMain>
 {
 {
     public LayersViewModel(ViewModelMain owner)
     public LayersViewModel(ViewModelMain owner)