diff --git a/src/driver/lcd4l.cpp b/src/driver/lcd4l.cpp index 3771baedc..0ed37d374 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 "/var/run/lcd4linux.pid" @@ -253,8 +253,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); @@ -1016,7 +1016,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 dcbd83c7d..19b404a78 100644 --- a/src/driver/lcd4l.h +++ b/src/driver/lcd4l.h @@ -126,8 +126,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 a9ede371c..4ee1c9fc3 100644 --- a/src/gui/weather.cpp +++ b/src/gui/weather.cpp @@ -79,10 +79,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 c89d4e033..2b30b7ddc 100644 --- a/src/gui/weather.h +++ b/src/gui/weather.h @@ -61,7 +61,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();