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
@@ -18,6 +18,7 @@ QT_FORWARD_DECLARE_CLASS(QPaintEvent)
QT_FORWARD_DECLARE_CLASS(QFrame)
QT_FORWARD_DECLARE_CLASS(QStackedWidget)
QT_FORWARD_DECLARE_CLASS(QLayout)
QT_FORWARD_DECLARE_CLASS(FlowLayout)
namespace O3DE::ProjectManager
{
@@ -59,8 +60,8 @@ namespace O3DE::ProjectManager
private:
QFrame* CreateFirstTimeContent();
QFrame* CreateProjectsContent(QString buildProjectPath = "", ProjectButton** projectButton = nullptr);
ProjectButton* CreateProjectButton(ProjectInfo& project, QLayout* flowLayout, bool processing = false);
QFrame* CreateProjectsContent();
ProjectButton* CreateProjectButton(const ProjectInfo& project);
void ResetProjectsContent();
bool ShouldDisplayFirstTimeContent();
bool RemoveInvalidProjects();
@@ -75,7 +76,9 @@ namespace O3DE::ProjectManager
QPixmap m_background;
QFrame* m_firstTimeContent = nullptr;
QFrame* m_projectsContent = nullptr;
FlowLayout* m_projectsFlowLayout = nullptr;
QStackedWidget* m_stack = nullptr;
QHash<QString, ProjectButton*> m_projectButtons;
QList<ProjectInfo> m_requiresBuild;
QQueue<ProjectInfo> m_buildQueue;
ProjectBuilderController* m_currentBuilder = nullptr;