Tabs are shown gray background when tab focused, Reworked ProjectsScreen to reuse Widgets instead of recreating it on each update, Sorting projects alphabetically

Signed-off-by: nggieber <nggieber@amazon.com>
This commit is contained in:
nggieber
2021-08-23 07:15:44 -07:00
parent 599b1214ac
commit b38fc80418
8 changed files with 234 additions and 170 deletions
@@ -56,13 +56,14 @@ namespace O3DE::ProjectManager
void OnLinkActivated(const QString& link);
private:
QVBoxLayout* m_buildOverlayLayout;
QLabel* m_overlayLabel;
QProgressBar* m_progressBar;
QPushButton* m_openEditorButton;
QPushButton* m_actionButton;
QLabel* m_warningText;
QLabel* m_warningIcon;
QVBoxLayout* m_buildOverlayLayout = nullptr;
QLabel* m_overlayLabel = nullptr;
QProgressBar* m_progressBar = nullptr;
QPushButton* m_openEditorButton = nullptr;
QPushButton* m_actionButton = nullptr;
QLabel* m_warningText = nullptr;
QLabel* m_warningIcon = nullptr;
QUrl m_logUrl;
bool m_enabled = true;
};
@@ -73,13 +74,18 @@ namespace O3DE::ProjectManager
Q_OBJECT // AUTOMOC
public:
explicit ProjectButton(const ProjectInfo& m_projectInfo, QWidget* parent = nullptr, bool processing = false);
explicit ProjectButton(const ProjectInfo& m_projectInfo, QWidget* parent = nullptr);
~ProjectButton() = default;
const ProjectInfo& GetProjectInfo() const;
void RestoreDefaultState();
void SetProjectButtonAction(const QString& text, AZStd::function<void()> lambda);
void SetProjectBuildButtonAction();
void SetBuildLogsLink(const QUrl& logUrl);
void ShowBuildFailed(bool show, const QUrl& logUrl);
void SetProjectBuilding();
void SetLaunchButtonEnabled(bool enabled);
void SetButtonOverlayText(const QString& text);
@@ -95,17 +101,14 @@ namespace O3DE::ProjectManager
void BuildProject(const ProjectInfo& projectInfo);
private:
void BaseSetup();
void ProcessingSetup();
void ReadySetup();
void enterEvent(QEvent* event) override;
void leaveEvent(QEvent* event) override;
void BuildThisProject();
ProjectInfo m_projectInfo;
LabelButton* m_projectImageLabel;
QFrame* m_projectFooter;
QLayout* m_requiresBuildLayout;
LabelButton* m_projectImageLabel = nullptr;
QPushButton* m_projectMenuButton = nullptr;
QLayout* m_requiresBuildLayout = nullptr;
QMetaObject::Connection m_actionButtonConnection;
};