From a331bcc2964170085d058b44903f736288af2fe5 Mon Sep 17 00:00:00 2001 From: Bjoern Kerler Date: Sun, 18 Feb 2024 22:30:13 +0100 Subject: [PATCH] System Load settings from File: Provide Feedback --- src/gui/MItem_menus.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/gui/MItem_menus.cpp b/src/gui/MItem_menus.cpp index c0928a2bdf..ebb03b0b39 100644 --- a/src/gui/MItem_menus.cpp +++ b/src/gui/MItem_menus.cpp @@ -402,17 +402,32 @@ MI_LOAD_SETTINGS::MI_LOAD_SETTINGS() : WI_LABEL_t(_(label), nullptr, is_enabled_t::yes, is_hidden_t::no) { } +static void add_load_response(const char *name, bool flag, char *msg, int msglen) { + char tmp[strlen(name) + 5]; + snprintf(tmp, sizeof(tmp), "%s: %s\n", name, flag ? "+" : "-"); + strncat(msg, tmp, msglen); +} + void MI_LOAD_SETTINGS::click(IWindowMenu & /*window_menu*/) { - // FIXME: Some error handling/reporting - // TODO: Loading other things than just network + bool is_network = false; + bool is_connect = false; + if (netdev_load_ini_to_eeprom()) { notify_reconfigure(); + is_network = true; } -// FIXME: Error handling #if BUDDY_ENABLE_CONNECT() - connect_client::MarlinPrinter::load_cfg_from_ini(); + if (connect_client::MarlinPrinter::load_cfg_from_ini()) { + is_connect = true; + } +#endif + char msg[MSG_MAX_LENGTH] = "\nLoading settings finished.\n\n"; + add_load_response("Network", is_network, msg, MSG_MAX_LENGTH - strlen(msg)); +#if BUDDY_ENABLE_CONNECT() + add_load_response("Connect", is_connect, msg, MSG_MAX_LENGTH - strlen(msg)); #endif + MsgBoxInfo(string_view_utf8::MakeCPUFLASH((const uint8_t *)msg), Responses_Ok); } /**********************************************************************************************/