[LYN-2514] Optimizing for new window dimensions (#990)

main
Benjamin Jillich 5 years ago committed by GitHub
parent fffbd242c1
commit 5bb55ac1c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -337,3 +337,30 @@ QTabBar::tab:pressed
min-height:278px; min-height:278px;
max-height:278px; max-height:278px;
} }
/************** Gem Catalog **************/
#GemCatalogTitle {
font-size: 18px;
}
/************** Gem Catalog (Inspector) **************/
#GemCatalogInspector {
background-color: #444444;
}
/************** Gem Catalog (Filter/left pane) **************/
#GemCatalogFilterWidget {
background-color: #444444;
}
#GemCatalogHeaderWidget {
background-color: #1E252F;
}
#GemCatalogFilterCategoryTitle {
font-size: 12px;
font-weight: 600;
}

@ -25,10 +25,12 @@ namespace O3DE::ProjectManager
hLayout->setMargin(0); hLayout->setMargin(0);
setLayout(hLayout); setLayout(hLayout);
setStyleSheet("background-color: #1E252F;"); setObjectName("GemCatalogHeaderWidget");
hLayout->addSpacing(7);
QLabel* titleLabel = new QLabel(tr("Gem Catalog")); QLabel* titleLabel = new QLabel(tr("Gem Catalog"));
titleLabel->setStyleSheet("font-size: 21px;"); titleLabel->setObjectName("GemCatalogTitle");
hLayout->addWidget(titleLabel); hLayout->addWidget(titleLabel);
hLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); hLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
@ -42,7 +44,7 @@ namespace O3DE::ProjectManager
hLayout->addWidget(filterLineEdit); hLayout->addWidget(filterLineEdit);
hLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); hLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
hLayout->addSpacerItem(new QSpacerItem(220, 0, QSizePolicy::Fixed)); hLayout->addSpacerItem(new QSpacerItem(140, 0, QSizePolicy::Fixed));
setFixedHeight(60); setFixedHeight(60);
} }

