From 0e7033dd09c78eed673bfcde768483f6ad925ff7 Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Sat, 13 Nov 2021 14:17:53 +0200 Subject: KWeather: updated icon handling. The newly added class abstracts away icon names from the main code and has the ability to fall back to "safer" icon choices so as to ensure (if possible) icon theme consistency. Signed-off-by: Mavridis Philippe --- kweather/weather_icon.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 kweather/weather_icon.h (limited to 'kweather/weather_icon.h') diff --git a/kweather/weather_icon.h b/kweather/weather_icon.h new file mode 100644 index 0000000..732e266 --- /dev/null +++ b/kweather/weather_icon.h @@ -0,0 +1,20 @@ +class TDEIconLoader; + +class WeatherIcon { + public: + enum SimpleCondition { Sunny, Fog, Mist, Overcast, Hail, LightRain, Sleet }; + enum RangedCondition { Cloudy, Showers, Snow, Thunderstorm }; + + WeatherIcon( int condition /* SimpleCondition */, bool night ); + WeatherIcon( int condition /* RangedCondition */, bool night, unsigned int strength ); + ~WeatherIcon(); + + static TQString unknown() { return "weather-none-available"; }; + TQString& name() { return iconName; } + + private: + bool iconExists( TQString& icon, bool inTheme = true ); + + TDEIconLoader* iconLoader; + TQString iconName = unknown(); +}; -- cgit v1.2.3