Added a Warning When VS2019 is not Installed with Link to Download it (#2042)

* Added a warning when VS2019 is not installed with link to download it

Signed-off-by: nggieber <nggieber@amazon.com>

* Widden VSWarning dialog

Signed-off-by: nggieber <nggieber@amazon.com>

* Fix issue with checking for Visual Studio

Signed-off-by: nggieber <nggieber@amazon.com>

* PALify compiler detection

Signed-off-by: nggieber <nggieber@amazon.com>

* Changed windows compiler check to waitForFinished instead of waitForReadyRead

Signed-off-by: nggieber <nggieber@amazon.com>
This commit is contained in:
AMZN-nggieber
2021-07-12 11:54:36 -07:00
committed by GitHub
parent f83439e6c4
commit 2fad7f37db
10 changed files with 152 additions and 57 deletions
@@ -12,6 +12,7 @@
#include <ScreenHeaderWidget.h>
#include <GemCatalog/GemModel.h>
#include <GemCatalog/GemCatalogScreen.h>
#include <ProjectUtils.h>
#include <QDialogButtonBox>
#include <QHBoxLayout>
@@ -222,38 +223,42 @@ namespace O3DE::ProjectManager
void CreateProjectCtrl::CreateProject()
{
if (m_newProjectSettingsScreen->Validate())
if (ProjectUtils::FindSupportedCompiler(this))
{
ProjectInfo projectInfo = m_newProjectSettingsScreen->GetProjectInfo();
QString projectTemplatePath = m_newProjectSettingsScreen->GetProjectTemplatePath();
auto result = PythonBindingsInterface::Get()->CreateProject(projectTemplatePath, projectInfo);
if (result.IsSuccess())
if (m_newProjectSettingsScreen->Validate())
{
// automatically register the project
PythonBindingsInterface::Get()->AddProject(projectInfo.m_path);
ProjectInfo projectInfo = m_newProjectSettingsScreen->GetProjectInfo();
QString projectTemplatePath = m_newProjectSettingsScreen->GetProjectTemplatePath();
auto result = PythonBindingsInterface::Get()->CreateProject(projectTemplatePath, projectInfo);
if (result.IsSuccess())
{
// automatically register the project
PythonBindingsInterface::Get()->AddProject(projectInfo.m_path);
#ifdef TEMPLATE_GEM_CONFIGURATION_ENABLED
if (!m_gemCatalogScreen->EnableDisableGemsForProject(projectInfo.m_path))
{
QMessageBox::critical(this, tr("Failed to configure gems"), tr("Failed to configure gems for template."));
return;
}
if (!m_gemCatalogScreen->EnableDisableGemsForProject(projectInfo.m_path))
{
QMessageBox::critical(this, tr("Failed to configure gems"), tr("Failed to configure gems for template."));
return;
}
#endif // TEMPLATE_GEM_CONFIGURATION_ENABLED
projectInfo.m_needsBuild = true;
emit NotifyBuildProject(projectInfo);
emit ChangeScreenRequest(ProjectManagerScreen::Projects);
projectInfo.m_needsBuild = true;
emit NotifyBuildProject(projectInfo);
emit ChangeScreenRequest(ProjectManagerScreen::Projects);
}
else
{
QMessageBox::critical(this, tr("Project creation failed"), tr("Failed to create project."));
}
}
else
{
QMessageBox::critical(this, tr("Project creation failed"), tr("Failed to create project."));
QMessageBox::warning(
this, tr("Invalid project settings"), tr("Please correct the indicated project settings and try again."));
}
}
else
{
QMessageBox::warning(this, tr("Invalid project settings"), tr("Please correct the indicated project settings and try again."));
}
}
void CreateProjectCtrl::ReinitGemCatalogForSelectedTemplate()