[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/dataengines/weather/ions
From: Shawn Starr <shawn.starr () rogers ! com>
Date: 2007-10-15 2:34:36
Message-ID: 1192415676.538369.20486.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 725236 by spstarr:
Return units also for: temperature, dewpoint, visibility and pressure. Add some logic \
not to set the units if the base value is N/A
M +34 -8 ion_noaa.cpp
M +1 -1 ion_noaa.h
--- trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_noaa.cpp \
#725235:725236 @@ -383,6 +383,7 @@
setData(source, "Current Conditions", this->condition(source));
dataFields = this->temperature(source);
setData(source, "Temperature", dataFields["temperature"]);
+ setData(source, "Temperature Unit", dataFields["temperatureUnit"]);
// Do we have a comfort temperature? if so display it
if (dataFields["comfortTemperature"] != "N/A") {
@@ -395,18 +396,36 @@
}
setData(source, "Dewpoint", this->dewpoint(source));
- setData(source, "Pressure", this->pressure(source));
+ setData(source, "Dewpoint Unit", dataFields["temperatureUnit"]);
+
+ dataFields = this->pressure(source);
+ setData(source, "Pressure", dataFields["pressure"]);
+
+ if (dataFields["pressure"] != "N/A") {
+ setData(source, "Pressure Unit", dataFields["pressureUnit"]);
+ }
+
dataFields = this->visibility(source);
setData(source, "Visibility", dataFields["visibility"]);
- setData(source, "Visibility Unit", dataFields["visibilityUnit"]);
+ if (dataFields["visibility"] != "N/A") {
+ setData(source, "Visibility Unit", dataFields["visibilityUnit"]);
+ }
+
setData(source, "Humidity", this->humidity(source));
dataFields = this->wind(source);
setData(source, "Wind Speed", dataFields["windSpeed"]);
- setData(source, "Wind Speed Unit", dataFields["windUnit"]);
+
+ if (dataFields["windSpeed"] != "Calm") {
+ setData(source, "Wind Speed Unit", dataFields["windUnit"]);
+ }
+
setData(source, "Wind Gust", dataFields["windGust"]);
- setData(source, "Wind Gust Unit", dataFields["windGustUnit"]);
+ if (dataFields["windGust"] != "N/A") {
+ setData(source, "Wind Gust Unit", dataFields["windGustUnit"]);
+ }
+
setData(source, "Wind Direction", dataFields["windDirection"]);
setData(source, "Credit", "NOAA National Weather Service");
@@ -477,8 +496,10 @@
QMap<QString, QString> temperatureInfo;
if (d->m_useMetric) {
temperatureInfo.insert("temperature", \
QString("%1").arg(d->m_weatherData[source].temperature_C)); + \
temperatureInfo.insert("temperatureUnit", QString("%1C").arg(QChar(176))); } else {
temperatureInfo.insert("temperature", \
QString("%1").arg(d->m_weatherData[source].temperature_F)); + \
temperatureInfo.insert("temperatureUnit", QString("%1F").arg(QChar(176))); }
temperatureInfo.insert("comfortTemperature", "N/A");
@@ -500,16 +521,21 @@
return temperatureInfo;
}
-QString NOAAIon::pressure(const QString& source)
+QMap<QString, QString> NOAAIon::pressure(const QString& source)
{
+ QMap<QString, QString> pressureInfo;
if (d->m_weatherData[source].pressure.isEmpty()) {
- return QString("N/A");
+ pressureInfo.insert("pressure", "N/A");
+ return pressureInfo;
}
if (d->m_useMetric) {
- return QString("%1").arg(QString::number(d->m_formula.inchesToKilopascals(d->m_weatherData[source].pressure.toFloat()), \
'f', 1)); + pressureInfo.insert("pressure", \
QString("%1").arg(QString::number(d->m_formula.inchesToKilopascals(d->m_weatherData[source].pressure.toFloat()), \
'f', 1))); + pressureInfo.insert("pressureUnit", "kPa");
} else {
- return QString("%1").arg(d->m_weatherData[source].pressure);
+ pressureInfo.insert("pressure", \
QString("%1").arg(d->m_weatherData[source].pressure)); + \
pressureInfo.insert("pressureUnit", "in"); }
+ return pressureInfo;
}
QMap<QString, QString> NOAAIon::wind(const QString& source)
--- trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_noaa.h \
#725235:725236 @@ -96,7 +96,7 @@
QString dewpoint(const QString& source);
QString humidity(const QString& source);
QMap<QString, QString> visibility(const QString& source);
- QString pressure(const QString& source);
+ QMap<QString, QString> pressure(const QString& source);
QMap<QString, QString> wind(const QString& source);
// Load and Parse the place XML listing
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic