From 6256ecd0b41de6981bd64a34b588add26ef368ea Mon Sep 17 00:00:00 2001 From: DSCaskey <31944718+DSCaskey@users.noreply.github.com> Date: Mon, 25 Nov 2024 16:08:43 -0500 Subject: [PATCH] fix fx dialog positioning --- .../dialogs/support/edit_formula_dialog.cpp | 37 ++++++++----------- .../dialogs/support/edit_formula_dialog.ui | 3 ++ 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/libs/vtools/dialogs/support/edit_formula_dialog.cpp b/src/libs/vtools/dialogs/support/edit_formula_dialog.cpp index b8d561459051..34fa982e8592 100644 --- a/src/libs/vtools/dialogs/support/edit_formula_dialog.cpp +++ b/src/libs/vtools/dialogs/support/edit_formula_dialog.cpp @@ -120,6 +120,19 @@ EditFormulaDialog::EditFormulaDialog(const VContainer *data, const quint32 &tool ui->setupUi(this); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + // Resize the dialog based on last saved size. + const QSize size = qApp->Settings()->GetFormulaWizardDialogSize(); + if (!size.isEmpty()) + { + // Block signals to prevent a resize event that will only save the size again. + blockSignals(true); + resize(size); + blockSignals(false); + } + + // Set the position that the dialog opens based on user preference. + setDialogPosition(); + initializeVariables(); initializeFormulaUi(ui); ui->plainTextEditFormula->installEventFilter(this); @@ -462,7 +475,6 @@ void EditFormulaDialog::closeEvent(QCloseEvent *event) DialogTool::closeEvent(event); } -//--------------------------------------------------------------------------------------------------------------------- void EditFormulaDialog::showEvent(QShowEvent *event) { QDialog::showEvent(event); @@ -470,23 +482,6 @@ void EditFormulaDialog::showEvent(QShowEvent *event) { return; } - - if (isInitialized) - { - return; - } - // do your init stuff here - - const QSize size = qApp->Settings()->GetFormulaWizardDialogSize(); - if (!size.isEmpty()) - { - resize(size); - } - - // Set the position that the dialog opens based on user preference. - setDialogPosition(); - - isInitialized = true;//first show windows are held } //--------------------------------------------------------------------------------------------------------------------- @@ -494,10 +489,8 @@ void EditFormulaDialog::resizeEvent(QResizeEvent *event) { // remember the size for the next time this dialog is opened, but only // if widget was already initialized. - if (isInitialized) - { - qApp->Settings()->SetFormulaWizardDialogSize(size()); - } + qApp->Settings()->SetFormulaWizardDialogSize(size()); + DialogTool::resizeEvent(event); } diff --git a/src/libs/vtools/dialogs/support/edit_formula_dialog.ui b/src/libs/vtools/dialogs/support/edit_formula_dialog.ui index d394491fea9d..42edc7f94037 100644 --- a/src/libs/vtools/dialogs/support/edit_formula_dialog.ui +++ b/src/libs/vtools/dialogs/support/edit_formula_dialog.ui @@ -38,6 +38,9 @@ :/icon/32x32/edit.png:/icon/32x32/edit.png + + true + true