]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiLine.cpp
rename buffer parameter math_number_before to math_numbering_side
[lyx.git] / src / frontends / qt4 / GuiLine.cpp
index e411835b47bb54a3ea6c440642633dd9fc6964ab..2a8b9de2bc16429900fdb3d98c6da4af9c8037f0 100644 (file)
@@ -3,6 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
+ * \author Abdelrazak Younes
  * \author Uwe Stöhr
  *
  * Full author contact details are available in file CREDITS.
@@ -58,33 +59,25 @@ GuiLine::GuiLine(QWidget * parent) : InsetParamsWidget(parent)
        OffsetLE->setValidator(unsignedGlueLengthValidator(OffsetLE));
        WidthLE->setValidator(unsignedGlueLengthValidator(WidthLE));
        HeightLE->setValidator(unsignedGlueLengthValidator(HeightLE));
+
+       OffsetLE->setText("0.5");
+       OffsetUnitCO->setCurrentItem(Length::EX);
+       WidthLE->setText("100");
+       WidthUnitCO->setCurrentItem(Length::PCW);
+       HeightLE->setText("1");
+       HeightUnitCO->setCurrentItem(Length::PT);
+       setFocusProxy(WidthLE);
 }
 
 
 docstring GuiLine::dialogToParams() const
 {
-       docstring offset = from_utf8(widgetsToLength(OffsetLE, OffsetUnitCO));
        InsetCommandParams params(insetCode());
-       params["offset"] = offset;
-
-       // negative widths are senseless
-       string width_str = fromqstr(WidthLE->text());
-       if (width_str[0] == '-')
-               width_str.erase(0,1);
-       WidthLE->setText(toqstr(width_str));
-       docstring width = from_utf8(widgetsToLength(WidthLE, WidthUnitCO));
-       params["width"] = width;
-
-       // negative heights are senseless
-       string height_str = fromqstr(HeightLE->text());
-       if (height_str[0] == '-')
-               height_str.erase(0,1);
-       HeightLE->setText(toqstr(height_str));
-       docstring height = from_utf8(widgetsToLength(HeightLE, HeightUnitCO));
-       params["height"] = height;
-
+       params["offset"] = from_utf8(widgetsToLength(OffsetLE, OffsetUnitCO));
+       params["width"] = from_utf8(widgetsToLength(WidthLE, WidthUnitCO));
+       params["height"] = from_utf8(widgetsToLength(HeightLE, HeightUnitCO));
        params.setCmdName("rule");
-       return from_ascii(InsetLine::params2string("line", params));
+       return from_ascii(InsetLine::params2string(params));
 }
 
 
@@ -107,12 +100,22 @@ void GuiLine::paramsToDialog(Inset const * inset)
 }
 
 
-bool GuiLine::checkWidgets() const
+bool GuiLine::checkWidgets(bool readonly) const
 {
+       WidthLE->setReadOnly(readonly);
+       HeightLE->setReadOnly(readonly);
+       OffsetLE->setReadOnly(readonly);
+       OffsetUnitCO->setEnabled(!readonly);
+       HeightUnitCO->setEnabled(!readonly);
+       WidthUnitCO->setEnabled(!readonly);
        if (!InsetParamsWidget::checkWidgets())
                return false;
-       // FIXME: Is there something else to check?
-       // Transfer some code from dialogToParams()?
+       // FIXME: this should be handled in unsignedGlueLengthValidator!
+       if (WidthLE->text().startsWith('-'))
+               return false;
+       // FIXME: this should be handled in unsignedGlueLengthValidator!
+       if (HeightLE->text().startsWith('-'))
+               return false;
        return true;
 }