From 54c77cb71402333a22a3b775881f7d6b9d8a83b7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 3 Aug 2019 11:34:02 +0200 Subject: [PATCH] GVariant: Try to do color string parsing in GVariant::to_color() If the underlying variant type is a String, try to parse out a color when to_color() is called. This makes VisualBuilder apply the saved colors when loading forms. --- Libraries/LibGUI/GVariant.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Libraries/LibGUI/GVariant.h b/Libraries/LibGUI/GVariant.h index 007f9d49de..e2cbd35e15 100644 --- a/Libraries/LibGUI/GVariant.h +++ b/Libraries/LibGUI/GVariant.h @@ -167,17 +167,15 @@ public: return Color::from_rgba(m_value.as_color); } - Color to_color() const - { - if (is_color()) - return as_color(); - return Color(); - } - - Color to_color(Color default_value) const + Color to_color(Color default_value = {}) const { if (type() == Type::Color) return as_color(); + if (type() == Type::String) { + auto color = Color::from_string(as_string()); + if (color.has_value()) + return color.value(); + } return default_value; }