Selaa lähdekoodia

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

Benjamin Jillich 4 vuotta sitten
vanhempi
commit
5bb55ac1c7

+ 28 - 1
Code/Tools/ProjectManager/Resources/ProjectManager.qss

@@ -336,4 +336,31 @@ QTabBar::tab:pressed
     max-width:210px;;
     min-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;
+}

+ 5 - 3
Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogHeaderWidget.cpp

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

+ 8 - 5
Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.cpp

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

+ 9 - 8
Code/Tools/ProjectManager/Source/GemCatalog/GemInspector.cpp

@@ -23,6 +23,7 @@ namespace O3DE::ProjectManager
         : QScrollArea(parent)
         , m_model(model)
     {
+        setObjectName("GemCatalogInspector");
         setWidgetResizable(true);
         setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
         setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
@@ -85,7 +86,7 @@ namespace O3DE::ProjectManager
     QLabel* GemInspector::CreateStyledLabel(QLayout* layout, int fontSize, const QString& colorCodeString)
     {
         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);
         return result;
     }
@@ -93,13 +94,13 @@ namespace O3DE::ProjectManager
     void GemInspector::InitMainWidget()
     {
         // 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_mainLayout->addSpacing(5);
 
         // 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.
-        m_summaryLabel = new QLabel();//CreateLabel(m_mainLayout, 12, s_textColor);
+        m_summaryLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
         m_mainLayout->addWidget(m_summaryLabel);
         m_summaryLabel->setWordWrap(true);
         m_mainLayout->addSpacing(5);
@@ -146,9 +147,9 @@ namespace O3DE::ProjectManager
         QLabel* additionalInfoLabel = CreateStyledLabel(m_mainLayout, 14, s_headerColor);
         additionalInfoLabel->setText("Additional Information");
 
-        m_versionLabel = CreateStyledLabel(m_mainLayout, 11, s_textColor);
-        m_lastUpdatedLabel = CreateStyledLabel(m_mainLayout, 11, s_textColor);
-        m_binarySizeLabel = CreateStyledLabel(m_mainLayout, 11, s_textColor);
+        m_versionLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
+        m_lastUpdatedLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
+        m_binarySizeLabel = CreateStyledLabel(m_mainLayout, 12, s_textColor);
     }
 
     GemInspector::GemsSubWidget::GemsSubWidget(QWidget* parent)
@@ -159,8 +160,8 @@ namespace O3DE::ProjectManager
         m_layout->setMargin(0);
         setLayout(m_layout);
 
-        m_titleLabel = GemInspector::CreateStyledLabel(m_layout, 15, s_headerColor);
-        m_textLabel = GemInspector::CreateStyledLabel(m_layout, 9, s_textColor);
+        m_titleLabel = GemInspector::CreateStyledLabel(m_layout, 16, s_headerColor);
+        m_textLabel = GemInspector::CreateStyledLabel(m_layout, 10, s_textColor);
         m_textLabel->setWordWrap(true);
 
         m_tagWidget = new TagContainerWidget();

+ 6 - 8
Code/Tools/ProjectManager/Source/GemCatalog/GemItemDelegate.cpp

@@ -49,7 +49,7 @@ namespace O3DE::ProjectManager
         painter->setRenderHint(QPainter::Antialiasing);
 
         QRect fullRect, itemRect, contentRect;
-        CalcRects(options, modelIndex, fullRect, itemRect, contentRect);
+        CalcRects(options, fullRect, itemRect, contentRect);
 
         QFont standardFont(options.font);
         standardFont.setPixelSize(s_fontSize);
@@ -99,7 +99,7 @@ namespace O3DE::ProjectManager
         painter->drawText(gemCreatorRect, Qt::TextSingleLine, gemCreator);
 
         // 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);
 
         painter->setFont(standardFont);
@@ -134,12 +134,10 @@ namespace O3DE::ProjectManager
         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);
-        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()));
     }
 
@@ -194,12 +192,12 @@ namespace O3DE::ProjectManager
             painter->setBrush(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";
         }
         else
         {
-            circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius + 1, 1);
+            circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius, 1);
             buttonText = "Get";
         }
 

+ 13 - 13
Code/Tools/ProjectManager/Source/GemCatalog/GemItemDelegate.h

@@ -45,25 +45,25 @@ namespace O3DE::ProjectManager
         const QColor m_buttonEnabledColor = QColor("#00B931");
 
         // Item
