From 9dd60d74d1c214e6e78cafb97e2e44d0b17bbcc3 Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Sun, 2 Feb 2025 18:36:56 +0100 Subject: [PATCH] Hotfix VDS sizing scrollArea widget incorrectly when created while not visible by setting size in showEvent (#5547) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Only resize on folder widget to make sure it doesn't squish the loading indicator. * Clamp scrollArea widget to viewport width on showEvent to prevent widget being instantiated with wrong width when not visible. --------- Co-authored-by: Lukas BrĂ¼bach --- .../visual_deck_storage_widget.cpp | 15 +++++++++++++-- .../visual_deck_storage_widget.h | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp index b98456144..293ed22a4 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp @@ -69,11 +69,22 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare } } +void VisualDeckStorageWidget::showEvent(QShowEvent *event) +{ + QWidget::showEvent(event); + if (scrollArea->widget() == folderWidget) { + scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width()); + scrollArea->widget()->adjustSize(); + } +} + void VisualDeckStorageWidget::resizeEvent(QResizeEvent *event) { QWidget::resizeEvent(event); - scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width()); - scrollArea->widget()->adjustSize(); + if (scrollArea->widget() == folderWidget) { + scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width()); + scrollArea->widget()->adjustSize(); + } } void VisualDeckStorageWidget::retranslateUi() diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h index 563b269d0..5f190f40f 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h @@ -37,6 +37,7 @@ public slots: void updateSearchFilter(); void updateSortOrder(); void resizeEvent(QResizeEvent *event) override; + void showEvent(QShowEvent *event) override; signals: void bannerCardsRefreshed();