summaryrefslogtreecommitdiffstats
path: root/tests/manual/qlocale
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2011-02-25 15:08:57 (GMT)
committerDenis Dzyubenko <denis.dzyubenko@nokia.com>2011-02-25 17:51:26 (GMT)
commit0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df (patch)
tree76f7d93f5babfaae6fbeef8f62f26866c8b4108f /tests/manual/qlocale
parent08868df5e94a5b89d9f8ce904e97b43a48313fc1 (diff)
downloadQt-0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df.zip
Qt-0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df.tar.gz
Qt-0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df.tar.bz2
Improved currency value to string conversion in QLocale.
Added a second, optional, argument to QLocale::toCurrencyString() that represents a currency symbol that is supposed to be added to the formatted string. Task-number: QTBUG-17100 Reviewed-by: Zeno Albisser Reviewed-by: Olivier Goffart
Diffstat (limited to 'tests/manual/qlocale')
-rw-r--r--tests/manual/qlocale/currency.cpp29
-rw-r--r--tests/manual/qlocale/currency.h4
2 files changed, 23 insertions, 10 deletions
diff --git a/tests/manual/qlocale/currency.cpp b/tests/manual/qlocale/currency.cpp
index c55df3d..4ef157c 100644
--- a/tests/manual/qlocale/currency.cpp
+++ b/tests/manual/qlocale/currency.cpp
@@ -52,37 +52,48 @@ CurrencyWidget::CurrencyWidget()
currencyName = new QLineEdit;
currencyFormattingLabel = new QLabel("Currency formatting:");
currencyFormattingValue = new QLineEdit(QString::number(1234.56, 'f', 2));
+ currencyFormattingSymbolLabel = new QLabel("currency:");
+ currencyFormattingSymbol = new QLineEdit;
currencyFormatting = new QLineEdit;
+ currencyFormattingValue->setFixedWidth(150);
+ currencyFormattingSymbol->setFixedWidth(50);
+
l->addWidget(currencySymbolLabel, 0, 0);
- l->addWidget(currencySymbol, 0, 1, 1, 2);
+ l->addWidget(currencySymbol, 0, 1, 1, 4);
l->addWidget(currencyISOLabel, 1, 0);
- l->addWidget(currencyISO, 1, 1, 1, 2);
+ l->addWidget(currencyISO, 1, 1, 1, 4);
l->addWidget(currencyNameLabel, 2, 0);
- l->addWidget(currencyName, 2, 1, 1, 2);
+ l->addWidget(currencyName, 2, 1, 1, 4);
l->addWidget(currencyFormattingLabel, 3, 0);
l->addWidget(currencyFormattingValue, 3, 1);
- l->addWidget(currencyFormatting, 3, 2);
+ l->addWidget(currencyFormattingSymbolLabel, 3, 2);
+ l->addWidget(currencyFormattingSymbol, 3, 3);
+ l->addWidget(currencyFormatting, 3, 4);
QVBoxLayout *v = new QVBoxLayout(this);
v->addLayout(l);
v->addStretch();
+ connect(currencyFormattingSymbol, SIGNAL(textChanged(QString)),
+ this, SLOT(updateCurrencyFormatting()));
connect(currencyFormattingValue, SIGNAL(textChanged(QString)),
- this, SLOT(updateCurrencyFormatting(QString)));
+ this, SLOT(updateCurrencyFormatting()));
}
-void CurrencyWidget::updateCurrencyFormatting(QString value)
+void CurrencyWidget::updateCurrencyFormatting()
{
QString result;
bool ok;
+ QString symbol = currencyFormattingSymbol->text();
+ QString value = currencyFormattingValue->text();
int i = value.toInt(&ok);
if (ok) {
- result = locale().toCurrencyString(i);
+ result = locale().toCurrencyString(i, symbol);
} else {
double d = value.toDouble(&ok);
if (ok)
- result = locale().toCurrencyString(d);
+ result = locale().toCurrencyString(d, symbol);
}
currencyFormatting->setText(result);
}
@@ -93,6 +104,6 @@ void CurrencyWidget::localeChanged(QLocale locale)
currencySymbol->setText(locale.currencySymbol());
currencyISO->setText(locale.currencySymbol(QLocale::CurrencyIsoCode));
currencyName->setText(locale.currencySymbol(QLocale::CurrencyDisplayName));
- updateCurrencyFormatting(currencyFormattingValue->text());
+ updateCurrencyFormatting();
}
diff --git a/tests/manual/qlocale/currency.h b/tests/manual/qlocale/currency.h
index 5e43689..3a12553 100644
--- a/tests/manual/qlocale/currency.h
+++ b/tests/manual/qlocale/currency.h
@@ -58,11 +58,13 @@ private:
QLineEdit *currencyName;
QLabel *currencyFormattingLabel;
QLineEdit *currencyFormattingValue;
+ QLabel *currencyFormattingSymbolLabel;
+ QLineEdit *currencyFormattingSymbol;
QLineEdit *currencyFormatting;
private slots:
void localeChanged(QLocale locale);
- void updateCurrencyFormatting(QString);
+ void updateCurrencyFormatting();
};
#endif