GemCatalog: Gem cart widget and overlay window

* [LYN-4174] Added icons for gem catalog summary cart

* [LYN-4174] Gem Catalog: Text eliding for too long gem names and creators

* [LYN-4174] Gem catalog: Resetting filters when re-initializing for another project

* [LYN-4174] Gem Catalog: Fixed a bug with filters being applied/remembered after leaving gem catalog and coming back editing another project

* [LYN-4174] GemCatalog: Gem cart widget and overlay window

* Added cart button with dynamic label to display the number of gems to be enabled/disabled and a arrow down button to indicate some sort of pop-up/overlay window will appear on click.
* Overlay gem tags update dynamically while the dialog is open based on the gem model.
* Moved some styling from C++ to the style sheet.
This commit is contained in:
Benjamin Jillich
2021-06-05 00:04:26 +02:00
committed by GitHub
parent f7cbc1cbba
commit 8a079da914
12 changed files with 350 additions and 32 deletions
@@ -12,7 +12,6 @@
#include <GemCatalog/GemCatalogScreen.h>
#include <PythonBindingsInterface.h>
#include <GemCatalog/GemCatalogHeaderWidget.h>
#include <GemCatalog/GemListHeaderWidget.h>
#include <GemCatalog/GemSortFilterProxyModel.h>
#include <QVBoxLayout>
@@ -35,8 +34,8 @@ namespace O3DE::ProjectManager
vLayout->setSpacing(0);
setLayout(vLayout);
GemCatalogHeaderWidget* headerWidget = new GemCatalogHeaderWidget(m_proxModel);
vLayout->addWidget(headerWidget);
m_headerWidget = new GemCatalogHeaderWidget(m_gemModel, m_proxModel);
vLayout->addWidget(m_headerWidget);
QHBoxLayout* hLayout = new QHBoxLayout();
hLayout->setMargin(0);
@@ -77,10 +76,11 @@ namespace O3DE::ProjectManager
m_filterWidget->deleteLater();
}
m_proxModel->ResetFilters();
m_filterWidget = new GemFilterWidget(m_proxModel);
m_filterWidgetLayout->addWidget(m_filterWidget);
m_proxModel->InvalidateFilter();
m_headerWidget->ReinitForProject();
// Select the first entry after everything got correctly sized
QTimer::singleShot(200, [=]{