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
This commit is contained in:
Rémi Verschelde 2020-09-04 08:20:06 +02:00 committed by GitHub
commit 9efd555c58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 10 deletions

View File

@ -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);