]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiVSpace.cpp
rename buffer parameter math_number_before to math_numbering_side
[lyx.git] / src / frontends / qt4 / GuiVSpace.cpp
index 984464a9b83593193dfd802da33418bb0de72f91..6eec95846bcf2000eb67ff4e900f03b7868f042e 100644 (file)
@@ -21,7 +21,6 @@
 #include "qt_helpers.h"
 #include "Validator.h"
 
-#include "FuncRequest.h"
 #include "Spacing.h"
 #include "VSpace.h"
 
@@ -54,10 +53,14 @@ GuiVSpace::GuiVSpace(QWidget * parent) : InsetParamsWidget(parent)
        connect(spacingCO, SIGNAL(activated(int)),
                this, SLOT(enableCustom(int)));
 
-       valueLE->setValidator(unsignedGlueLengthValidator(valueLE));
+       // Set up a signed glue length validator
+       LengthValidator * v = new LengthValidator(valueLE);
+       v->setBottom(GlueLength());
+       valueLE->setValidator(v);
 
        // initialize the length validator
        addCheckedWidget(valueLE, valueL);
+       enableCustom(spacingCO->currentIndex());
 }
 
 
@@ -65,7 +68,11 @@ void GuiVSpace::enableCustom(int selection)
 {
        bool const enable = selection == 5;
        valueLE->setEnabled(enable);
+       if (enable)
+               valueLE->setFocus();
+       valueL->setEnabled(enable);
        unitCO->setEnabled(enable);
+       changed();
 }
 
 
@@ -139,6 +146,26 @@ void GuiVSpace::paramsToDialog(Inset const * inset)
        InsetVSpace const * vs = static_cast<InsetVSpace const *>(inset);
        VSpace const & params = vs->space();
        setWidgetsFromVSpace(params, spacingCO, valueLE, unitCO, keepCB);
+       enableCustom(spacingCO->currentIndex());
+}
+
+
+bool GuiVSpace::checkWidgets(bool readonly) const
+{
+       valueLE->setReadOnly(readonly);
+       keepCB->setEnabled(!readonly);
+
+       if (readonly) {
+               spacingCO->setEnabled(false);
+               unitCO->setEnabled(false);
+       } else {
+               bool const enable = (spacingCO->currentIndex() == 5);
+               valueLE->setEnabled(enable);
+               valueL->setEnabled(enable);
+               unitCO->setEnabled(enable);
+       }
+
+       return InsetParamsWidget::checkWidgets();
 }
 
 } // namespace frontend