X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2Fqt_helpers.cpp;h=92a052048747837b018e33543298cf6052cf0550;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=a13eb8c7fd7923aeb0d72cc883e946114a04d8a9;hpb=3030a279acfc2fa40412457770940c721f48cf51;p=lyx.git diff --git a/src/frontends/qt4/qt_helpers.cpp b/src/frontends/qt4/qt_helpers.cpp index a13eb8c7fd..92a0520487 100644 --- a/src/frontends/qt4/qt_helpers.cpp +++ b/src/frontends/qt4/qt_helpers.cpp @@ -25,6 +25,7 @@ #include "Length.h" #include "TextClass.h" +#include "support/convert.h" #include "support/debug.h" #include "support/filetools.h" #include "support/foreach.h" @@ -39,6 +40,7 @@ #include #include #include +#include #include #include @@ -78,7 +80,7 @@ string widgetsToLength(QLineEdit const * input, LengthCombo const * combo) Length::UNIT const unit = combo->currentLengthItem(); - return Length(length.toDouble(), unit).asString(); + return Length(length.trimmed().toDouble(), unit).asString(); } @@ -101,7 +103,7 @@ Length widgetsToLength(QLineEdit const * input, QComboBox const * combo) } } - return Length(length.toDouble(), unit); + return Length(length.trimmed().toDouble(), unit); } @@ -109,7 +111,9 @@ void lengthToWidgets(QLineEdit * input, LengthCombo * combo, Length const & len, Length::UNIT /*defaultUnit*/) { combo->setCurrentItem(len.unit()); - input->setText(QString::number(Length(len).value())); + QLocale loc; + loc.setNumberOptions(QLocale::OmitGroupSeparator); + input->setText(loc.toString(Length(len).value())); } @@ -137,6 +141,40 @@ void lengthToWidgets(QLineEdit * input, LengthCombo * combo, } +double widgetToDouble(QLineEdit const * input) +{ + QString const text = input->text(); + if (text.isEmpty()) + return 0.0; + + return text.trimmed().toDouble(); +} + + +string widgetToDoubleStr(QLineEdit const * input) +{ + QString const text = input->text(); + if (text.isEmpty()) + return string(); + + return convert(text.trimmed().toDouble()); +} + + +void doubleToWidget(QLineEdit * input, double const & value, char f, int prec) +{ + QLocale loc; + loc.setNumberOptions(QLocale::OmitGroupSeparator); + input->setText(loc.toString(value, f, prec)); +} + + +void doubleToWidget(QLineEdit * input, string const & value, char f, int prec) +{ + doubleToWidget(input, convert(value), f, prec); +} + + void setValid(QWidget * widget, bool valid) { if (valid) { @@ -175,7 +213,7 @@ void rescanTexStyles() return; // FIXME UNICODE frontend::Alert::error(_("Could not update TeX information"), - bformat(_("The script `%s' failed."), from_utf8(command.absFilename()))); + bformat(_("The script `%1$s' failed."), from_utf8(command.absFilename()))); }