Browse Source

Keep preset root directories at top

The same with scene manager root directories except order does not
matter so the consequences aren't as severe.

Just keeping the listings consistent.
habeebweeb 4 năm trước cách đây
mục cha
commit
49274e3403

+ 6 - 9
COM3D2.MeidoPhotoStudio.Plugin/MeidoPhotoStudio/Constants.cs

@@ -173,14 +173,13 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
             {
                 CustomFaceGroupList.Add(category);
                 CustomFaceDict[category] = new List<string>();
+                CustomFaceGroupList.Sort((a, b) => KeepAtTop(a, b, customFaceDirectory));
             }
             else category = faceGroup;
 
             CustomFaceDict[category].Add(fullPath);
             CustomFaceDict[category].Sort(LexicographicStringComparer.Comparison);
 
-            CustomFaceGroupList.Sort(LexicographicStringComparer.Comparison);
-
             CustomFaceChange?.Invoke(null, new PresetChangeEventArgs(fullPath, category));
         }
 
@@ -224,14 +223,13 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
             {
                 CustomPoseGroupList.Add(category);
                 CustomPoseDict[category] = new List<string>();
+                CustomPoseGroupList.Sort((a, b) => KeepAtTop(a, b, customPoseDirectory));
             }
             else category = poseGroup;
 
             CustomPoseDict[category].Add(fullPath);
             CustomPoseDict[category].Sort(LexicographicStringComparer.Comparison);
 
-            CustomPoseGroupList.Sort(LexicographicStringComparer.Comparison);
-
             CustomPoseChange?.Invoke(null, new PresetChangeEventArgs(fullPath, category));
         }
 
@@ -284,14 +282,13 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
             {
                 CustomHandGroupList.Add(category);
                 CustomHandDict[category] = new List<string>();
+                CustomHandGroupList.Sort((a, b) => KeepAtTop(a, b, customHandDirectory));
             }
             else category = handGroup;
 
             CustomHandDict[category].Add(fullPath);
             CustomHandDict[category].Sort(LexicographicStringComparer.Comparison);
 
-            CustomHandGroupList.Sort(LexicographicStringComparer.Comparison);
-
             CustomHandChange?.Invoke(null, new PresetChangeEventArgs(fullPath, category));
         }
 
@@ -433,7 +430,7 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
             GetPoses(customPosePath);
             foreach (string directory in Directory.GetDirectories(customPosePath)) GetPoses(directory);
 
-            CustomPoseGroupList.Sort(LexicographicStringComparer.Comparison);
+            CustomPoseGroupList.Sort((a, b) => KeepAtTop(a, b, customPoseDirectory));
 
             CustomPoseChange?.Invoke(null, PresetChangeEventArgs.Empty);
         }
@@ -462,7 +459,7 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
             GetPresets(customHandPath);
             foreach (string directory in Directory.GetDirectories(customHandPath)) GetPresets(directory);
 
-            CustomHandGroupList.Sort(LexicographicStringComparer.Comparison);
+            CustomHandGroupList.Sort((a, b) => KeepAtTop(a, b, customHandDirectory));
 
             CustomHandChange?.Invoke(null, PresetChangeEventArgs.Empty);
         }
@@ -505,7 +502,7 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
             GetFacePresets(customFacePath);
             foreach (string directory in Directory.GetDirectories(customFacePath)) GetFacePresets(directory);
 
-            CustomFaceGroupList.Sort(LexicographicStringComparer.Comparison);
+            CustomFaceGroupList.Sort((a, b) => KeepAtTop(a, b, customFaceDirectory));
 
             CustomFaceChange?.Invoke(null, PresetChangeEventArgs.Empty);
         }