소스 검색

Merge pull request #41754 from neikeq/3.2-csharp-hide-build-button-if-no-proj

[3.2] C#: Hide Build button if there's no solution to build
Rémi Verschelde 5 년 전
부모
커밋
9efd555c58
1개의 변경된 파일13개의 추가작업 그리고 10개의 파일을 삭제
  1. 13 10
      modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs

+ 13 - 10
modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs

@@ -31,6 +31,7 @@ namespace GodotTools
         private CheckBox aboutDialogCheckBox;
 
         private ToolButton bottomPanelBtn;
+        private ToolButton toolBarButton;
 
         public GodotIdeManager GodotIdeManager { get; private set; }
 
@@ -76,7 +77,7 @@ namespace GodotTools
                     {
                         Guid = guid,
                         PathRelativeToSolution = name + ".csproj",
-                        Configs = new List<string> { "Debug", "ExportDebug", "ExportRelease" }
+                        Configs = new List<string> {"Debug", "ExportDebug", "ExportRelease"}
                     };
 
                     solution.AddNewProject(name, projectInfo);
@@ -127,6 +128,7 @@ namespace GodotTools
         {
             menuPopup.RemoveItem(menuPopup.GetItemIndex((int)MenuOptions.CreateSln));
             bottomPanelBtn.Show();
+            toolBarButton.Show();
         }
 
         private void _ShowAboutDialog()
@@ -508,6 +510,15 @@ namespace GodotTools
                 aboutVBox.AddChild(aboutDialogCheckBox);
             }
 
+            toolBarButton = new ToolButton
+            {
+                Text = "Build",
+                HintTooltip = "Build solution",
+                FocusMode = Control.FocusModeEnum.None
+            };
+            toolBarButton.Connect("pressed", this, nameof(_BuildSolutionPressed));
+            AddControlToContainer(CustomControlContainer.Toolbar, toolBarButton);
+
             if (File.Exists(GodotSharpDirs.ProjectSlnPath) && File.Exists(GodotSharpDirs.ProjectCsProjPath))
             {
                 ApplyNecessaryChangesToSolution();
@@ -515,20 +526,12 @@ namespace GodotTools
             else
             {
                 bottomPanelBtn.Hide();
+                toolBarButton.Hide();
                 menuPopup.AddItem("Create C# solution".TTR(), (int)MenuOptions.CreateSln);
             }
 
             menuPopup.Connect("id_pressed", this, nameof(_MenuOptionPressed));
 
-            var buildButton = new ToolButton
-            {
-                Text = "Build",
-                HintTooltip = "Build solution",
-                FocusMode = Control.FocusModeEnum.None
-            };
-            buildButton.Connect("pressed", this, nameof(_BuildSolutionPressed));
-            AddControlToContainer(CustomControlContainer.Toolbar, buildButton);
-
             // External editor settings
             EditorDef("mono/editor/external_editor", ExternalEditorId.None);