-        inline constexpr static int s_height = 135; // Gem item total height
-        inline constexpr static qreal s_gemNameFontSize = 16.0;
-        inline constexpr static qreal s_fontSize = 15.0;
-        inline constexpr static int s_summaryStartX = 200;
+        inline constexpr static int s_height = 105; // Gem item total height
+        inline constexpr static qreal s_gemNameFontSize = 13.0;
+        inline constexpr static qreal s_fontSize = 12.0;
+        inline constexpr static int s_summaryStartX = 150;
 
         // 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_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_itemMargins = QMargins(/*left=*/16, /*top=*/8, /*right=*/16, /*bottom=*/8); // Item border distances
+        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;
 
         // Button
-        inline constexpr static int s_buttonWidth = 70;
-        inline constexpr static int s_buttonHeight = 24;
-        inline constexpr static int s_buttonBorderRadius = 12;
-        inline constexpr static int s_buttonCircleRadius = s_buttonBorderRadius - 3;
-        inline constexpr static qreal s_buttonFontSize = 12.0;
+        inline constexpr static int s_buttonWidth = 55;
+        inline constexpr static int s_buttonHeight = 18;
+        inline constexpr static int s_buttonBorderRadius = 9;
+        inline constexpr static int s_buttonCircleRadius = s_buttonBorderRadius - 2;
+        inline constexpr static qreal s_buttonFontSize = 10.0;
 
     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 CalcButtonRect(const QRect& contentRect) const;
         void DrawPlatformIcons(QPainter* painter, const QRect& contentRect, const QModelIndex& modelIndex) const;
@@ -73,7 +73,7 @@ namespace O3DE::ProjectManager
 
         // Platform icons
         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;
     };
 } // namespace O3DE::ProjectManager

+ 6 - 5
Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp

@@ -35,7 +35,7 @@ namespace O3DE::ProjectManager
         topLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
 
         QLabel* showCountLabel = new QLabel();
-        showCountLabel->setStyleSheet("font-size: 11pt; font: italic;");
+        showCountLabel->setStyleSheet("font-size: 12px; font: italic;");
         topLayout->addWidget(showCountLabel);
         connect(proxyModel, &GemSortFilterProxyModel::OnInvalidated, this, [=]
             {
@@ -61,16 +61,17 @@ namespace O3DE::ProjectManager
         QHBoxLayout* columnHeaderLayout = new QHBoxLayout();
         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"));
-        gemNameLabel->setStyleSheet("font-size: 11pt;");
+        gemNameLabel->setStyleSheet("font-size: 12px;");
         columnHeaderLayout->addWidget(gemNameLabel);
 
-        columnHeaderLayout->addSpacing(111);
+        columnHeaderLayout->addSpacing(77);
 
         QLabel* gemSummaryLabel = new QLabel(tr("Gem Summary"));
-        gemSummaryLabel->setStyleSheet("font-size: 11pt;");
+        gemSummaryLabel->setStyleSheet("font-size: 12px;");
         columnHeaderLayout->addWidget(gemSummaryLabel);
 
         vLayout->addLayout(columnHeaderLayout);

+ 2 - 2
Code/Tools/ProjectManager/Source/LinkWidget.cpp

@@ -37,7 +37,7 @@ namespace O3DE::ProjectManager
 
     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)
@@ -52,6 +52,6 @@ namespace O3DE::ProjectManager
 
     void LinkLabel::SetDefaultStyle()
     {
-        setStyleSheet("font-size: 9pt; color: #94D2FF;");
+        setStyleSheet("font-size: 10px; color: #94D2FF;");
     }
 } // namespace O3DE::ProjectManager

+ 3 - 3
Code/Tools/ProjectManager/Source/TagWidget.cpp

@@ -18,9 +18,9 @@ namespace O3DE::ProjectManager
     TagWidget::TagWidget(const QString& text, QWidget* parent)
         : QLabel(text, parent)
     {
-        setFixedHeight(35);
+        setFixedHeight(24);
         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)
@@ -35,7 +35,7 @@ namespace O3DE::ProjectManager
     void TagContainerWidget::Update(const QStringList& tags)
     {
         QWidget* parentWidget = qobject_cast<QWidget*>(parent());
-        int width = 250;
+        int width = 200;
         if (parentWidget)
         {
             width = parentWidget->width();