[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:14:24
Message-ID: 1192414464.988059.19986.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 725233 by spstarr:
constify noaa ion, add visibility unit data value, rename validLocation to validate
M +60 -51 ion_noaa.cpp
M +15 -15 ion_noaa.h
--- trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_noaa.cpp \
#725232:725233 @@ -80,9 +80,9 @@
getXMLSetup();
}
-bool NOAAIon::validLocation(QString keyName)
+bool NOAAIon::validate(const QString& source) const
{
- QHash<QString, QString>::const_iterator it = d->m_locations.find(keyName);
+ QHash<QString, QString>::const_iterator it = d->m_locations.find(source);
if (it != d->m_locations.end()) {
return true;
}
@@ -396,7 +396,10 @@
setData(source, "Dewpoint", this->dewpoint(source));
setData(source, "Pressure", this->pressure(source));
- setData(source, "Visibility", this->visibility(source));
+ dataFields = this->visibility(source);
+ setData(source, "Visibility", dataFields["visibility"]);
+ setData(source, "Visibility Unit", dataFields["visibilityUnit"]);
+
setData(source, "Humidity", this->humidity(source));
dataFields = this->wind(source);
@@ -409,144 +412,150 @@
setData(source, "Credit", "NOAA National Weather Service");
}
-QString NOAAIon::country(QString key)
+QString NOAAIon::country(const QString& source)
{
- Q_UNUSED(key);
- return QString("USA");
+ Q_UNUSED(source);
+ return QString("United States of America");
}
-QString NOAAIon::place(QString key)
+QString NOAAIon::place(const QString& source)
{
- return d->m_weatherData[key].locationName;
+ return d->m_weatherData[source].locationName;
}
-QString NOAAIon::station(QString key)
+QString NOAAIon::station(const QString& source)
{
- return d->m_weatherData[key].stationID;
+ return d->m_weatherData[source].stationID;
}
-QString NOAAIon::observationTime(QString key)
+QString NOAAIon::observationTime(const QString& source)
{
- return d->m_weatherData[key].observationTime;
+ return d->m_weatherData[source].observationTime;
}
-QString NOAAIon::condition(QString key)
+QString NOAAIon::condition(const QString& source)
{
- if (d->m_weatherData[key].weather.isEmpty() || d->m_weatherData[key].weather == \
"NA") {
- d->m_weatherData[key].weather = "N/A";
+ if (d->m_weatherData[source].weather.isEmpty() || \
d->m_weatherData[source].weather == "NA") { + d->m_weatherData[source].weather \
= "N/A"; }
- return d->m_weatherData[key].weather;
+ return d->m_weatherData[source].weather;
}
-QString NOAAIon::dewpoint(QString key)
+QString NOAAIon::dewpoint(const QString& source)
{
if (d->m_useMetric) {
- return QString("%1").arg(d->m_weatherData[key].dewpoint_C);
+ return QString("%1").arg(d->m_weatherData[source].dewpoint_C);
}
- return QString("%1").arg(d->m_weatherData[key].dewpoint_F);
+ return QString("%1").arg(d->m_weatherData[source].dewpoint_F);
}
-QString NOAAIon::humidity(QString key)
+QString NOAAIon::humidity(const QString& source)
{
- if (d->m_weatherData[key].humidity == "NA") {
+ if (d->m_weatherData[source].humidity == "NA") {
return QString("N/A");
} else {
- return QString("%1%").arg(d->m_weatherData[key].humidity);
+ return QString("%1%").arg(d->m_weatherData[source].humidity);
}
}
-QString NOAAIon::visibility(QString key)
+QMap<QString, QString> NOAAIon::visibility(const QString& source)
{
- if (d->m_weatherData[key].visibility.isEmpty()) {
- return QString("N/A");
+ QMap<QString, QString> visibilityInfo;
+ if (d->m_weatherData[source].visibility.isEmpty()) {
+ visibilityInfo.insert("visibility", QString("N/A"));
+ return visibilityInfo;
}
if (d->m_useMetric) {
- return QString("%1").arg(QString::number(d->m_formula.milesToKM(d->m_weatherData[key].visibility.toFloat()), \
'f', 1)); + visibilityInfo.insert("visibility", \
QString("%1").arg(QString::number(d->m_formula.milesToKM(d->m_weatherData[source].visibility.toFloat()), \
'f', 1))); + visibilityInfo.insert("visibilityUnit", "km");
+ return visibilityInfo;
}
- return QString("%1").arg(d->m_weatherData[key].visibility);
+ visibilityInfo.insert("visibility", \
QString("%1").arg(d->m_weatherData[source].visibility)); + \
visibilityInfo.insert("visibilityUnit", "mi"); + return visibilityInfo;
}
-QMap<QString, QString> NOAAIon::temperature(QString key)
+QMap<QString, QString> NOAAIon::temperature(const QString& source)
{
QMap<QString, QString> temperatureInfo;
if (d->m_useMetric) {
- temperatureInfo.insert("temperature", \
QString("%1").arg(d->m_weatherData[key].temperature_C)); + \
temperatureInfo.insert("temperature", \
QString("%1").arg(d->m_weatherData[source].temperature_C)); } else {
- temperatureInfo.insert("temperature", \
QString("%1").arg(d->m_weatherData[key].temperature_F)); + \
temperatureInfo.insert("temperature", \
QString("%1").arg(d->m_weatherData[source].temperature_F)); }
temperatureInfo.insert("comfortTemperature", "N/A");
- if (d->m_weatherData[key].heatindex_F != "NA" && \
d->m_weatherData[key].windchill_F == "NA") { + if \
(d->m_weatherData[source].heatindex_F != "NA" && d->m_weatherData[source].windchill_F \
== "NA") { if (d->m_useMetric) {
- temperatureInfo.insert("comfortTemperature", \
d->m_weatherData[key].heatindex_C); + \
temperatureInfo.insert("comfortTemperature", d->m_weatherData[source].heatindex_C); \
} else {
- temperatureInfo.insert("comfortTemperature", \
d->m_weatherData[key].heatindex_F); + \
temperatureInfo.insert("comfortTemperature", d->m_weatherData[source].heatindex_F); \
} }
- if (d->m_weatherData[key].windchill_F != "NA" && \
d->m_weatherData[key].heatindex_F == "NA") { + if \
(d->m_weatherData[source].windchill_F != "NA" && d->m_weatherData[source].heatindex_F \
== "NA") { if (d->m_useMetric) {
- temperatureInfo.insert("comfortTemperature", \
d->m_weatherData[key].windchill_C); + \
temperatureInfo.insert("comfortTemperature", d->m_weatherData[source].windchill_C); \
} else {
- temperatureInfo.insert("comfortTemperature", \
d->m_weatherData[key].windchill_F); + \
temperatureInfo.insert("comfortTemperature", d->m_weatherData[source].windchill_F); \
} }
return temperatureInfo;
}
-QString NOAAIon::pressure(QString key)
+QString NOAAIon::pressure(const QString& source)
{
- if (d->m_weatherData[key].pressure.isEmpty()) {
+ if (d->m_weatherData[source].pressure.isEmpty()) {
return QString("N/A");
}
if (d->m_useMetric) {
- return QString("%1").arg(QString::number(d->m_formula.inchesToKilopascals(d->m_weatherData[key].pressure.toFloat()), \
'f', 1)); + return \
QString("%1").arg(QString::number(d->m_formula.inchesToKilopascals(d->m_weatherData[source].pressure.toFloat()), \
'f', 1)); } else {
- return QString("%1").arg(d->m_weatherData[key].pressure);
+ return QString("%1").arg(d->m_weatherData[source].pressure);
}
}
-QMap<QString, QString> NOAAIon::wind(QString key)
+QMap<QString, QString> NOAAIon::wind(const QString& source)
{
QMap<QString, QString> windInfo;
// May not have any winds
- if (d->m_weatherData[key].windSpeed == "NA") {
+ if (d->m_weatherData[source].windSpeed == "NA") {
windInfo.insert("windSpeed", "Calm");
} else {
if (d->m_useMetric) {
if (d->m_windInMeters) {
- windInfo.insert("windSpeed", \
QString("%1").arg(QString::number(d->m_formula.milesToMS(d->m_weatherData[key].windSpeed.toFloat()), \
'f', 2))); + windInfo.insert("windSpeed", \
QString("%1").arg(QString::number(d->m_formula.milesToMS(d->m_weatherData[source].windSpeed.toFloat()), \
'f', 2))); windInfo.insert("windUnit", "m/s");
} else {
- windInfo.insert("windSpeed", \
QString("%1").arg(QString::number(d->m_formula.milesToKM(d->m_weatherData[key].windSpeed.toFloat()), \
'f', 1))); + windInfo.insert("windSpeed", \
QString("%1").arg(QString::number(d->m_formula.milesToKM(d->m_weatherData[source].windSpeed.toFloat()), \
'f', 1))); windInfo.insert("windUnit", "km/h");
}
} else {
- windInfo.insert("windSpeed", \
QString("%1").arg(QString::number(d->m_weatherData[key].windSpeed.toFloat(), 'f', \
1))); + windInfo.insert("windSpeed", \
QString("%1").arg(QString::number(d->m_weatherData[source].windSpeed.toFloat(), 'f', \
1))); windInfo.insert("windUnit", "mph");
}
}
// May not always have gusty winds
- if (d->m_weatherData[key].windGust == "NA") {
+ if (d->m_weatherData[source].windGust == "NA") {
windInfo.insert("windGust", "N/A");
} else {
if (d->m_useMetric) {
if (d->m_windInMeters) {
- windInfo.insert("windGust", \
QString("%1").arg(QString::number(d->m_formula.milesToMS(d->m_weatherData[key].windGust.toFloat()), \
'f', 2))); + windInfo.insert("windGust", \
QString("%1").arg(QString::number(d->m_formula.milesToMS(d->m_weatherData[source].windGust.toFloat()), \
'f', 2))); windInfo.insert("windGustUnit", "m/s");
} else {
- windInfo.insert("windGust", \
QString("%1").arg(QString::number(d->m_formula.milesToKM(d->m_weatherData[key].windGust.toFloat()), \
'f', 1))); + windInfo.insert("windGust", \
QString("%1").arg(QString::number(d->m_formula.milesToKM(d->m_weatherData[source].windGust.toFloat()), \
'f', 1))); windInfo.insert("windGustUnit", "km/h");
}
} else {
- windInfo.insert("windGust", \
QString("%1").arg(QString::number(d->m_weatherData[key].windGust.toFloat(), 'f', \
1))); + windInfo.insert("windGust", \
QString("%1").arg(QString::number(d->m_weatherData[source].windGust.toFloat(), 'f', \
1))); windInfo.insert("windGustUnit", "mph");
}
}
- if (d->m_weatherData[key].windDirection.isEmpty()) {
+ if (d->m_weatherData[source].windDirection.isEmpty()) {
windInfo.insert("windDirection", "N/A");
} else {
- windInfo.insert("windDirection", d->m_weatherData[key].windDirection);
+ windInfo.insert("windDirection", d->m_weatherData[source].windDirection);
}
return windInfo;
}
--- trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/ion_noaa.h \
#725232:725233 @@ -69,7 +69,7 @@
public:
NOAAIon(QObject *parent, const QVariantList &args);
~NOAAIon();
- void init(); // Setup the city location, fetching the correct URL name.
+ void init(void); // Setup the city location, fetching the correct URL name.
void option(int option, QVariant value);
bool updateIonSource(const QString& source); // Sync data source with Applet
void updateWeather(const QString& source);
@@ -85,19 +85,19 @@
/* NOAA Methods - Internal for Ion */
// Place information
- QString country(QString key);
- QString place(QString key);
- QString station(QString key);
+ QString country(const QString& source);
+ QString place(const QString& source);
+ QString station(const QString& source);
// Current Conditions Weather info
- QString observationTime(QString key);
- QString condition(QString key);
- QMap<QString, QString> temperature(QString key);
- QString dewpoint(QString key);
- QString humidity(QString key);
- QString visibility(QString key);
- QString pressure(QString key);
- QMap<QString, QString> wind(QString key);
+ QString observationTime(const QString& source);
+ QString condition(const QString& source);
+ QMap<QString, QString> temperature(const QString& source);
+ 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> wind(const QString& source);
// Load and Parse the place XML listing
void getXMLSetup(void);
@@ -108,15 +108,15 @@
bool readXMLData(const QString& source, QXmlStreamReader& xml);
// Check if place specified is valid or not
- bool validLocation(QString key);
+ bool validate(const QString& source) const;
// Catchall for unknown XML tags
void parseUnknownElement(QXmlStreamReader& xml);
// Parse weather XML data
WeatherData parseWeatherSite(WeatherData& data, QXmlStreamReader& xml);
- void parseStationID();
- void parseStationList();
+ void parseStationID(void);
+ void parseStationList(void);
private:
class Private;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic