added leaved feature

This commit is contained in:
2023-01-04 00:18:07 +01:00
parent 15689bf56b
commit abb85340bc
2 changed files with 20 additions and 4 deletions
+14 -3
View File
@@ -38,8 +38,10 @@ void MenuInformationSites::right() {
} }
void MenuInformationSites::left() { void MenuInformationSites::left() {
if (this->parentMenu) if (this->parentMenu) {
this->parentMenu->printMenu(); this->parentMenu->printMenu();
this->leaved = true;
}
} }
void MenuInformationSites::no() { void MenuInformationSites::no() {
@@ -52,7 +54,14 @@ void MenuInformationSites::yes() {
} }
void MenuInformationSites::printMenu() { void MenuInformationSites::printMenu() {
if (this->leaved) {
this->leaved = false;
this->lastPageNumber++;
this->init();
}
this->printPage(); this->printPage();
this->lastPageNumber = this->currentPage;
} }
void MenuInformationSites::update() { void MenuInformationSites::update() {
@@ -64,10 +73,12 @@ void MenuInformationSites::update() {
} }
bool MenuInformationSites::setCountPages(uint8_t pages) { bool MenuInformationSites::setCountPages(uint8_t pages) {
if (this->countPages < pages)
this->countPages = pages; this->countPages = pages;
else this->currentPage = 0;
if (this->countPages == 0) {
this->countPages = 1;
return false; return false;
}
return true; return true;
} }
+5
View File
@@ -73,13 +73,18 @@ class MenuInformationSites : public MenuControl {
virtual void printPage() const = 0; virtual void printPage() const = 0;
virtual void runCommand() const {} virtual void runCommand() const {}
virtual void init() {}
void printDefault() const; void printDefault() const;
uint8_t lastPageNumber = 0;
bool leaved = true;
private: private:
uint8_t countPages; uint8_t countPages;
uint8_t currentPage; uint8_t currentPage;
const uint16_t delay = 5000; const uint16_t delay = 5000;
uint32_t lastMillis = 0; uint32_t lastMillis = 0;
}; };