From 31410535903e5ad3c90c4e232a20ea35801fa7ad Mon Sep 17 00:00:00 2001 From: Hieromon Ikasamo Date: Tue, 31 Mar 2020 10:47:18 +0900 Subject: [PATCH] Fixed crumbled menu items --- src/AutoConnect.h | 1 + src/AutoConnectPage.cpp | 49 ++++++++++++++++++++++++++++------------- 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/src/AutoConnect.h b/src/AutoConnect.h index 4f3b4be..5dc5492 100644 --- a/src/AutoConnect.h +++ b/src/AutoConnect.h @@ -53,6 +53,7 @@ typedef enum AC_ONBOOTURI { /**< An enumerated type of the designated menu items. */ typedef enum AC_MENUITEM { + AC_MENUITEM_NONE = 0x0000, AC_MENUITEM_CONFIGNEW = 0x0001, AC_MENUITEM_OPENSSIDS = 0x0002, AC_MENUITEM_DISCONNECT = 0x0004, diff --git a/src/AutoConnectPage.cpp b/src/AutoConnectPage.cpp index 4acd000..21a16a5 100644 --- a/src/AutoConnectPage.cpp +++ b/src/AutoConnectPage.cpp @@ -1360,22 +1360,41 @@ String AutoConnect::_token_CURRENT_SSID(PageArgument& args) { return ssid; } +/** + * Generate AutoConnect menu item configured by AutoConnectConfig::attachMenu. + * @param item An enumerated value for the generating item configured in AutoConnectConfig. + * @return HTML string of a li tag with the menu item. + */ String AutoConnect::_attachMenuItem(const AC_MENUITEM_t item) { - String liItem = String(F("
  • " AUTOCONNECT_MENULABEL_CONFIGNEW)); - else if (_apConfig.attachMenu & AC_MENUITEM_OPENSSIDS) - liItem += String(F(">" AUTOCONNECT_MENULABEL_OPENSSIDS)); - else if (_apConfig.attachMenu & AC_MENUITEM_DISCONNECT) - liItem += String(F(">" AUTOCONNECT_MENULABEL_DISCONNECT)); - else if (_apConfig.attachMenu & AC_MENUITEM_RESET) - liItem += String(F(" id=\"reset\">" AUTOCONNECT_MENULABEL_RESET)); - else if (_apConfig.attachMenu & AC_MENUITEM_HOME) - liItem += String(F(">" AUTOCONNECT_MENULABEL_HOME)); - else if (_apConfig.attachMenu & AC_MENUITEM_DEVINFO) - liItem += String(F(">" AUTOCONNECT_MENULABEL_DEVICEINFO)); - liItem += String(F("
  • ")); - return liItem; + AC_MENUITEM_t liItem = static_cast(_apConfig.attachMenu & static_cast(item)); + String li = String(F("
  • " AUTOCONNECT_MENULABEL_RESET)); + else { + li += String(F(">" AUTOCONNECT_MENULABEL_CONFIGNEW)); + break; + case AC_MENUITEM_OPENSSIDS: + li += String(F(AUTOCONNECT_URI_OPEN "\">" AUTOCONNECT_MENULABEL_OPENSSIDS)); + break; + case AC_MENUITEM_DISCONNECT: + li += String(F(AUTOCONNECT_URI_DISCON "\">" AUTOCONNECT_MENULABEL_DISCONNECT)); + break; + case AC_MENUITEM_DEVINFO: + li += String(F(AUTOCONNECT_URI "\">" AUTOCONNECT_MENULABEL_DEVICEINFO)); + break; + case AC_MENUITEM_HOME: + li += String(F("HOME_URI\">" AUTOCONNECT_MENULABEL_HOME)); + break; + default: + li = _emptyString; + break; + } + } + li += String(F("
  • ")); + return li; } /**