Resize banners correctly.

This commit is contained in:
Lukas Brübach 2025-02-02 10:10:33 +01:00
parent 12e45cb40e
commit a5f84d7e2c
3 changed files with 13 additions and 2 deletions

View file

@ -16,11 +16,10 @@ BannerWidget::BannerWidget(QWidget *parent, const QString &text, Qt::Orientation
// Layout to center the banner label // Layout to center the banner label
QVBoxLayout *layout = new QVBoxLayout(this); QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(bannerLabel); layout->addWidget(bannerLabel);
layout->setContentsMargins(0, 20, 0, 20); // Space for the gradient
setLayout(layout); setLayout(layout);
// Set minimum height for the widget // Set minimum height for the widget
setMinimumHeight(100); setMinimumHeight(50);
connect(this, &BannerWidget::buddyVisibilityChanged, this, &BannerWidget::toggleBuddyVisibility); connect(this, &BannerWidget::buddyVisibilityChanged, this, &BannerWidget::toggleBuddyVisibility);
} }

View file

@ -44,6 +44,7 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false); folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false);
folderWidget->setFixedWidth(scrollArea->viewport()->width());
scrollArea->setWidget(folderWidget); scrollArea->setWidget(folderWidget);
scrollArea->setWidgetResizable(true); scrollArea->setWidgetResizable(true);
@ -69,6 +70,14 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
} }
} }
void VisualDeckStorageWidget::resizeEvent(QResizeEvent *event)
{
QWidget::resizeEvent(event);
if (scrollArea->widget() == folderWidget) {
folderWidget->setFixedWidth(scrollArea->viewport()->width());
}
}
void VisualDeckStorageWidget::retranslateUi() void VisualDeckStorageWidget::retranslateUi()
{ {
databaseLoadIndicator->setText(tr("Loading database ...")); databaseLoadIndicator->setText(tr("Loading database ..."));
@ -88,6 +97,7 @@ void VisualDeckStorageWidget::deckPreviewDoubleClickedEvent(QMouseEvent *event,
void VisualDeckStorageWidget::refreshBannerCards() void VisualDeckStorageWidget::refreshBannerCards()
{ {
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false); folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false);
folderWidget->setFixedWidth(scrollArea->viewport()->width());
scrollArea->setWidget(folderWidget); scrollArea->setWidget(folderWidget);
} }

View file

@ -23,6 +23,7 @@ class VisualDeckStorageWidget final : public QWidget
Q_OBJECT Q_OBJECT
public: public:
explicit VisualDeckStorageWidget(QWidget *parent); explicit VisualDeckStorageWidget(QWidget *parent);
void retranslateUi(); void retranslateUi();
CardSizeWidget *cardSizeWidget; CardSizeWidget *cardSizeWidget;
VisualDeckStorageTagFilterWidget *tagFilterWidget; VisualDeckStorageTagFilterWidget *tagFilterWidget;
@ -35,6 +36,7 @@ public slots:
void updateColorFilter(); void updateColorFilter();
void updateSearchFilter(); void updateSearchFilter();
void updateSortOrder(); void updateSortOrder();
void resizeEvent(QResizeEvent *event) override;
signals: signals:
void bannerCardsRefreshed(); void bannerCardsRefreshed();