Added delete function

This commit is contained in:
CommanderRedYT
2021-12-19 02:12:34 +01:00
parent f6c3e95f9d
commit 599965f0bd
4 changed files with 22 additions and 3 deletions

View File

@ -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>>>();
}

View File

@ -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;
};

View File

@ -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";

View File

@ -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[];