@ -43,7 +43,6 @@ namespace O3DE::ProjectManager
m_collapseButton->setFlat(true); m_collapseButton->setFlat(true);
m_collapseButton->setFocusPolicy(Qt::NoFocus); m_collapseButton->setFocusPolicy(Qt::NoFocus);
m_collapseButton->setFixedWidth(s_collapseButtonSize); m_collapseButton->setFixedWidth(s_collapseButtonSize);
m_collapseButton->setStyleSheet("border: 0px; border-radius: 0px;");
connect(m_collapseButton, &QPushButton::clicked, this, [=]() connect(m_collapseButton, &QPushButton::clicked, this, [=]()
{ {
UpdateCollapseState(); UpdateCollapseState();
@ -52,7 +51,7 @@ namespace O3DE::ProjectManager
// Category title // Category title
QLabel* headerLabel = new QLabel(header); QLabel* headerLabel = new QLabel(header);
headerLabel->setStyleSheet("font-size: 11pt;"); headerLabel->setObjectName("GemCatalogFilterCategoryTitle");
collapseLayout->addWidget(headerLabel); collapseLayout->addWidget(headerLabel);
vLayout->addLayout(collapseLayout); vLayout->addLayout(collapseLayout);
@ -79,14 +78,14 @@ namespace O3DE::ProjectManager
elementWidget->setLayout(elementLayout); elementWidget->setLayout(elementLayout);
QCheckBox* checkbox = new QCheckBox(elementNames[i]); QCheckBox* checkbox = new QCheckBox(elementNames[i]);
checkbox->setStyleSheet("font-size: 11pt;"); checkbox->setStyleSheet("font-size: 12px;");
m_buttonGroup->addButton(checkbox); m_buttonGroup->addButton(checkbox);
elementLayout->addWidget(checkbox); elementLayout->addWidget(checkbox);
elementLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); elementLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
QLabel* countLabel = new QLabel(QString::number(elementCounts[i])); QLabel* countLabel = new QLabel(QString::number(elementCounts[i]));
countLabel->setStyleSheet("font-size: 11pt; background-color: #333333; border-radius: 3px; color: #94D2FF;"); countLabel->setStyleSheet("font-size: 12px; background-color: #333333; border-radius: 3px; color: #94D2FF;");
elementLayout->addWidget(countLabel); elementLayout->addWidget(countLabel);
m_elementWidgets.push_back(elementWidget); m_elementWidgets.push_back(elementWidget);
@ -110,6 +109,8 @@ namespace O3DE::ProjectManager
} }
} }
vLayout->addSpacing(5);
// Separating line // Separating line
QFrame* hLine = new QFrame(); QFrame* hLine = new QFrame();
hLine->setFrameShape(QFrame::HLine); hLine->setFrameShape(QFrame::HLine);
@ -181,6 +182,8 @@ namespace O3DE::ProjectManager
: QScrollArea(parent) : QScrollArea(parent)
, m_filterProxyModel(filterProxyModel) , m_filterProxyModel(filterProxyModel)
{ {
setObjectName("GemCatalogFilterWidget");
m_gemModel = m_filterProxyModel->GetSourceModel(); m_gemModel = m_filterProxyModel->GetSourceModel();
setWidgetResizable(true); setWidgetResizable(true);
@ -195,7 +198,7 @@ namespace O3DE::ProjectManager
mainWidget->setLayout(m_mainLayout); mainWidget->setLayout(m_mainLayout);
QLabel* filterByLabel = new QLabel("Filter by"); QLabel* filterByLabel = new QLabel("Filter by");
filterByLabel->setStyleSheet("font-size: 15pt;"); filterByLabel->setStyleSheet("font-size: 16px;");
m_mainLayout->addWidget(filterByLabel); m_mainLayout->addWidget(filterByLabel);
AddGemOriginFilter(); AddGemOriginFilter();

@ -23,6 +23,7 @@ namespace O3DE::ProjectManager
: QScrollArea(parent) : QScrollArea(parent)
, m_model(model) , m_model(model)
{ {
setObjectName("GemCatalogInspector");
setWidgetResizable(true); setWidgetResizable(true);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
@ -85,7 +86,7 @@ namespace O3DE::ProjectManager
QLabel* GemInspector::CreateStyledLabel(QLayout* layout, int fontSize, const QString& colorCodeString) QLabel* GemInspector::CreateStyledLabel(QLayout* layout, int fontSize, const QString& colorCodeString)
{ {
QLabel* result = new QLabel(); QLabel* result = new QLabel();
result->setStyleSheet(QString("font-size: %1pt; color: %2;").arg(QString::number(fontSize), colorCodeString)); result->setStyleSheet(QString("font-size: %1px; color: %2;").arg(QString::number(fontSize), colorCodeString));
layout->addWidget(result); layout->addWidget(result);
return result; return result;
} }
@ -93,13 +94,13 @@ namespace O3DE::ProjectManager
void GemInspector::InitMainWidget() void GemInspector::InitMainWidget()
{ {
// Gem name, creator and summary // Gem name, creator and summary
m_nameLabel = CreateStyledLabel(m_mainLayout, 17, s_headerColor); m_nameLabel = CreateStyledLabel(m_mainLayout, 18, s_headerColor);
m_creatorLabel = CreateStyledLabel(m_mainLayout, 12, s_creatorColor); m_creatorLabel = CreateStyledLabel(m_mainLayout, 12, s_creatorColor);
m_mainLayout->addSpacing(5); m_mainLayout->addSpacing(5);
// TODO: QLabel seems to have issues determining the right sizeHint() for our font with the given font size. // TODO: QLabel seems to have issues determining the right sizeHint() for our font with the given font size.
// This results into squeezed elements in the layout in case the text is a little longer than a sentence. // This results into squeezed elements in the layout in case the text is a little longer than a sentence.
m_summaryLabel = new QLabel();//CreateLabel(m_mainLayout, 12, s_textColor); m_summaryLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
m_mainLayout->addWidget(m_summaryLabel); m_mainLayout->addWidget(m_summaryLabel);
m_summaryLabel->setWordWrap(true); m_summaryLabel->setWordWrap(true);
m_mainLayout->addSpacing(5); m_mainLayout->addSpacing(5);
@ -146,9 +147,9 @@ namespace O3DE::ProjectManager
QLabel* additionalInfoLabel = CreateStyledLabel(m_mainLayout, 14, s_headerColor); QLabel* additionalInfoLabel = CreateStyledLabel(m_mainLayout, 14, s_headerColor);
additionalInfoLabel->setText("Additional Information"); additionalInfoLabel->setText("Additional Information");
m_versionLabel = CreateStyledLabel(m_mainLayout, 11, s_textColor); m_versionLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
m_lastUpdatedLabel = CreateStyledLabel(m_mainLayout, 11, s_textColor); m_lastUpdatedLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
m_binarySizeLabel = CreateStyledLabel(m_mainLayout, 11, s_textColor); m_binarySizeLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
} }
GemInspector::GemsSubWidget::GemsSubWidget(QWidget* parent) GemInspector::GemsSubWidget::GemsSubWidget(QWidget* parent)
@ -159,8 +160,8 @@ namespace O3DE::ProjectManager
m_layout->setMargin(0); m_layout->setMargin(0);
setLayout(m_layout); setLayout(m_layout);
m_titleLabel = GemInspector::CreateStyledLabel(m_layout, 15, s_headerColor); m_titleLabel = GemInspector::CreateStyledLabel(m_layout, 16, s_headerColor);
m_textLabel = GemInspector::CreateStyledLabel(m_layout, 9, s_textColor); m_textLabel = GemInspector::CreateStyledLabel(m_layout, 10, s_textColor);
m_textLabel->setWordWrap(true); m_textLabel->setWordWrap(true);
m_tagWidget = new TagContainerWidget(); m_tagWidget = new TagContainerWidget();

@ -49,7 +49,7 @@ namespace O3DE::ProjectManager
painter->setRenderHint(QPainter::Antialiasing); painter->setRenderHint(QPainter::Antialiasing);
QRect fullRect, itemRect, contentRect; QRect fullRect, itemRect, contentRect;
CalcRects(options, modelIndex, fullRect, itemRect, contentRect); CalcRects(options, fullRect, itemRect, contentRect);
QFont standardFont(options.font); QFont standardFont(options.font);
standardFont.setPixelSize(s_fontSize); standardFont.setPixelSize(s_fontSize);
@ -99,7 +99,7 @@ namespace O3DE::ProjectManager
painter->drawText(gemCreatorRect, Qt::TextSingleLine, gemCreator); painter->drawText(gemCreatorRect, Qt::TextSingleLine, gemCreator);
// Gem summary // Gem summary
const QSize summarySize = QSize(contentRect.width() - s_summaryStartX - s_buttonWidth - s_itemMargins.right() * 4, contentRect.height()); const QSize summarySize = QSize(contentRect.width() - s_summaryStartX - s_buttonWidth - s_itemMargins.right() * 3, contentRect.height());
const QRect summaryRect = QRect(/*topLeft=*/QPoint(contentRect.left() + s_summaryStartX, contentRect.top()), summarySize); const QRect summaryRect = QRect(/*topLeft=*/QPoint(contentRect.left() + s_summaryStartX, contentRect.top()), summarySize);
painter->setFont(standardFont); painter->setFont(standardFont);
@ -134,12 +134,10 @@ namespace O3DE::ProjectManager
return QStyledItemDelegate::editorEvent(event, model, option, modelIndex); return QStyledItemDelegate::editorEvent(event, model, option, modelIndex);
} }
void GemItemDelegate::CalcRects(const QStyleOptionViewItem& option, const QModelIndex& modelIndex, QRect& outFullRect, QRect& outItemRect, QRect& outContentRect) const void GemItemDelegate::CalcRects(const QStyleOptionViewItem& option, QRect& outFullRect, QRect& outItemRect, QRect& outContentRect) const
{ {
const bool isFirst = modelIndex.row() == 0;
outFullRect = QRect(option.rect); outFullRect = QRect(option.rect);
outItemRect = QRect(outFullRect.adjusted(s_itemMargins.left(), isFirst ? s_itemMargins.top() * 2 : s_itemMargins.top(), -s_itemMargins.right(), -s_itemMargins.bottom())); outItemRect = QRect(outFullRect.adjusted(s_itemMargins.left(), s_itemMargins.top(), -s_itemMargins.right(), -s_itemMargins.bottom()));
outContentRect = QRect(outItemRect.adjusted(s_contentMargins.left(), s_contentMargins.top(), -s_contentMargins.right(), -s_contentMargins.bottom())); outContentRect = QRect(outItemRect.adjusted(s_contentMargins.left(), s_contentMargins.top(), -s_contentMargins.right(), -s_contentMargins.bottom()));
} }
@ -194,12 +192,12 @@ namespace O3DE::ProjectManager
painter->setBrush(m_buttonEnabledColor); painter->setBrush(m_buttonEnabledColor);
painter->setPen(m_buttonEnabledColor); painter->setPen(m_buttonEnabledColor);
circleCenter = buttonRect.center() + QPoint(buttonRect.width() / 2 - s_buttonBorderRadius, 1); circleCenter = buttonRect.center() + QPoint(buttonRect.width() / 2 - s_buttonBorderRadius + 1, 1);
buttonText = "Added"; buttonText = "Added";
} }
else else
{ {
circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius + 1, 1); circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius, 1);
buttonText = "Get"; buttonText = "Get";
} }

