Add engine name, folder and fix refresh crash (#5112)

Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
monroegm-disable-blank-issue-2
Alex Peterson 4 years ago committed by GitHub
parent 5fe2207892
commit b4dd4c8f02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,7 +9,7 @@ QMainWindow {
#ScreensCtrl { #ScreensCtrl {
min-width:1200px; min-width:1200px;
min-height:800px; min-height:700px;
} }
QPushButton:focus { QPushButton:focus {
@ -242,11 +242,15 @@ QTabBar::tab:focus {
/************** Project Settings **************/ /************** Project Settings **************/
#projectSettings { #projectSettings {
margin-top:42px; margin-top:30px;
}
#projectPreviewLabel {
margin: 10px 0 5px 0;
} }
#projectTemplate { #projectTemplate {
margin: 55px 0 0 50px; margin: 25px 0 0 50px;
} }
#projectTemplateLabel { #projectTemplateLabel {
font-size:16px; font-size:16px;

@ -11,19 +11,28 @@
#include <FormFolderBrowseEditWidget.h> #include <FormFolderBrowseEditWidget.h>
#include <PythonBindingsInterface.h> #include <PythonBindingsInterface.h>
#include <PathValidator.h> #include <PathValidator.h>
#include <AzQtComponents/Utilities/DesktopUtilities.h>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QLabel> #include <QLabel>
#include <QLineEdit> #include <QLineEdit>
#include <QMessageBox> #include <QMessageBox>
#include <QScrollArea>
namespace O3DE::ProjectManager namespace O3DE::ProjectManager
{ {
EngineSettingsScreen::EngineSettingsScreen(QWidget* parent) EngineSettingsScreen::EngineSettingsScreen(QWidget* parent)
: ScreenWidget(parent) : ScreenWidget(parent)
{ {
auto* layout = new QVBoxLayout(); QScrollArea* scrollArea = new QScrollArea(this);
scrollArea->setWidgetResizable(true);
QWidget* scrollWidget = new QWidget(this);
scrollArea->setWidget(scrollWidget);
QVBoxLayout* layout = new QVBoxLayout(scrollWidget);
layout->setAlignment(Qt::AlignTop); layout->setAlignment(Qt::AlignTop);
scrollWidget->setLayout(layout);
setObjectName("engineSettingsScreen"); setObjectName("engineSettingsScreen");
@ -39,9 +48,18 @@ namespace O3DE::ProjectManager
formTitleLabel->setObjectName("formTitleLabel"); formTitleLabel->setObjectName("formTitleLabel");
layout->addWidget(formTitleLabel); layout->addWidget(formTitleLabel);
m_engineVersion = new FormLineEditWidget(tr("Engine Version"), engineInfo.m_version, this); FormLineEditWidget* engineName = new FormLineEditWidget(tr("Engine Name"), engineInfo.m_name, this);
m_engineVersion->lineEdit()->setReadOnly(true); engineName->lineEdit()->setReadOnly(true);
layout->addWidget(m_engineVersion); layout->addWidget(engineName);
FormLineEditWidget* engineVersion = new FormLineEditWidget(tr("Engine Version"), engineInfo.m_version, this);
engineVersion->lineEdit()->setReadOnly(true);
layout->addWidget(engineVersion);
FormBrowseEditWidget* engineFolder = new FormBrowseEditWidget(tr("Engine Folder"), engineInfo.m_path, this);
engineFolder->lineEdit()->setReadOnly(true);
connect( engineFolder, &FormBrowseEditWidget::OnBrowse, [engineInfo]{ AzQtComponents::ShowFileOnDesktop(engineInfo.m_path); });
layout->addWidget(engineFolder);
m_thirdParty = new FormFolderBrowseEditWidget(tr("3rd Party Software Folder"), engineInfo.m_thirdPartyPath, this); m_thirdParty = new FormFolderBrowseEditWidget(tr("3rd Party Software Folder"), engineInfo.m_thirdPartyPath, this);
m_thirdParty->lineEdit()->setValidator(new PathValidator(PathValidator::PathMode::ExistingFolder, this)); m_thirdParty->lineEdit()->setValidator(new PathValidator(PathValidator::PathMode::ExistingFolder, this));
@ -71,7 +89,11 @@ namespace O3DE::ProjectManager
connect(m_defaultProjectTemplates->lineEdit(), &QLineEdit::textChanged, this, &EngineSettingsScreen::OnTextChanged); connect(m_defaultProjectTemplates->lineEdit(), &QLineEdit::textChanged, this, &EngineSettingsScreen::OnTextChanged);
layout->addWidget(m_defaultProjectTemplates); layout->addWidget(m_defaultProjectTemplates);
setLayout(layout); QVBoxLayout* mainLayout = new QVBoxLayout();
mainLayout->setAlignment(Qt::AlignTop);
mainLayout->setMargin(0);
mainLayout->addWidget(scrollArea);
setLayout(mainLayout);
} }
ProjectManagerScreen EngineSettingsScreen::GetScreenEnum() ProjectManagerScreen EngineSettingsScreen::GetScreenEnum()

@ -29,7 +29,6 @@ namespace O3DE::ProjectManager
void OnTextChanged(); void OnTextChanged();
private: private:
FormLineEditWidget* m_engineVersion;
FormBrowseEditWidget* m_thirdParty; FormBrowseEditWidget* m_thirdParty;
FormBrowseEditWidget* m_defaultProjects; FormBrowseEditWidget* m_defaultProjects;
FormBrowseEditWidget* m_defaultGems; FormBrowseEditWidget* m_defaultGems;

@ -20,7 +20,8 @@ namespace O3DE::ProjectManager
setObjectName("formBrowseEditWidget"); setObjectName("formBrowseEditWidget");
QPushButton* browseButton = new QPushButton(this); QPushButton* browseButton = new QPushButton(this);
connect(browseButton, &QPushButton::pressed, this, &FormBrowseEditWidget::HandleBrowseButton); connect( browseButton, &QPushButton::pressed, [this]{ emit OnBrowse(); });
connect( this, &FormBrowseEditWidget::OnBrowse, this, &FormBrowseEditWidget::HandleBrowseButton);
m_frameLayout->addWidget(browseButton); m_frameLayout->addWidget(browseButton);
} }
@ -34,7 +35,7 @@ namespace O3DE::ProjectManager
int key = event->key(); int key = event->key();
if (key == Qt::Key_Return || key == Qt::Key_Enter) if (key == Qt::Key_Return || key == Qt::Key_Enter)
{ {
HandleBrowseButton(); emit OnBrowse();
} }
} }

