Browse Source

Focus on textfield when creating directory

habeebweeb 4 years ago
parent
commit
85aa609439

+ 9 - 5
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Gui.cs

@@ -9051,7 +9051,7 @@ namespace CM3D2.MultipleMaids.Plugin
 
             GUI.EndScrollView();
 
-            if (!createDirectory)
+            if (!createDirectoryFlag)
             {
                 if (GUI.Button(new Rect(
                     windowPadding,
@@ -9060,7 +9060,7 @@ namespace CM3D2.MultipleMaids.Plugin
                     buttonSize
                 ), "New Folder", saveControlStyle))
                 {
-                    createDirectory = true;
+                    createDirectoryFlag = true;
                 }
 
                 bool enabled = GUI.enabled;
@@ -9091,16 +9091,20 @@ namespace CM3D2.MultipleMaids.Plugin
 
                 bool cancel = GUI.Button(cancelRect, "X", saveControlStyle);
 
+                GUI.SetNextControlName("textEntry");
+
+                GUI.FocusControl("textEntry");
+
                 if (cancel)
                 {
                     textFieldValue = "";
-                    createDirectory = false;
+                    createDirectoryFlag = false;
                 }
-                else if (Event.current.Equals(Event.KeyboardEvent("return")))
+                else if (Event.current.Equals(Event.KeyboardEvent("return")) && GUI.GetNameOfFocusedControl() == "textEntry")
                 {
                     MakeNewDirectory(textFieldValue);
                     textFieldValue = "";
-                    createDirectory = false;
+                    createDirectoryFlag = false;
                 }
                 else
                 {

+ 1 - 1
MultipleMaids/SaveManager.cs

@@ -28,7 +28,7 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool overwriteFlag = false;
         private bool createSaveFlag = false;
         private bool manageSaveFlag = false;
-        private bool createDirectory = false;
+        private bool createDirectoryFlag = false;
         private bool deleteDirectoryFlag = false;
         private bool deleteFileFlag = false;
         private bool resizeManager = false;