Index: source/gui/ObjectTypes/COList.h =================================================================== --- source/gui/ObjectTypes/COList.h +++ source/gui/ObjectTypes/COList.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2021 Wildfire Games. +/* Copyright (C) 2023 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -29,7 +29,7 @@ { public: COListColumn(IGUIObject* owner, const CStr& cid) - : m_Width(0), m_Id(cid), m_List(owner, "list_" + cid), m_Hidden(owner, "hidden_" + cid, false) + : m_Width(0), m_Id(cid), m_List(owner, "list_" + cid), m_Heading(owner, "heading_" + cid), m_Hidden(owner, "hidden_" + cid, false) {} // Avoid copying the strings. NONCOPYABLE(COListColumn); @@ -37,7 +37,7 @@ CGUIColor m_TextColor; CStr m_Id; float m_Width; - CStrW m_Heading; // CGUIString?? + CGUISimpleSetting m_Heading; // CGUIString?? CGUISimpleSetting m_List; CGUISimpleSetting m_Hidden; }; Index: source/gui/ObjectTypes/COList.cpp =================================================================== --- source/gui/ObjectTypes/COList.cpp +++ source/gui/ObjectTypes/COList.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2021 Wildfire Games. +/* Copyright (C) 2023 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -126,6 +126,14 @@ switch (Message.type) { + + case GUIM_SETTINGS_UPDATED: + { + if (Message.value.find("heading_") == 0) + SetupText(); + break; + } + // If somebody clicks on the column heading case GUIM_MOUSE_PRESS_LEFT: { @@ -234,7 +242,7 @@ } else if (attr_name == "heading") { - column.m_Heading = attr_value.FromUTF8(); + column.m_Heading.Set(attr_value.FromUTF8(), false); } } @@ -259,12 +267,12 @@ if (!context.empty()) { CStr translatedValue(g_L10n.TranslateWithContext(context, value)); - column.m_Heading = translatedValue.FromUTF8(); + column.m_Heading.Set(translatedValue.FromUTF8(), false); } else { CStr translatedValue(g_L10n.Translate(value)); - column.m_Heading = translatedValue.FromUTF8(); + column.m_Heading.Set(translatedValue.FromUTF8(), false); } }