@ -24,10 +24,13 @@ namespace O3DE::ProjectManager
explicit FormBrowseEditWidget(const QString& labelText = "", QWidget* parent = nullptr); explicit FormBrowseEditWidget(const QString& labelText = "", QWidget* parent = nullptr);
~FormBrowseEditWidget() = default; ~FormBrowseEditWidget() = default;
signals:
void OnBrowse();
protected: protected:
void keyPressEvent(QKeyEvent* event) override; void keyPressEvent(QKeyEvent* event) override;
protected slots: protected slots:
virtual void HandleBrowseButton() = 0; virtual void HandleBrowseButton() {};
}; };
} // namespace O3DE::ProjectManager } // namespace O3DE::ProjectManager

@ -80,7 +80,7 @@ namespace O3DE::ProjectManager
void GemCatalogScreen::ReinitForProject(const QString& projectPath) void GemCatalogScreen::ReinitForProject(const QString& projectPath)
{ {
m_gemModel->clear(); m_gemModel->Clear();
m_gemsToRegisterWithProject.clear(); m_gemsToRegisterWithProject.clear();
FillModel(projectPath); FillModel(projectPath);

@ -68,6 +68,7 @@ namespace O3DE::ProjectManager
void GemModel::Clear() void GemModel::Clear()
{ {
clear(); clear();
m_nameToIndexMap.clear();
} }
void GemModel::UpdateGemDependencies() void GemModel::UpdateGemDependencies()

@ -36,6 +36,7 @@ namespace O3DE::ProjectManager
QLabel* projectPreviewLabel = new QLabel(tr("Select an image (PNG). Minimum %1 x %2 pixels.") QLabel* projectPreviewLabel = new QLabel(tr("Select an image (PNG). Minimum %1 x %2 pixels.")
.arg(QString::number(ProjectPreviewImageWidth), QString::number(ProjectPreviewImageHeight))); .arg(QString::number(ProjectPreviewImageWidth), QString::number(ProjectPreviewImageHeight)));
projectPreviewLabel->setObjectName("projectPreviewLabel");
previewExtrasLayout->addWidget(projectPreviewLabel); previewExtrasLayout->addWidget(projectPreviewLabel);
m_projectPreviewImage = new QLabel(this); m_projectPreviewImage = new QLabel(this);

Loading…
Cancel
Save