From d7ddaa7cd82f83572ce43b9621e9cbdc5e40a680 Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Wed, 26 Feb 2020 01:47:32 -0500 Subject: [PATCH] Fix broken colour= in DialogXML and add special link colour --- src/dialogxml/widgets/control.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/dialogxml/widgets/control.cpp b/src/dialogxml/widgets/control.cpp index 2a56b5dd..5b10f089 100644 --- a/src/dialogxml/widgets/control.cpp +++ b/src/dialogxml/widgets/control.cpp @@ -607,8 +607,14 @@ bool cControl::parseAttribute(ticpp::Attribute& attr, std::string tagName, std:: return true; } if((name == "color" || name == "colour") && canFormat(TXT_COLOUR)) { - std::string val; - try{ + std::string val = attr.Value(); + if(val == "link") { + // TODO: Would be nice if it could work for other backgrounds too... + if(parent->getBg() == cDialog::BG_DARK) + setColour({0x7f, 0xd7, 0xFF}); + if(parent->getBg() == cDialog::BG_LIGHT) + setColour({0x00, 0x00, 0xFF}); + } else try { sf::Color clr = parseColor(val); setColour(clr); } catch(int) {