From f4aabbcf06b055f7ef08f4241bfd680bb5ac9971 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Thu, 5 Nov 2015 13:54:15 +0200 Subject: [PATCH] Disable changing window size only after first. --HG-- branch : develop --- .../dialogs/dialoglayoutsettings.cpp | 26 ++++++++++++++++--- .../valentina/dialogs/dialoglayoutsettings.h | 3 +++ 2 files changed, 25 insertions(+), 4 deletions(-) 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();