mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-27 21:26:43 +00:00
Add static_text for labels
This commit is contained in:
parent
798cf8bd5e
commit
62540e8443
@ -451,4 +451,10 @@ _HASP_ATTRIBUTE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t)
|
||||
#define ATTR_OBJID 41010
|
||||
#define ATTR_OBJ 53623
|
||||
|
||||
#define ATTR_TEXT_MAC 38107
|
||||
#define ATTR_TEXT_IP 41785
|
||||
#define ATTR_TEXT_HOSTNAME 10125
|
||||
#define ATTR_TEXT_MODEL 54561
|
||||
#define ATTR_TEXT_VERSION 60178
|
||||
|
||||
#endif
|
||||
|
@ -138,24 +138,36 @@ static const char* my_label_get_text(const lv_obj_t* label)
|
||||
static void my_label_set_text(lv_obj_t* label, const char* text)
|
||||
{
|
||||
if(text[0] == '%') {
|
||||
uint16_t hash = Parser::get_sdbm(text);
|
||||
size_t len = strlen(text);
|
||||
const char* static_text;
|
||||
uint16_t hash = Parser::get_sdbm(text);
|
||||
size_t len = strlen(text);
|
||||
const char* static_text = NULL;
|
||||
|
||||
switch(hash) {
|
||||
|
||||
case 10125:
|
||||
static_text = haspDevice.get_hostname();
|
||||
case ATTR_TEXT_MAC:
|
||||
case ATTR_TEXT_IP:
|
||||
if(len == 4) break;
|
||||
break;
|
||||
|
||||
case ATTR_TEXT_HOSTNAME:
|
||||
if(len == 10) static_text = haspDevice.get_hostname();
|
||||
break;
|
||||
|
||||
case ATTR_TEXT_MODEL:
|
||||
if(len == 7) static_text = haspDevice.get_model();
|
||||
break;
|
||||
|
||||
case ATTR_TEXT_VERSION:
|
||||
if(len == 9) static_text = haspDevice.get_version();
|
||||
break;
|
||||
default:
|
||||
lv_label_set_text(label, text);
|
||||
return;
|
||||
}
|
||||
|
||||
lv_label_set_text_static(label, static_text);
|
||||
} else {
|
||||
lv_label_set_text(label, text);
|
||||
if(static_text) {
|
||||
lv_label_set_text_static(label, static_text);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
lv_label_set_text(label, text);
|
||||
}
|
||||
|
||||
// OK
|
||||
|
Loading…
x
Reference in New Issue
Block a user