From f48d65e85fd7637af8666dec76547500383ac987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Mon, 10 Jul 2017 18:29:32 +0200 Subject: [PATCH] [apps/probability] Handle more events on calculation page Change-Id: I752d79aed23061d3d86134d234024ca8ffd1733d --- apps/probability/calculation_controller.cpp | 2 +- apps/probability/image_table_view.cpp | 18 +++++++++++++----- apps/probability/image_table_view.h | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp index f1f1b5ecb..ebdae47c1 100644 --- a/apps/probability/calculation_controller.cpp +++ b/apps/probability/calculation_controller.cpp @@ -203,7 +203,7 @@ bool CalculationController::handleEvent(Ion::Events::Event event) { } return true; } - if ((event == Ion::Events::OK || event == Ion::Events::EXE) && m_highlightedSubviewIndex == 0) { + if ((event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Down) && m_highlightedSubviewIndex == 0) { m_contentView.imageTableView()->select(true); app()->setFirstResponder(m_contentView.imageTableView()); return true; diff --git a/apps/probability/image_table_view.cpp b/apps/probability/image_table_view.cpp index b612adafb..9dd7114bc 100644 --- a/apps/probability/image_table_view.cpp +++ b/apps/probability/image_table_view.cpp @@ -82,11 +82,11 @@ void ImageTableView::willExitResponderChain(Responder * nextFirstResponder) { bool ImageTableView::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::OK || event == Ion::Events::EXE) { m_calculationController->setCalculationAccordingToIndex(selectedRow()); - select(false); - setHighlight(true); - m_selectableTableView.reloadData(); - m_calculationController->reload(); - app()->setFirstResponder(parentResponder()); + hideDropdown(); + return true; + } + if (event == Ion::Events::Back) { + hideDropdown(); return true; } return false; @@ -160,4 +160,12 @@ void ImageTableView::layoutSubviews() { m_selectableTableView.setFrame(KDRect(k_totalMargin, k_totalMargin, bounds().width()-2*k_totalMargin, bounds().height()-k_totalMargin)); } +void ImageTableView::hideDropdown() { + select(false); + setHighlight(true); + m_selectableTableView.reloadData(); + m_calculationController->reload(); + app()->setFirstResponder(parentResponder()); +} + } diff --git a/apps/probability/image_table_view.h b/apps/probability/image_table_view.h index 2266eb004..f8ffbe872 100644 --- a/apps/probability/image_table_view.h +++ b/apps/probability/image_table_view.h @@ -49,6 +49,7 @@ private: View * subviewAtIndex(int index) override; void layoutSubviews() override; void setCalculationAccordingToIndex(int index); + void hideDropdown(); constexpr static int k_numberOfImages = 4; ImageCell m_imageCells[k_numberOfImages]; SelectableTableView m_selectableTableView;