]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/InsetParamsDialog.cpp
Improve wording (#10670)
[lyx.git] / src / frontends / qt4 / InsetParamsDialog.cpp
index 00aa01c9d5a507b139f9b80c2f00fea5fbcd5563..44f49b5a44e01d74c1db0e2b2c7c0c9cf92fea5b 100644 (file)
@@ -74,12 +74,13 @@ struct InsetParamsDialog::Private
 
 InsetParamsDialog::InsetParamsDialog(GuiView & lv, InsetParamsWidget * widget)
        : DialogView(lv, toqstr(insetName(widget->insetCode())),
-       toqstr(insetName(widget->insetCode()))), d(new Private)
+       widget->dialogTitle()), d(new Private)
 {
        setupUi(this);
        setInsetParamsWidget(widget);
-       synchronizedViewCB->setChecked(false);
-       on_synchronizedViewCB_stateChanged(false);
+       immediateApplyCB->setChecked(false);
+       synchronizedCB->setChecked(true);
+       on_immediateApplyCB_stateChanged(false);
        setFocusProxy(widget);
 }
 
@@ -151,31 +152,38 @@ void InsetParamsDialog::on_closePB_clicked()
 }
 
 
-void InsetParamsDialog::on_synchronizedViewCB_stateChanged(int state)
+void InsetParamsDialog::on_immediateApplyCB_stateChanged(int state)
 {
        checkWidgets(state == Qt::Checked);
 }
 
 
-docstring InsetParamsDialog::checkWidgets(bool synchronized_view)
+void InsetParamsDialog::on_synchronizedCB_stateChanged(int)
 {
-       bool const widget_ok = d->widget_->checkWidgets();
+       checkWidgets(false);
+}
+
+
+docstring InsetParamsDialog::checkWidgets(bool immediate)
+{
+       bool const read_only = buffer().isReadonly();
+       bool const widget_ok = d->widget_->checkWidgets(read_only);
        Inset const * ins = inset(d->widget_->insetCode());
        docstring const argument = d->widget_->dialogToParams();
        bool valid_argument = !argument.empty();
        if (ins)
                valid_argument &= ins->validateModifyArgument(argument);
-       FuncCode const code = synchronized_view
+       FuncCode const code = immediate
                ? d->widget_->creationCode() : LFUN_INSET_MODIFY;
        bool const lfun_ok = lyx::getStatus(FuncRequest(code, argument)).enabled();
-       bool const read_only = buffer().isReadonly();
 
-       okPB->setEnabled(!synchronized_view && widget_ok && !read_only && valid_argument);
-       bool const can_be_restored = !synchronized_view && !read_only
+       okPB->setEnabled(!immediate && widget_ok && !read_only && valid_argument);
+       bool const can_be_restored = !immediate && !read_only
                        && ins && (ins != d->inset_ || d->changed_);
        restorePB->setEnabled(can_be_restored);
-       applyPB->setEnabled(lfun_ok && widget_ok && !read_only && valid_argument);
-       d->widget_->setEnabled(!read_only);
+       applyPB->setEnabled(ins && !immediate && lfun_ok && widget_ok && !read_only && valid_argument);
+       newPB->setEnabled(widget_ok && !read_only && valid_argument);
+       synchronizedCB->setEnabled(!immediate);
        return argument;
 }
 
@@ -183,15 +191,16 @@ docstring InsetParamsDialog::checkWidgets(bool synchronized_view)
 void InsetParamsDialog::onWidget_changed()
 {
        d->changed_ = true;
-       docstring const argument = checkWidgets(synchronizedViewCB->isChecked());
-       if (synchronizedViewCB->isChecked())
+       docstring const argument = checkWidgets(immediateApplyCB->isChecked());
+       if (immediateApplyCB->isChecked()
+           && d->widget_->checkWidgets(buffer().isReadonly()))
                dispatch(FuncRequest(LFUN_INSET_MODIFY, argument));
 }
 
 
 void InsetParamsDialog::applyView()
 {
-       docstring const argument = checkWidgets(synchronizedViewCB->isChecked());
+       docstring const argument = checkWidgets(immediateApplyCB->isChecked());
        dispatch(FuncRequest(LFUN_INSET_MODIFY, argument));
        d->changed_ = false;
        d->inset_ = inset(d->widget_->insetCode());
@@ -209,13 +218,15 @@ void InsetParamsDialog::updateView(bool update_widget)
                        d->widget_->blockSignals(false);
                }
        }
-       checkWidgets(synchronizedViewCB->isChecked());
+       checkWidgets(immediateApplyCB->isChecked());
 }
 
 
 void InsetParamsDialog::updateView()
 {
-       updateView(synchronizedViewCB->isChecked());
+       bool const update_widget =
+               (synchronizedCB->isChecked() || immediateApplyCB->isChecked());
+       updateView(update_widget);
 }