diff --git a/src/driver/lcd4l.cpp b/src/driver/lcd4l.cpp index b7f0704d2..51283c6ee 100644 --- a/src/driver/lcd4l.cpp +++ b/src/driver/lcd4l.cpp @@ -104,8 +104,8 @@ extern CPictureViewer *g_PicViewer; #define FCOLOR2 LCD_DATADIR "fcolor2" #define PBCOLOR LCD_DATADIR "pbcolor" -#define WEATHER_TEMP LCD_DATADIR "weather_temp" -#define WEATHER_ICON LCD_DATADIR "weather_icon" +#define WEATHER_TEMP LCD_DATADIR "weather_temp" +#define WEATHER_ICON LCD_DATADIR "weather_icon" #define FLAG_LCD4LINUX "/tmp/.lcd4linux" #define PIDFILE "/tmp/lcd4linux.pid" @@ -298,8 +298,8 @@ void CLCD4l::Init() m_Start = "00:00"; m_End = "00:00"; - m_wtemp = ""; - m_wicon = ""; + m_wtemp = ""; + m_wicon = ""; if (!access(LCD_DATADIR, F_OK) == 0) mkdir(LCD_DATADIR, 0755); @@ -1053,7 +1053,7 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) strcpy(m_Duration, Duration); } - if (g_settings.weather_enabled && CWeather::getInstance()->checkUpdate()) + if (g_settings.weather_enabled && CWeather::getInstance()->checkUpdate(firstRun)) { std::string wtemp = CWeather::getInstance()->getActTemp(); std::string wicon = CWeather::getInstance()->getActIcon(); diff --git a/src/driver/lcd4l.h b/src/driver/lcd4l.h index a6b6f6789..a6f31d7fa 100644 --- a/src/driver/lcd4l.h +++ b/src/driver/lcd4l.h @@ -128,8 +128,8 @@ class CLCD4l std::string m_fcolor2; std::string m_pbcolor; - std::string m_wtemp; - std::string m_wicon; + std::string m_wtemp; + std::string m_wicon; }; #endif diff --git a/src/gui/weather.cpp b/src/gui/weather.cpp index 665f308c3..ebc4c523e 100644 --- a/src/gui/weather.cpp +++ b/src/gui/weather.cpp @@ -78,10 +78,10 @@ void CWeather::setCoords(std::string new_coords, std::string new_city) } } -bool CWeather::checkUpdate() +bool CWeather::checkUpdate(bool forceUpdate) { time_t current_time = time(NULL); - if (difftime(current_time,last_time) > MINUTES) + if (forceUpdate || (difftime(current_time,last_time) > MINUTES)) return GetWeatherDetails(); else return false; diff --git a/src/gui/weather.h b/src/gui/weather.h index 53536be94..704deb6b8 100644 --- a/src/gui/weather.h +++ b/src/gui/weather.h @@ -60,7 +60,7 @@ public: static CWeather* getInstance(); CWeather(); ~CWeather(); - bool checkUpdate(); + bool checkUpdate(bool forceUpdate = false); void setCoords(std::string new_coords, std::string new_city = "Unknown"); void show(int x = 50, int y = 50); void hide();