diff --git a/src/app/valentina/dialogs/configdialog.cpp b/src/app/valentina/dialogs/configdialog.cpp index bc965dece..13528382d 100644 --- a/src/app/valentina/dialogs/configdialog.cpp +++ b/src/app/valentina/dialogs/configdialog.cpp @@ -38,7 +38,7 @@ //--------------------------------------------------------------------------------------------------------------------- ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent), contentsWidget(nullptr), pagesWidget(nullptr), configurationPage(nullptr), patternPage(nullptr), - communityPage(nullptr), pathPage(nullptr) + communityPage(nullptr), pathPage(nullptr), isInitialized(false) { contentsWidget = new QListWidget; contentsWidget->setViewMode(QListView::IconMode); @@ -92,7 +92,6 @@ ConfigDialog::ConfigDialog(QWidget *parent) : setWindowTitle(tr("Config Dialog")); - this->setFixedSize(QSize(750, 565)); qApp->Settings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C)); } @@ -116,6 +115,27 @@ void ConfigDialog::closeEvent(QCloseEvent *event) event->accept(); } +//--------------------------------------------------------------------------------------------------------------------- +void ConfigDialog::showEvent(QShowEvent *event) +{ + QDialog::showEvent( event ); + if ( event->spontaneous() ) + { + return; + } + + if (isInitialized) + { + return; + } + // do your init stuff here + + setMaximumSize(size()); + setMinimumSize(size()); + + isInitialized = true;//first show windows are held +} + //--------------------------------------------------------------------------------------------------------------------- void ConfigDialog::createIcons() { diff --git a/src/app/valentina/dialogs/configdialog.h b/src/app/valentina/dialogs/configdialog.h index 76250776d..9f8d9556e 100644 --- a/src/app/valentina/dialogs/configdialog.h +++ b/src/app/valentina/dialogs/configdialog.h @@ -47,6 +47,7 @@ signals: void UpdateProperties(); protected: virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE; + virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE; private: Q_DISABLE_COPY(ConfigDialog) QListWidget *contentsWidget; @@ -55,6 +56,7 @@ private: PatternPage *patternPage; CommunityPage *communityPage; PathPage *pathPage; + bool isInitialized; void createIcons(); void createIcon(const QString &icon, const QString &text); void Apply();