QString weather = condition(source).toLower();
ConditionIcons condition = getConditionIcon(weather, true);
data.insert("Condition Icon", getWeatherIcon(condition));
- kDebug() << "Using daytime icons\n";
+ kDebug() << "Using daytime icons";
} else {
// Night
QString weather = condition(source).toLower();
ConditionIcons condition = getConditionIcon(weather, false);
data.insert("Condition Icon", getWeatherIcon(condition));
- kDebug() << "Using nighttime icons\n";
+ kDebug() << "Using nighttime icons";
}
dataFields = temperature(source);
#include "ion_wettercom.h"
#include <KDebug>
+#include <KDateTime>
#include <KLocalizedDate>
#include <kunitconversion.h>
Plasma::DataEngine::Data data;
data.insert("Place", m_place[source].displayName);
+ QString conditionIcon = "weather-none-available";
+
if (!parseError && !m_weatherData[source].forecasts.isEmpty()) {
data.insert("Station", m_place[source].displayName);
- //data.insert("Condition Icon", "N/A");
//data.insert("Temperature", "N/A");
data.insert("Temperature Unit", QString::number(KTemperature::Celsius));
+ // TODO: data for day period (day or night), see:
+ // kde-extraapps/kdeplasma-addons/wallpapers/weather/TODO
int i = 0;
foreach(WeatherData::ForecastPeriod * forecastPeriod, m_weatherData[source].forecasts) {
if (i > 0) {
.arg(dayWeather.summary).arg(dayWeather.tempHigh)
.arg(dayWeather.tempLow).arg(dayWeather.probability));
i++;
+ conditionIcon = dayWeather.iconName;
if (forecastPeriod->hasNightWeather()) {
WeatherData::ForecastInfo nightWeather = forecastPeriod->getNightWeather();
.arg(nightWeather.tempLow)
.arg(nightWeather.probability));
i++;
+ const KDateTime localdt = KDateTime::currentLocalDateTime();
+ if (localdt.isNightTime()) {
+ conditionIcon = nightWeather.iconName;
+ }
}
}
}
kDebug() << "Something went wrong when parsing weather data for source:" << source;
}
+ data.insert("Condition Icon", conditionIcon);
+
setData(weatherSource, data);
}