From 7f5ea004e46a9e24a8309355ad2e30affa9db8a8 Mon Sep 17 00:00:00 2001 From: philmoz Date: Sat, 15 Apr 2023 19:14:44 +1000 Subject: [PATCH] feat(color): Sort the widget list by display name (#3476) --- radio/src/gui/colorlcd/widget.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/widget.cpp b/radio/src/gui/colorlcd/widget.cpp index 400d99c0f..a2d2b1127 100644 --- a/radio/src/gui/colorlcd/widget.cpp +++ b/radio/src/gui/colorlcd/widget.cpp @@ -205,7 +205,13 @@ void registerWidget(const WidgetFactory * factory) if (oldWidget) { unregisterWidget(oldWidget); } - TRACE("register widget %s", name); + TRACE("register widget %s %s", name, factory->getDisplayName()); + for (auto it = getRegisteredWidgets().cbegin(); it != getRegisteredWidgets().cend(); ++it) { + if (strcmp((*it)->getDisplayName(), factory->getDisplayName()) > 0) { + getRegisteredWidgets().insert(it, factory); + return; + } + } getRegisteredWidgets().push_back(factory); }