@ -45,25 +45,25 @@ namespace O3DE::ProjectManager
const QColor m_buttonEnabledColor = QColor("#00B931"); const QColor m_buttonEnabledColor = QColor("#00B931");
// Item // Item
inline constexpr static int s_height = 135; // Gem item total height inline constexpr static int s_height = 105; // Gem item total height
inline constexpr static qreal s_gemNameFontSize = 16.0; inline constexpr static qreal s_gemNameFontSize = 13.0;
inline constexpr static qreal s_fontSize = 15.0; inline constexpr static qreal s_fontSize = 12.0;
inline constexpr static int s_summaryStartX = 200; inline constexpr static int s_summaryStartX = 150;
// Margin and borders // Margin and borders
inline constexpr static QMargins s_itemMargins = QMargins(/*left=*/20, /*top=*/10, /*right=*/20, /*bottom=*/10); // Item border distances inline constexpr static QMargins s_itemMargins = QMargins(/*left=*/16, /*top=*/8, /*right=*/16, /*bottom=*/8); // Item border distances
inline constexpr static QMargins s_contentMargins = QMargins(/*left=*/15, /*top=*/12, /*right=*/12, /*bottom=*/12); // Distances of the elements within an item to the item borders inline constexpr static QMargins s_contentMargins = QMargins(/*left=*/20, /*top=*/12, /*right=*/15, /*bottom=*/12); // Distances of the elements within an item to the item borders
inline constexpr static int s_borderWidth = 4; inline constexpr static int s_borderWidth = 4;
// Button // Button
inline constexpr static int s_buttonWidth = 70; inline constexpr static int s_buttonWidth = 55;
inline constexpr static int s_buttonHeight = 24; inline constexpr static int s_buttonHeight = 18;
inline constexpr static int s_buttonBorderRadius = 12; inline constexpr static int s_buttonBorderRadius = 9;
inline constexpr static int s_buttonCircleRadius = s_buttonBorderRadius - 3; inline constexpr static int s_buttonCircleRadius = s_buttonBorderRadius - 2;
inline constexpr static qreal s_buttonFontSize = 12.0; inline constexpr static qreal s_buttonFontSize = 10.0;
private: private:
void CalcRects(const QStyleOptionViewItem& option, const QModelIndex& modelIndex, QRect& outFullRect, QRect& outItemRect, QRect& outContentRect) const; void CalcRects(const QStyleOptionViewItem& option, QRect& outFullRect, QRect& outItemRect, QRect& outContentRect) const;
QRect GetTextRect(QFont& font, const QString& text, qreal fontSize) const; QRect GetTextRect(QFont& font, const QString& text, qreal fontSize) const;
QRect CalcButtonRect(const QRect& contentRect) const; QRect CalcButtonRect(const QRect& contentRect) const;
void DrawPlatformIcons(QPainter* painter, const QRect& contentRect, const QModelIndex& modelIndex) const; void DrawPlatformIcons(QPainter* painter, const QRect& contentRect, const QModelIndex& modelIndex) const;
@ -73,7 +73,7 @@ namespace O3DE::ProjectManager
// Platform icons // Platform icons
void AddPlatformIcon(GemInfo::Platform platform, const QString& iconPath); void AddPlatformIcon(GemInfo::Platform platform, const QString& iconPath);
inline constexpr static int s_platformIconSize = 16; inline constexpr static int s_platformIconSize = 12;
QHash<GemInfo::Platform, QPixmap> m_platformIcons; QHash<GemInfo::Platform, QPixmap> m_platformIcons;
}; };
} // namespace O3DE::ProjectManager } // namespace O3DE::ProjectManager

