fix(color): model yaml file may be needlessly saved when editing screen setup (#7795)
This commit is contained in:
@@ -168,6 +168,8 @@ void ScreenSetupPage::build(Window* window)
|
||||
}
|
||||
|
||||
buildLayoutOptions();
|
||||
|
||||
SET_DIRTY();
|
||||
};
|
||||
|
||||
Window* btn = new LayoutChoice(line, getFactory, setLayout);
|
||||
|
||||
@@ -101,19 +101,11 @@ void SetupTopBarWidgetsPage::onClicked()
|
||||
// block event forwarding (window is transparent)
|
||||
}
|
||||
|
||||
void SetupTopBarWidgetsPage::onCancel() { deleteLater(); }
|
||||
|
||||
void SetupTopBarWidgetsPage::deleteLater()
|
||||
void SetupTopBarWidgetsPage::onCancel()
|
||||
{
|
||||
if (_deleted) return;
|
||||
|
||||
// and continue async deletion...
|
||||
Window::deleteLater();
|
||||
|
||||
deleteLater();
|
||||
// restore screen setting tab on top
|
||||
QuickMenu::openPage(QM_UI_SETUP);
|
||||
|
||||
storageDirty(EE_MODEL);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -208,6 +200,8 @@ void TopBar::removeWidget(unsigned int index)
|
||||
g_model.getTopbarData()->clearZone(index);
|
||||
|
||||
WidgetsContainer::removeWidget(index);
|
||||
|
||||
storageDirty(EE_MODEL);
|
||||
}
|
||||
|
||||
void TopBar::load()
|
||||
|
||||
@@ -38,7 +38,6 @@ class SetupTopBarWidgetsPage : public NavWindow
|
||||
|
||||
void onClicked() override;
|
||||
void onCancel() override;
|
||||
void deleteLater() override;
|
||||
|
||||
#if defined(HARDWARE_KEYS)
|
||||
void onPressSYS() override {}
|
||||
|
||||
@@ -45,7 +45,10 @@ SetupWidgetsPageSlot::SetupWidgetsPageSlot(Window* parent, const rect_t& rect,
|
||||
menu->addLine(STR_WIDGET_SETTINGS,
|
||||
[=]() { new WidgetSettings(widget); });
|
||||
menu->addLine(STR_REMOVE_WIDGET,
|
||||
[=]() { container->removeWidget(slotIndex); });
|
||||
[=]() {
|
||||
container->removeWidget(slotIndex);
|
||||
storageDirty(EE_MODEL);
|
||||
});
|
||||
} else {
|
||||
addNewWidget(container, slotIndex);
|
||||
}
|
||||
@@ -98,6 +101,7 @@ void SetupWidgetsPageSlot::addNewWidget(WidgetsContainer* container,
|
||||
auto widget = container->getWidget(slotIndex);
|
||||
if (widget->hasOptions())
|
||||
new WidgetSettings(widget);
|
||||
storageDirty(EE_MODEL);
|
||||
});
|
||||
if (cur && strcmp(cur, factory->getDisplayName()) == 0)
|
||||
selected = index;
|
||||
@@ -147,14 +151,8 @@ void SetupWidgetsPage::onClicked()
|
||||
void SetupWidgetsPage::onCancel()
|
||||
{
|
||||
deleteLater();
|
||||
|
||||
QuickMenu::openPage((QMPage)(QM_UI_SCREEN1 + customScreenIdx));
|
||||
}
|
||||
|
||||
void SetupWidgetsPage::deleteLater()
|
||||
{
|
||||
if (_deleted) return;
|
||||
|
||||
Window::deleteLater();
|
||||
|
||||
// and continue async deletion...
|
||||
auto screen = customScreens[customScreenIdx];
|
||||
@@ -163,6 +161,4 @@ void SetupWidgetsPage::deleteLater()
|
||||
viewMain->setCurrentMainView(savedView);
|
||||
viewMain->showTopBarEdgeTxButton();
|
||||
}
|
||||
|
||||
storageDirty(EE_MODEL);
|
||||
}
|
||||
|
||||
@@ -55,8 +55,6 @@ class SetupWidgetsPage : public NavWindow
|
||||
protected:
|
||||
uint8_t customScreenIdx;
|
||||
unsigned savedView = 0;
|
||||
|
||||
void deleteLater() override;
|
||||
};
|
||||
|
||||
class SetupWidgetsPageSlot : public ButtonBase
|
||||
|
||||
Reference in New Issue
Block a user