From 27684069c5d013ff2736287e0628b65a700d6575 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Sat, 5 Dec 2015 14:23:53 -0800 Subject: [PATCH] Track when AISView has focus. --- firmware/application/app_ais.cpp | 10 ++++++++++ firmware/application/app_ais.hpp | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/firmware/application/app_ais.cpp b/firmware/application/app_ais.cpp index f57cd2d0f..fc013d8d3 100644 --- a/firmware/application/app_ais.cpp +++ b/firmware/application/app_ais.cpp @@ -405,6 +405,16 @@ void AISView::on_packet(const baseband::ais::Packet& packet) { set_dirty(); } +void AISView::on_focus() { + has_focus = true; + set_dirty(); +} + +void AISView::on_blur() { + has_focus = false; + set_dirty(); +} + void AISView::paint(Painter& painter) { const auto r = screen_rect(); const auto& s = style(); diff --git a/firmware/application/app_ais.hpp b/firmware/application/app_ais.hpp index 6f8a99f2c..254a8008f 100644 --- a/firmware/application/app_ais.hpp +++ b/firmware/application/app_ais.hpp @@ -118,14 +118,23 @@ namespace ui { class AISView : public View { public: + AISView() { + flags.focusable = true; + } + void on_show() override; void on_hide() override; void paint(Painter& painter) override; + void on_focus() override; + void on_blur() override; + private: AISModel model; + bool has_focus = false; + struct Position { rtc::RTC timestamp { }; baseband::ais::Latitude latitude { 0 };