From e947cdab3ea8f91206b71f187e75fd4d244a02c9 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Thu, 7 Jan 2021 13:28:10 +0100 Subject: [PATCH] Properly disable Apply/OK in InsetParamsDialog (#11440) --- src/frontends/qt/InsetParamsDialog.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/frontends/qt/InsetParamsDialog.cpp b/src/frontends/qt/InsetParamsDialog.cpp index ebac60b721..d2c0cae45d 100644 --- a/src/frontends/qt/InsetParamsDialog.cpp +++ b/src/frontends/qt/InsetParamsDialog.cpp @@ -193,14 +193,16 @@ docstring InsetParamsDialog::checkWidgets(bool immediate) ? d->widget_->creationCode() : LFUN_INSET_MODIFY; bool const lfun_ok = lyx::getStatus(FuncRequest(code, argument)).enabled(); + bool const changed_inset = ins && (ins != d->inset_ || d->changed_); buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!immediate && widget_ok - && !read_only && valid_argument); - bool const can_be_restored = !immediate && !read_only - && ins && (ins != d->inset_ || d->changed_); + && !read_only && valid_argument + && (!ins || changed_inset)); + bool const can_be_restored = !immediate && !read_only && changed_inset; buttonBox->button(QDialogButtonBox::Reset)->setEnabled(can_be_restored); - buttonBox->button(QDialogButtonBox::Apply)->setEnabled(ins && !immediate + buttonBox->button(QDialogButtonBox::Apply)->setEnabled(!immediate && lfun_ok && widget_ok - && !read_only && valid_argument); + && !read_only && valid_argument + && changed_inset); immediateApplyCB->setEnabled(ins && !read_only); // This seems to be the only way to access custom buttons QList buttons = buttonBox->buttons(); -- 2.39.5