]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt/InsetParamsDialog.cpp
Few string fixes from Dan.
[lyx.git] / src / frontends / qt / InsetParamsDialog.cpp
index 5cb25ac0601360d5c5a90b32a2e305e134b41a0f..67cbfdd94e1f5182c5ad791a3c3f56f935fc17dd 100644 (file)
@@ -59,7 +59,7 @@ namespace frontend {
 
 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.
@@ -80,6 +80,8 @@ InsetParamsDialog::InsetParamsDialog(GuiView & lv, InsetParamsWidget * widget)
        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);
@@ -87,6 +89,8 @@ InsetParamsDialog::InsetParamsDialog(GuiView & lv, InsetParamsWidget * widget)
        setFocusProxy(widget);
        newPB = buttonBox->addButton(qt_("Ne&w Inset"),
                             QDialogButtonBox::ActionRole);
+       // fix height to minimum
+       setFixedHeight(sizeHint().height());
 }
 
 InsetParamsDialog::~InsetParamsDialog()
@@ -193,20 +197,22 @@ 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<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());
        }
@@ -259,71 +265,6 @@ void InsetParamsDialog::updateView()
        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