summaryrefslogtreecommitdiff
path: root/event_list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'event_list.cpp')
-rw-r--r--event_list.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/event_list.cpp b/event_list.cpp
index a1e88a5..31e7dd1 100644
--- a/event_list.cpp
+++ b/event_list.cpp
@@ -80,11 +80,15 @@ void EventList::load(const QJsonObject& json)
{
const auto& jsonTags = json["tags"].toArray();
if (!jsonTags.isEmpty()) {
+ // Map tag name to definition and remember tag order.
tags = {};
tagsOrder.clear();
for (int i = 0; i < jsonTags.size(); i++) {
- const auto name = jsonTags[i]["tag"].toString();
- tags[name] = jsonTags[i].toObject();
+ const auto& tag = jsonTags[i].toObject();
+ // Compatibility with older tag definitions.
+ const auto& nameKey = tag.contains("name") ? "name" : "tag";
+ const auto name = tag[nameKey].toString();
+ tags[name] = tag;
tagsOrder.append(name);
}
emit tagsChanged();