From e97cff4dcb17b42f555eda1d2d204f9461f65dfc Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 22 May 2022 14:14:13 +0200 Subject: [PATCH] dialog: handle EXIT key --- radio/src/thirdparty/libopenui/src/dialog.cpp | 10 ++++++++++ radio/src/thirdparty/libopenui/src/dialog.h | 1 + 2 files changed, 11 insertions(+) diff --git a/radio/src/thirdparty/libopenui/src/dialog.cpp b/radio/src/thirdparty/libopenui/src/dialog.cpp index 745c0a6eb..6c2cd1af7 100644 --- a/radio/src/thirdparty/libopenui/src/dialog.cpp +++ b/radio/src/thirdparty/libopenui/src/dialog.cpp @@ -57,3 +57,13 @@ Dialog::Dialog(Window* parent, std::string title, const rect_t& rect) : bringToTop(); if (!title.empty()) content->setTitle(std::move(title)); } + +void Dialog::onEvent(event_t event) +{ +#if defined(HARDWARE_KEYS) + if (event == EVT_KEY_LONG(KEY_EXIT) || event == EVT_KEY_BREAK(KEY_EXIT)) { + killEvents(event); + deleteLater(); + } +#endif +} diff --git a/radio/src/thirdparty/libopenui/src/dialog.h b/radio/src/thirdparty/libopenui/src/dialog.h index 2cbb86680..3b00520b8 100644 --- a/radio/src/thirdparty/libopenui/src/dialog.h +++ b/radio/src/thirdparty/libopenui/src/dialog.h @@ -48,5 +48,6 @@ class Dialog : public ModalWindow Dialog(Window* parent, std::string title, const rect_t& rect); protected: + void onEvent(event_t event) override; DialogWindowContent* content; };