@ -35,7 +35,7 @@ namespace O3DE::ProjectManager
topLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); topLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
QLabel* showCountLabel = new QLabel(); QLabel* showCountLabel = new QLabel();
showCountLabel->setStyleSheet("font-size: 11pt; font: italic;"); showCountLabel->setStyleSheet("font-size: 12px; font: italic;");
topLayout->addWidget(showCountLabel); topLayout->addWidget(showCountLabel);
connect(proxyModel, &GemSortFilterProxyModel::OnInvalidated, this, [=] connect(proxyModel, &GemSortFilterProxyModel::OnInvalidated, this, [=]
{ {
@ -61,16 +61,17 @@ namespace O3DE::ProjectManager
QHBoxLayout* columnHeaderLayout = new QHBoxLayout(); QHBoxLayout* columnHeaderLayout = new QHBoxLayout();
columnHeaderLayout->setAlignment(Qt::AlignLeft); columnHeaderLayout->setAlignment(Qt::AlignLeft);
columnHeaderLayout->addSpacing(31); const int gemNameStartX = GemItemDelegate::s_itemMargins.left() + GemItemDelegate::s_contentMargins.left() - 3;
columnHeaderLayout->addSpacing(gemNameStartX);
QLabel* gemNameLabel = new QLabel(tr("Gem Name")); QLabel* gemNameLabel = new QLabel(tr("Gem Name"));
gemNameLabel->setStyleSheet("font-size: 11pt;"); gemNameLabel->setStyleSheet("font-size: 12px;");
columnHeaderLayout->addWidget(gemNameLabel); columnHeaderLayout->addWidget(gemNameLabel);
columnHeaderLayout->addSpacing(111); columnHeaderLayout->addSpacing(77);
QLabel* gemSummaryLabel = new QLabel(tr("Gem Summary")); QLabel* gemSummaryLabel = new QLabel(tr("Gem Summary"));
gemSummaryLabel->setStyleSheet("font-size: 11pt;"); gemSummaryLabel->setStyleSheet("font-size: 12px;");
columnHeaderLayout->addWidget(gemSummaryLabel); columnHeaderLayout->addWidget(gemSummaryLabel);
vLayout->addLayout(columnHeaderLayout); vLayout->addLayout(columnHeaderLayout);

@ -37,7 +37,7 @@ namespace O3DE::ProjectManager
void LinkLabel::enterEvent([[maybe_unused]] QEvent* event) void LinkLabel::enterEvent([[maybe_unused]] QEvent* event)
{ {
setStyleSheet("font-size: 9pt; color: #94D2FF; text-decoration: underline;"); setStyleSheet("font-size: 10px; color: #94D2FF; text-decoration: underline;");
} }
void LinkLabel::leaveEvent([[maybe_unused]] QEvent* event) void LinkLabel::leaveEvent([[maybe_unused]] QEvent* event)
@ -52,6 +52,6 @@ namespace O3DE::ProjectManager
void LinkLabel::SetDefaultStyle() void LinkLabel::SetDefaultStyle()
{ {
setStyleSheet("font-size: 9pt; color: #94D2FF;"); setStyleSheet("font-size: 10px; color: #94D2FF;");
} }
} // namespace O3DE::ProjectManager } // namespace O3DE::ProjectManager

@ -18,9 +18,9 @@ namespace O3DE::ProjectManager
TagWidget::TagWidget(const QString& text, QWidget* parent) TagWidget::TagWidget(const QString& text, QWidget* parent)
: QLabel(text, parent) : QLabel(text, parent)
{ {
setFixedHeight(35); setFixedHeight(24);
setMargin(5); setMargin(5);
setStyleSheet("font-size: 12pt; background-color: #333333; border-radius: 4px;"); setStyleSheet("font-size: 12px; background-color: #333333; border-radius: 3px;");
} }
TagContainerWidget::TagContainerWidget(QWidget* parent) TagContainerWidget::TagContainerWidget(QWidget* parent)
@ -35,7 +35,7 @@ namespace O3DE::ProjectManager
void TagContainerWidget::Update(const QStringList& tags) void TagContainerWidget::Update(const QStringList& tags)
{ {
QWidget* parentWidget = qobject_cast<QWidget*>(parent()); QWidget* parentWidget = qobject_cast<QWidget*>(parent());
int width = 250; int width = 200;
if (parentWidget) if (parentWidget)
{ {
width = parentWidget->width(); width = parentWidget->width();

Loading…
Cancel
Save