From de5fbe54d4949b84cdc38f3a09feda78192afbc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Wed, 10 May 2017 13:47:21 +0200 Subject: [PATCH] [apps/sequence|graph] Fix bug: when validating new interval parameters, jump to the values table Change-Id: Id56587dea29fcca18cc34045a6c93f2f740564e2 --- apps/shared/interval_parameter_controller.cpp | 8 ++++++++ apps/shared/interval_parameter_controller.h | 1 + escher/include/escher/stack_view_controller.h | 2 +- escher/src/stack_view_controller.cpp | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/shared/interval_parameter_controller.cpp b/apps/shared/interval_parameter_controller.cpp index 7be2e6ec7..331fd67d2 100644 --- a/apps/shared/interval_parameter_controller.cpp +++ b/apps/shared/interval_parameter_controller.cpp @@ -67,6 +67,14 @@ int IntervalParameterController::reusableParameterCellCount(int type) { return k_totalNumberOfCell; } +void IntervalParameterController::buttonAction() { + StackViewController * stack = stackController(); + stack->pop(); + if (stack->depth() > 1) { + stack->pop(); + } +} + View * IntervalParameterController::loadView() { SelectableTableView * tableView = (SelectableTableView *)FloatParameterController::loadView(); for (int i = 0; i < k_totalNumberOfCell; i++) { diff --git a/apps/shared/interval_parameter_controller.h b/apps/shared/interval_parameter_controller.h index e5856afd4..aba1d5888 100644 --- a/apps/shared/interval_parameter_controller.h +++ b/apps/shared/interval_parameter_controller.h @@ -22,6 +22,7 @@ private: HighlightCell * reusableParameterCell(int index, int type) override; int reusableParameterCellCount(int type) override; float parameterAtIndex(int index) override; + void buttonAction() override; View * loadView() override; void unloadView(View * view) override; char m_draftTextBuffer[MessageTableCellWithEditableText::k_bufferLength]; diff --git a/escher/include/escher/stack_view_controller.h b/escher/include/escher/stack_view_controller.h index 4a5a8b93e..a61ecdc96 100644 --- a/escher/include/escher/stack_view_controller.h +++ b/escher/include/escher/stack_view_controller.h @@ -16,7 +16,7 @@ public: void push(ViewController * vc, KDColor textColor = Palette::SubTab, KDColor backgroundColor = KDColorWhite, KDColor separatorColor = Palette::GreyBright); void pop(); - + int depth(); View * view() override; const char * title() override; bool handleEvent(Ion::Events::Event event) override; diff --git a/escher/src/stack_view_controller.cpp b/escher/src/stack_view_controller.cpp index c2d840dd7..1c9ef8dae 100644 --- a/escher/src/stack_view_controller.cpp +++ b/escher/src/stack_view_controller.cpp @@ -102,6 +102,10 @@ void StackViewController::pop() { vc->viewDidDisappear(); } +int StackViewController::depth() { + return m_numberOfChildren; +} + void StackViewController::pushModel(Frame frame) { m_childrenFrame[m_numberOfChildren++] = frame; }