[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeplasma-addons/applets/weather
From: Shawn Starr <shawn.starr () rogers ! com>
Date: 2009-07-10 17:04:17
Message-ID: 1247245457.969860.29657.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 994517 by spstarr:
Don't force numerals to be QStrings, breaks locale numeric formatting
M +11 -5 weatherapplet.cpp
--- trunk/KDE/kdeplasma-addons/applets/weather/weatherapplet.cpp #994516:994517
@@ -40,7 +40,13 @@
#include <Plasma/ToolTipManager>
#include <weatherview.h>
+#include <cmath>
+template <typename T> T clampValue(T value, int decimals)
+{
+ const T mul = std::pow(10, decimals); return int(value * mul) / mul;
+}
+
WeatherApplet::WeatherApplet(QObject *parent, const QVariantList &args)
: WeatherPopupApplet(parent, args),
m_locationLabel(new Plasma::Label),
@@ -234,7 +240,7 @@
return i18nc("temperature, unit", "%1%2", tempNumber, \
WeatherUtils::getUnitString(format, false)); }
} else {
- QString formattedTemp = QString::number(temp, 'f', 1);
+ float formattedTemp = clampValue(temp, 1);
if (degreesOnly) {
return i18nc("temperature, unit", "%1%2", formattedTemp, \
WeatherUtils::getUnitString(WeatherUtils::DegreeUnit, false)); } else {
@@ -491,7 +497,7 @@
if (isValidData(data["Pressure"])) {
QStandardItem *dataPressure = new QStandardItem();
- dataPressure->setText(i18nc("pressure, unit","Pressure: %1 %2", \
QString::number(WeatherUtils::convertPressure(data["Pressure"].toDouble(), \
data["Pressure Unit"].toInt(), pressureUnitInt()), 'f', 2), pressureUnit())); + \
dataPressure->setText(i18nc("pressure, unit","Pressure: %1 %2", \
clampValue(WeatherUtils::convertPressure(data["Pressure"].toDouble(), data["Pressure \
Unit"].toInt(), pressureUnitInt()), 2), pressureUnit())); \
m_detailsModel->appendRow(dataPressure); }
@@ -507,7 +513,7 @@
double visibility = data["Visibility"].toDouble(&isNumeric);
Q_UNUSED(visibility)
if (isNumeric) {
- dataVisibility->setText(i18nc("distance, unit","Visibility: %1 %2", \
QString::number(WeatherUtils::convertDistance(data["Visibility"].toDouble(), \
data["Visibility Unit"].toInt(), visibilityUnitInt()), 'f', 1), visibilityUnit())); + \
dataVisibility->setText(i18nc("distance, unit","Visibility: %1 %2", \
clampValue(WeatherUtils::convertDistance(data["Visibility"].toDouble(), \
data["Visibility Unit"].toInt(), visibilityUnitInt()), 1), visibilityUnit())); } \
else {
dataVisibility->setText(i18n("Visibility: %1", \
data["Visibility"].toString())); }
@@ -523,7 +529,7 @@
if (data["Wind Speed"] != "N/A" && data["Wind Speed"].toDouble() != 0 && \
data["Wind Speed"] != "Calm") {
m_windIcon->setText(i18nc("wind direction, speed","%1 %2 %3", data["Wind \
Direction"].toString(),
- QString::number(WeatherUtils::convertSpeed(data["Wind \
Speed"].toDouble(), data["Wind Speed Unit"].toInt(), speedUnitInt()), 'f', 1), \
speedUnit())); + clampValue(WeatherUtils::convertSpeed(data["Wind \
Speed"].toDouble(), data["Wind Speed Unit"].toInt(), speedUnitInt()), 1), \
speedUnit())); } else {
if (data["Wind Speed"] == "N/A") {
m_windIcon->setText(i18nc("Not available","N/A"));
@@ -542,7 +548,7 @@
if (isValidData(data["Wind Gust"])) {
// Convert the wind format for nonstandard types
QStandardItem *dataGust = new QStandardItem();
- dataGust->setText(i18n("Wind Gust: %1 %2", \
QString::number(WeatherUtils::convertSpeed(data["Wind Gust"].toDouble(), data["Wind \
Gust Unit"].toInt(), speedUnitInt()), 'f', 1), speedUnit())); + \
dataGust->setText(i18n("Wind Gust: %1 %2", \
clampValue(WeatherUtils::convertSpeed(data["Wind Gust"].toDouble(), data["Wind Gust \
Unit"].toInt(), speedUnitInt()), 1), speedUnit())); \
m_detailsModel->appendRow(dataGust); }
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic