From 4031b874816a7011162b02e504ae7cab65abec11 Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Mon, 22 Nov 2010 16:23:17 +0100 Subject: [PATCH] WIP: QDoubleValidator: do not always return Acceptable Trying to be more consistent with QString::toDouble() Reviewed-by: pending --- src/corelib/tools/qlocale.cpp | 2 +- src/corelib/tools/qstring.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 6b1de5e..fc6bf35 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -4464,7 +4464,7 @@ bool QLocalePrivate::validateChars(const QString &str, NumberMode numMode, QByte } lastWasE = c == 'e'; - if (c != ',') + if (c != ',' || numMode != IntegerMode) buff->append(c); } diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index d4a1248..196a78e 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -5773,7 +5773,7 @@ double QString::toDouble(bool *ok) const { bool my_ok; QLocale def_locale; - double result = def_locale.d()->stringToDouble(*this, &my_ok, QLocalePrivate::FailOnGroupSeparators); + double result = def_locale.d()->stringToDouble(*this, &my_ok, QLocalePrivate::ParseGroupSeparators); if (my_ok) { if (ok != 0) *ok = true; @@ -5781,7 +5781,7 @@ double QString::toDouble(bool *ok) const } QLocale c_locale(QLocale::C); - return c_locale.d()->stringToDouble(*this, ok, QLocalePrivate::FailOnGroupSeparators); + return c_locale.d()->stringToDouble(*this, ok, QLocalePrivate::ParseGroupSeparators); } /*! -- 1.7.3.2