diff --git a/radio/src/gui/colorlcd/mainview/layout.cpp b/radio/src/gui/colorlcd/mainview/layout.cpp index 320391ebe..9697439f9 100644 --- a/radio/src/gui/colorlcd/mainview/layout.cpp +++ b/radio/src/gui/colorlcd/mainview/layout.cpp @@ -66,6 +66,8 @@ void LayoutFactory::deleteCustomScreens() screen = nullptr; } } + + ViewMain::instance()->getTopbar()->removeAllWidgets(); } void LayoutFactory::loadDefaultLayout() diff --git a/radio/src/gui/colorlcd/mainview/widgets_container_impl.h b/radio/src/gui/colorlcd/mainview/widgets_container_impl.h index d61c6d479..59c0f99ac 100644 --- a/radio/src/gui/colorlcd/mainview/widgets_container_impl.h +++ b/radio/src/gui/colorlcd/mainview/widgets_container_impl.h @@ -83,6 +83,12 @@ class WidgetsContainerImpl : public WidgetsContainer virtual void create() { memset(persistentData, 0, sizeof(PersistentData)); } + void removeAllWidgets() + { + for (unsigned int i = 0; i < N; i++) + removeWidget(i); + } + virtual void load() { unsigned int count = getZonesCount();