Added delete function
This commit is contained in:
@ -8,15 +8,21 @@
|
||||
#include "actions/switchscreenaction.h"
|
||||
#include "actions/qraction.h"
|
||||
#include "actions/dummyaction.h"
|
||||
#include "actions/toggleboolaction.h"
|
||||
#include "displays/menus/mainmenu.h"
|
||||
#include "displays/qrdisplay.h"
|
||||
#include "displays/qrimportdisplay.h"
|
||||
#include "icons/back.h"
|
||||
#include "checkboxicon.h"
|
||||
#include "qrimport.h"
|
||||
|
||||
using namespace espgui;
|
||||
|
||||
namespace {
|
||||
|
||||
bool deleteMode;
|
||||
struct DeleteModeAccessor : espgui::RefAccessor<bool> { bool &getRef() const override { return deleteMode; } };
|
||||
|
||||
class ErrorMenuItem : public espgui::MenuItem
|
||||
{
|
||||
public:
|
||||
@ -34,7 +40,18 @@ class CertMenuItem : public espgui::MenuItem
|
||||
public:
|
||||
CertMenuItem(qraction::QrMenu qrmenu) : m_qrmenu{qrmenu} {}
|
||||
std::string text() const override { return m_qrmenu.text; }
|
||||
void triggered() override { switchScreen<QrDisplay>(m_qrmenu.message, m_qrmenu.ver); }
|
||||
void triggered() override
|
||||
{
|
||||
if (deleteMode)
|
||||
{
|
||||
qrimport::delete_qr_code(m_qrmenu.text);
|
||||
switchScreen<GreenPassMenu>();
|
||||
}
|
||||
else
|
||||
{
|
||||
switchScreen<QrDisplay>(m_qrmenu.message, m_qrmenu.ver);
|
||||
}
|
||||
}
|
||||
private:
|
||||
qraction::QrMenu m_qrmenu;
|
||||
};
|
||||
@ -64,6 +81,7 @@ GreenPassMenu::GreenPassMenu()
|
||||
constructMenuItem<makeComponentArgs<MenuItem, SwitchQrImportDisplayAction, StaticText<TEXT_ADDCERT>>>(nvs_key);
|
||||
}
|
||||
}
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DELCERT>, ToggleBoolAction, CheckboxIcon, DeleteModeAccessor>>();
|
||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include <qrcode.h>
|
||||
|
||||
// local includes
|
||||
#include "accessorinterface.h"
|
||||
#include "menudisplay.h"
|
||||
#include "texts.h"
|
||||
|
||||
@ -14,6 +15,4 @@ class GreenPassMenu :
|
||||
public:
|
||||
GreenPassMenu();
|
||||
void back() override;
|
||||
private:
|
||||
bool m_deleteMode;
|
||||
};
|
||||
|
@ -544,6 +544,7 @@ char TEXT_QRCODE_DEBUG[] = "QR Debug";
|
||||
//GreenPassMenu
|
||||
char TEXT_GREENPASS[] = "Green Pass";
|
||||
char TEXT_ADDCERT[] = "Add cert";
|
||||
char TEXT_DELCERT[] = "Delete cert mode";
|
||||
|
||||
//EspNowMenu
|
||||
char TEXT_ESPNOW[] = "ESP-Now";
|
||||
|
@ -544,6 +544,7 @@ extern char TEXT_QRCODE_DEBUG[];
|
||||
//GreenPassMenu
|
||||
extern char TEXT_GREENPASS[];
|
||||
extern char TEXT_ADDCERT[];
|
||||
extern char TEXT_DELCERT[];
|
||||
|
||||
//EspNowMenu
|
||||
extern char TEXT_ESPNOW[];
|
||||
|
Reference in New Issue
Block a user