From 2bb251f628d44dc4534363a639285878f87dd815 Mon Sep 17 00:00:00 2001 From: Ignacio Etcheverry Date: Fri, 4 Sep 2020 02:16:37 +0200 Subject: [PATCH] [3.2] C#: Hide Build button if there's no solution to build Same as we do with the bottom panel. Mainly to avoid bothering if the project is not using C#. --- .../GodotTools/GodotTools/GodotSharpEditor.cs | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs b/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs index 4ab4f92f722..fdc0161a3b1 100644 --- a/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs +++ b/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 { "Debug", "ExportDebug", "ExportRelease" } + Configs = new List {"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);