mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-27 07:22:57 +02:00
glcd: add unknown weather icon; change font handling; remove min temp from forecast
Origin commit data
------------------
Branch: ni/coolstream
Commit: f566997466
Author: vanhofen <vanhofen@gmx.de>
Date: 2020-06-27 (Sat, 27 Jun 2020)
Origin message was:
------------------
- glcd: add unknown weather icon; change font handling; remove min temp from forecast
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -12,4 +12,5 @@ install_DATA = \
|
|||||||
sleet.png \
|
sleet.png \
|
||||||
snow.png \
|
snow.png \
|
||||||
thunderstorm.png \
|
thunderstorm.png \
|
||||||
|
unknown.png \
|
||||||
wind.png
|
wind.png
|
||||||
|
BIN
data/oled/icons/weather/unknown.png
Normal file
BIN
data/oled/icons/weather/unknown.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
@@ -238,7 +238,7 @@ void cGLCD::Exec()
|
|||||||
{
|
{
|
||||||
ShowSimpleClock(strftime("%H:%M", tm), g_settings.glcd_time_in_standby);
|
ShowSimpleClock(strftime("%H:%M", tm), g_settings.glcd_time_in_standby);
|
||||||
}
|
}
|
||||||
if (g_settings.glcd_standby_weather == 1 && g_settings.glcd_time_in_standby != 5)
|
if (g_settings.glcd_standby_weather == 1 && g_settings.glcd_time_in_standby != CLOCK_ANALOG)
|
||||||
{
|
{
|
||||||
ShowWeather(true);
|
ShowWeather(true);
|
||||||
}
|
}
|
||||||
|
@@ -39,7 +39,7 @@ enum weathers
|
|||||||
SLEET = 7,
|
SLEET = 7,
|
||||||
SNOW = 8,
|
SNOW = 8,
|
||||||
WIND = 9,
|
WIND = 9,
|
||||||
//WEATHER_UNKNOWN = 10
|
WEATHER_UNKNOWN = 10
|
||||||
};
|
};
|
||||||
|
|
||||||
const char * const weather_name[] =
|
const char * const weather_name[] =
|
||||||
@@ -54,7 +54,7 @@ const char * const weather_name[] =
|
|||||||
"sleet",
|
"sleet",
|
||||||
"snow",
|
"snow",
|
||||||
"wind",
|
"wind",
|
||||||
//"unknown"
|
"unknown"
|
||||||
};
|
};
|
||||||
#define LCD_NUMBER_OF_WEATHERS (sizeof(weather_name)/sizeof(weather_name[0]))
|
#define LCD_NUMBER_OF_WEATHERS (sizeof(weather_name)/sizeof(weather_name[0]))
|
||||||
|
|
||||||
@@ -142,15 +142,13 @@ found:
|
|||||||
void WeatherUpdateFonts(void)
|
void WeatherUpdateFonts(void)
|
||||||
{
|
{
|
||||||
cGLCD *cglcd = cGLCD::getInstance();
|
cGLCD *cglcd = cGLCD::getInstance();
|
||||||
SNeutrinoGlcdTheme &t = g_settings.glcd_theme;
|
|
||||||
int fontsize_temperature = 0;
|
int fontsize_temperature = 0;
|
||||||
int percent_temperature = std::min(24, 100);
|
int percent_temperature = std::min(24, 100);
|
||||||
int fontsize_temperature_new = percent_temperature * cglcd->lcd->Height() / 100;
|
int fontsize_temperature_new = percent_temperature * cglcd->lcd->Height() / 100;
|
||||||
if (!fonts_initialized || (fontsize_temperature_new != fontsize_temperature)) {
|
if (!fonts_initialized || (fontsize_temperature_new != fontsize_temperature)) {
|
||||||
fontsize_temperature = fontsize_temperature_new;
|
fontsize_temperature = fontsize_temperature_new;
|
||||||
if (!font_temperature.LoadFT2(/*t.glcd_font*/FONTDIR "/pakenham.ttf", "UTF-8", fontsize_temperature)) {
|
if (!font_temperature.LoadFT2(FONTDIR "/pakenham.ttf", "UTF-8", fontsize_temperature)) {
|
||||||
t.glcd_font = FONTDIR "/pakenham.ttf";
|
font_temperature.LoadFT2(g_settings.font_file, "UTF-8", fontsize_temperature);
|
||||||
font_temperature.LoadFT2(t.glcd_font, "UTF-8", fontsize_temperature);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fonts_initialized = true;
|
fonts_initialized = true;
|
||||||
@@ -158,25 +156,15 @@ void WeatherUpdateFonts(void)
|
|||||||
|
|
||||||
int WeatherNameToNumber(std::string name)
|
int WeatherNameToNumber(std::string name)
|
||||||
{
|
{
|
||||||
std::map<std::string, int> weather_name
|
for (unsigned int i = 0; i < sizeof(weather_name); i++)
|
||||||
{
|
{
|
||||||
{ "clear-day", 0 },
|
if (name.compare(weather_name[i]) == 0)
|
||||||
{ "clear-night", 1 },
|
{
|
||||||
{ "cloudy", 2 },
|
return i;
|
||||||
{ "fog", 3 },
|
break;
|
||||||
{ "partly-cloudy-day", 4 },
|
}
|
||||||
{ "partly-cloudy-night", 5 },
|
}
|
||||||
{ "rain", 6 },
|
return WEATHER_UNKNOWN;
|
||||||
{ "sleet", 7 },
|
|
||||||
{ "snow", 8 },
|
|
||||||
{ "wind", 9 },
|
|
||||||
//{ "unknown", 10 },
|
|
||||||
};
|
|
||||||
|
|
||||||
const auto iter = weather_name.find(name);
|
|
||||||
|
|
||||||
if (iter != weather_name.cend())
|
|
||||||
return iter->second;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderWeather(int cx, int cy, int nx, int ny, bool standby)
|
void RenderWeather(int cx, int cy, int nx, int ny, bool standby)
|
||||||
@@ -209,8 +197,9 @@ void RenderWeather(int cx, int cy, int nx, int ny, bool standby)
|
|||||||
|
|
||||||
next_wcity = st_next_wcity = CWeather::getInstance()->getCity();
|
next_wcity = st_next_wcity = CWeather::getInstance()->getCity();
|
||||||
next_wtimestamp = st_next_wtimestamp = to_string((int)CWeather::getInstance()->getForecastWeekday(forecast));
|
next_wtimestamp = st_next_wtimestamp = to_string((int)CWeather::getInstance()->getForecastWeekday(forecast));
|
||||||
next_wtemp = st_next_wtemp = CWeather::getInstance()->getForecastTemperatureMin(forecast);
|
//next_wtemp = st_next_wtemp = CWeather::getInstance()->getForecastTemperatureMin(forecast);
|
||||||
next_wtemp = st_next_wtemp += "|" + CWeather::getInstance()->getForecastTemperatureMax(forecast);
|
//next_wtemp = st_next_wtemp += "|" + CWeather::getInstance()->getForecastTemperatureMax(forecast);
|
||||||
|
next_wtemp = st_next_wtemp = CWeather::getInstance()->getForecastTemperatureMax(forecast);
|
||||||
next_wwind = st_next_wwind = CWeather::getInstance()->getForecastWindBearing(forecast);
|
next_wwind = st_next_wwind = CWeather::getInstance()->getForecastWindBearing(forecast);
|
||||||
next_wicon = st_next_wicon = CWeather::getInstance()->getForecastIconOnlyNane(forecast);
|
next_wicon = st_next_wicon = CWeather::getInstance()->getForecastIconOnlyNane(forecast);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user