diff --git a/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.cpp b/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.cpp index 688350a73..12116de7a 100644 --- a/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.cpp +++ b/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -198,6 +199,22 @@ void CardDatabaseSetupPage::onToggleAdvanced(bool open) advancedToggleButton->setText(open ? tr("▼ Advanced: custom download source") : tr("▶ Advanced: custom download source")); advancedPanel->setVisible(open); + + QWidget *wizardWindow = window(); + if (!wizardWindow) { + return; + } + + if (open) { + windowSizeBeforeExpansion = wizardWindow->size(); + QTimer::singleShot(0, this, [wizardWindow] { + wizardWindow->resize(wizardWindow->size().expandedTo(wizardWindow->sizeHint())); + }); + } else { + QTimer::singleShot(0, this, [this, wizardWindow] { + wizardWindow->resize(wizardWindow->size().boundedTo(windowSizeBeforeExpansion)); + }); + } } void CardDatabaseSetupPage::onApplyCustomUrl() diff --git a/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.h b/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.h index c030718cd..0461d11d5 100644 --- a/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.h +++ b/cockatrice/src/interface/widgets/onboarding/pages/card_database_setup_page.h @@ -3,6 +3,8 @@ #include "../first_run_wizard_page.h" +#include + class QComboBox; class QLabel; class QLineEdit; @@ -71,6 +73,7 @@ private: QSpinBox *checkIntervalSpinBox; State state = State::NotStarted; + QSize windowSizeBeforeExpansion; }; #endif // CARD_DATABASE_SETUP_PAGE_H