diff --git a/src/app/valentina/dialogs/dialoglayoutsettings.cpp b/src/app/valentina/dialogs/dialoglayoutsettings.cpp index 98f00d337..e7aea7477 100644 --- a/src/app/valentina/dialogs/dialoglayoutsettings.cpp +++ b/src/app/valentina/dialogs/dialoglayoutsettings.cpp @@ -58,7 +58,7 @@ const DialogLayoutSettings::FormatsVector DialogLayoutSettings::pageFormatNames //--------------------------------------------------------------------------------------------------------------------- DialogLayoutSettings::DialogLayoutSettings(VLayoutGenerator *generator, QWidget *parent, bool disableSettings) : QDialog(parent), disableSettings(disableSettings), ui(new Ui::DialogLayoutSettings), oldPaperUnit(Unit::Mm), - oldLayoutUnit(Unit::Mm), generator(generator) + oldLayoutUnit(Unit::Mm), generator(generator), isInitialized(false) { ui->setupUi(this); @@ -100,9 +100,6 @@ DialogLayoutSettings::DialogLayoutSettings(VLayoutGenerator *generator, QWidget QPushButton *bRestoreDefaults = ui->buttonBox->button(QDialogButtonBox::RestoreDefaults); connect(bRestoreDefaults, &QPushButton::clicked, this, &DialogLayoutSettings::RestoreDefaults); - - setMaximumSize(size()); - setMinimumSize(size()); } //--------------------------------------------------------------------------------------------------------------------- @@ -334,6 +331,27 @@ QString DialogLayoutSettings::MakeGroupsHelp() return tr("\n\tThree groups: big, middle, small = 0\n\tTwo groups: big, small = 1\n\tDescending area = 2\n"); } +//--------------------------------------------------------------------------------------------------------------------- +void DialogLayoutSettings::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 DialogLayoutSettings::ConvertLayoutSize() { diff --git a/src/app/valentina/dialogs/dialoglayoutsettings.h b/src/app/valentina/dialogs/dialoglayoutsettings.h index 792a94ca7..f55d2b4ed 100644 --- a/src/app/valentina/dialogs/dialoglayoutsettings.h +++ b/src/app/valentina/dialogs/dialoglayoutsettings.h @@ -100,6 +100,8 @@ public: qreal LayoutToPixels(qreal value) const; qreal PageToPixels(qreal value) const; static QString MakeGroupsHelp(); +protected: + virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE; public slots: void ConvertPaperSize(); void ConvertLayoutSize(); @@ -123,6 +125,7 @@ private: Unit oldPaperUnit; Unit oldLayoutUnit; VLayoutGenerator *generator; + bool isInitialized; void InitPaperUnits(); void InitLayoutUnits();