1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Add multiple element selection to style and style_type (#9380)

This commit is contained in:
v-rob 2020-03-01 06:39:57 -08:00 committed by GitHub
parent 0c08f948d7
commit 7dffd08c1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 29 deletions

View file

@ -2450,13 +2450,6 @@ bool GUIFormSpecMenu::parseStyle(parserData *data, const std::string &element, b
return false;
}
std::string selector = trim(parts[0]);
if (selector.empty()) {
errorstream << "Invalid style element (Selector required): '" << element
<< "'" << std::endl;
return false;
}
StyleSpec spec;
for (size_t i = 1; i < parts.size(); i++) {
@ -2486,10 +2479,21 @@ bool GUIFormSpecMenu::parseStyle(parserData *data, const std::string &element, b
spec.set(prop, value);
}
if (style_type) {
theme_by_type[selector] |= spec;
} else {
theme_by_name[selector] |= spec;
std::vector<std::string> selectors = split(parts[0], ',');
for (size_t sel = 0; sel < selectors.size(); sel++) {
std::string selector = trim(selectors[sel]);
if (selector.empty()) {
errorstream << "Invalid style element (Empty selector): '" << element
<< "'" << std::endl;
continue;
}
if (style_type) {
theme_by_type[selector] |= spec;
} else {
theme_by_name[selector] |= spec;
}
}
return true;