From 76f24d57abc774ed4ba166b69fe1d2ad1bcb8879 Mon Sep 17 00:00:00 2001 From: Alfredo Monclus Date: Thu, 6 Mar 2025 04:15:42 -0300 Subject: [PATCH] start: fix listview height alwasys being too small --- src/Mod/Start/Gui/FileCardView.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Mod/Start/Gui/FileCardView.cpp b/src/Mod/Start/Gui/FileCardView.cpp index 62bf6561d5..b7ab1d91ee 100644 --- a/src/Mod/Start/Gui/FileCardView.cpp +++ b/src/Mod/Start/Gui/FileCardView.cpp @@ -26,6 +26,7 @@ #include #include "../App/DisplayedFilesModel.h" +#include namespace StartGui { @@ -61,12 +62,12 @@ int FileCardView::heightForWidth(int width) const } int numCards = model->rowCount(); auto cardSize = delegate->sizeHint(QStyleOptionViewItem(), model->index(0, 0)); - int cardsPerRow = static_cast(width / cardSize.width()); + int cardsPerRow = std::max(1, static_cast(width / (cardSize.width() + m_cardSpacing))); int numRows = static_cast(ceil(static_cast(numCards) / static_cast(cardsPerRow))); int neededHeight = numRows * cardSize.height(); - - return neededHeight + m_cardSpacing * (numRows - 1) + 2 * m_cardSpacing; + constexpr int extra = 4; // avoid tiny scrollbars + return neededHeight + m_cardSpacing * (numRows - 1) + 2 * m_cardSpacing + extra; } QSize FileCardView::sizeHint() const