From d877efddef9cdbc5625f14267b4a4f7f91936809 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Mon, 26 Apr 2021 22:32:55 +0200 Subject: [PATCH] Added touch focus handling in view main --- radio/src/gui/colorlcd/view_main.cpp | 12 ++++++++++++ radio/src/gui/colorlcd/view_main.h | 1 + 2 files changed, 13 insertions(+) diff --git a/radio/src/gui/colorlcd/view_main.cpp b/radio/src/gui/colorlcd/view_main.cpp index c4f77e5de..6706775c7 100644 --- a/radio/src/gui/colorlcd/view_main.cpp +++ b/radio/src/gui/colorlcd/view_main.cpp @@ -239,6 +239,18 @@ bool ViewMain::onTouchSlide(coord_t x, coord_t y, coord_t startX, coord_t startY return Window::onTouchSlide(x, y, startX, startY, slideX, slideY); } + +bool ViewMain::onTouchEnd(coord_t x, coord_t y) +{ + if (Window::onTouchEnd(x,y)) return true; + if (!hasFocus()) { + setFocus(); + } + else { + openMenu(); + } + return true; +} #endif #if defined(HARDWARE_KEYS) diff --git a/radio/src/gui/colorlcd/view_main.h b/radio/src/gui/colorlcd/view_main.h index 5869caa0b..8b7bbda1d 100644 --- a/radio/src/gui/colorlcd/view_main.h +++ b/radio/src/gui/colorlcd/view_main.h @@ -96,6 +96,7 @@ class ViewMain: public Window unsigned int startSlidePage = 0; bool onTouchSlide(coord_t x, coord_t y, coord_t startX, coord_t startY, coord_t slideX, coord_t slideY) override; + bool onTouchEnd(coord_t x, coord_t y) override; #endif void paint(BitmapBuffer * dc) override;