diff --git a/radio/src/gui/colorlcd/layout.cpp b/radio/src/gui/colorlcd/layout.cpp index 71c15f5bb..d2731bb76 100644 --- a/radio/src/gui/colorlcd/layout.cpp +++ b/radio/src/gui/colorlcd/layout.cpp @@ -65,8 +65,7 @@ void deleteCustomScreens() { for (auto& screen : customScreens) { if (screen) { - screen->detach(); - delete screen; + screen->deleteLater(); screen = nullptr; } } @@ -83,6 +82,13 @@ void loadDefaultLayout() strcpy(screenData.LayoutId, defaultLayout->getId()); screen = defaultLayout->create(&screenData.layoutData); + // + // TODO: + // -> attach a few default widgets + // - ModelBmp + // - Timer + // - ??? + // if (screen) { screen->attach(ViewMain::instance()); } diff --git a/radio/src/gui/colorlcd/screen_setup.cpp b/radio/src/gui/colorlcd/screen_setup.cpp index 59f5e3794..ac9d133d5 100644 --- a/radio/src/gui/colorlcd/screen_setup.cpp +++ b/radio/src/gui/colorlcd/screen_setup.cpp @@ -394,7 +394,7 @@ void ScreenSetupPage::build(FormWindow * window) // optionsWindow->getParent()->adjustInnerHeight(); } -void ScreenSetupPage::updateLayoutOptions() +void ScreenSetupPage::updateLayoutOptions() // TODO { #if 0 FormGridLayout grid; diff --git a/radio/src/gui/colorlcd/view_main.cpp b/radio/src/gui/colorlcd/view_main.cpp index 55ca35c17..386972f33 100644 --- a/radio/src/gui/colorlcd/view_main.cpp +++ b/radio/src/gui/colorlcd/view_main.cpp @@ -417,10 +417,7 @@ void ViewMain::createTrims() VERTICAL_SLIDERS_HEIGHT }; - //r.x = left() + HMARGIN + TRIM_SQUARE_SIZE; // DBG trims[TRIMS_LV] = new MainViewVerticalTrim(this, r, 1); - - //r.x = right() - HMARGIN - TRIM_SQUARE_SIZE; // DBG trims[TRIMS_RV] = new MainViewVerticalTrim(this, r, 2); } diff --git a/radio/src/gui/colorlcd/widget.h b/radio/src/gui/colorlcd/widget.h index e1bb59aae..c1a41b6af 100644 --- a/radio/src/gui/colorlcd/widget.h +++ b/radio/src/gui/colorlcd/widget.h @@ -90,6 +90,13 @@ class Widget : public FormField { } +#if defined(DEBUG_WINDOWS) + std::string getName() const override + { + return "Widget"; + } +#endif + protected: const WidgetFactory * factory; PersistentData * persistentData; diff --git a/radio/src/storage/storage_common.cpp b/radio/src/storage/storage_common.cpp index b46ea4134..439032e74 100644 --- a/radio/src/storage/storage_common.cpp +++ b/radio/src/storage/storage_common.cpp @@ -61,6 +61,10 @@ void preModelLoad() #endif stopTrainer(); + +#if defined(COLORLCD) + deleteCustomScreens(); +#endif } void postRadioSettingsLoad()