struct InsetParamsDialog::Private
{
- Private() : widget_(0), inset_(0), changed_(false) {}
+ Private() : widget_(nullptr), inset_(nullptr), changed_(false) {}
///
InsetParamsWidget * widget_;
/// The inset that was used at last Restore or Apply operation.
widget->dialogTitle()), d(new Private)
{
setupUi(this);
+ // Remove margins since the widget is embedded in dialog which provides them
+ widget->layout()->setContentsMargins(0, 0, 0, 0);
setInsetParamsWidget(widget);
immediateApplyCB->setChecked(false);
synchronizedCB->setChecked(true);
setFocusProxy(widget);
newPB = buttonBox->addButton(qt_("Ne&w Inset"),
QDialogButtonBox::ActionRole);
+ // fix height to minimum
+ setFixedHeight(sizeHint().height());
}
InsetParamsDialog::~InsetParamsDialog()
? 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<QAbstractButton*> buttons = buttonBox->buttons();
- for (int i = 0; i < buttons.size(); ++i) {
- if (buttonBox->buttonRole(buttons.at(i)) == QDialogButtonBox::ActionRole)
- buttons.at(i)->setEnabled(widget_ok && !read_only
+ for (auto & button : buttons) {
+ if (buttonBox->buttonRole(button) == QDialogButtonBox::ActionRole)
+ button->setEnabled(widget_ok && !read_only
&& valid_argument
&& newInsetAllowed());
}
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
}
-
-Dialog * createDialog(GuiView & lv, InsetCode code)
-{
- InsetParamsWidget * widget;
- switch (code) {
- case ERT_CODE:
- widget = new GuiERT;
- break;
- case FLOAT_CODE:
- widget = new FloatPlacement(true);
- break;
- case BIBITEM_CODE:
- widget = new GuiBibitem;
- break;
- case BRANCH_CODE:
- widget = new GuiBranch;
- break;
- case BOX_CODE:
- widget = new GuiBox;
- break;
- case HYPERLINK_CODE:
- widget = new GuiHyperlink;
- break;
- case COUNTER_CODE:
- widget = new GuiCounter(lv, nullptr);
- break;
- case INFO_CODE:
- widget = new GuiInfo;
- break;
- case LABEL_CODE:
- widget = new GuiLabel;
- break;
- case LINE_CODE:
- widget = new GuiLine;
- break;
- case MATH_SPACE_CODE:
- widget = new GuiHSpace(true);
- break;
- case NOMENCL_CODE:
- widget = new GuiNomenclature;
- break;
- case NOMENCL_PRINT_CODE:
- widget = new GuiPrintNomencl;
- break;
- case SPACE_CODE:
- widget = new GuiHSpace(false);
- break;
- case TABULAR_CODE:
- widget = new GuiTabular;
- break;
- case VSPACE_CODE:
- widget = new GuiVSpace;
- break;
- default: return 0;
- }
- InsetParamsDialog * dialog = new InsetParamsDialog(lv, widget);
- return dialog;
-}
-
-
-Dialog * createDialog(GuiView & lv, string const & name)
-{
- return createDialog(lv, insetCode(name));
-}
-
} // namespace frontend
} // namespace lyx