Gui: fix locale number formatting propagation

This commit is contained in:
0penBrain
2022-03-27 20:50:49 +02:00
committed by wwmayer
parent b2df95a66d
commit 68d7892fb0
3 changed files with 7 additions and 9 deletions

View File

@@ -95,9 +95,6 @@ InputField::InputField(QWidget * parent)
QObject::connect(this, SIGNAL(textChanged(QString)),
this, SLOT(newInput(QString)));
#ifdef FC_OS_WIN32
setLocale(QLocale());
#endif
}
InputField::~InputField()

View File

@@ -28,6 +28,7 @@
# include <QRegularExpression>
# include <QStringList>
# include <QTranslator>
# include <QWidget>
#endif
#include <App/Application.h>
@@ -275,9 +276,9 @@ void Translator::setSystemLocale() const
void Translator::updateLocaleChange() const
{
// Need to manually send the event so locale change is fully took into account on widgets
auto ev = QEvent(QEvent::LocaleChange);
qApp->sendEvent(qApp, &ev);
for (auto &topLevelWidget: qApp->topLevelWidgets()) {
topLevelWidget->setLocale(QLocale());
}
}
QStringList Translator::directories() const

View File

@@ -139,7 +139,7 @@ public:
{
try {
QString copy = str;
copy.remove(QLocale().groupSeparator());
copy.remove(locale.groupSeparator());
result = Base::Quantity::parse(copy);
value = result.getValue();
@@ -162,8 +162,6 @@ public:
const bool plus = max >= 0;
const bool minus = min <= 0;
auto locale = QLocale();
switch (len) {
case 0:
state = max != min ? QValidator::Intermediate : QValidator::Invalid;
@@ -292,6 +290,7 @@ end:
return res;
}
QLocale locale;
bool validInput;
bool pendingEmit;
QString validStr;
@@ -314,6 +313,7 @@ QuantitySpinBox::QuantitySpinBox(QWidget *parent)
ExpressionSpinBox(this),
d_ptr(new QuantitySpinBoxPrivate(this))
{
d_ptr->locale = locale();
this->setContextMenuPolicy(Qt::DefaultContextMenu);
QObject::connect(lineEdit(), SIGNAL(textChanged(QString)),
this, SLOT(userInput(QString)));