From 6226daa04a9a0656e78df96ed0e8ca4771a609eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Mon, 17 Apr 2017 13:33:18 +0200 Subject: [PATCH] [apps/sequence] In term sum, enable to go directly to a rank n by typing its digits Change-Id: I26905f856303a67fafbf6da54fef15060c85da2c --- apps/sequence/graph/term_sum_controller.cpp | 8 ++++++-- apps/sequence/graph/term_sum_controller.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/sequence/graph/term_sum_controller.cpp b/apps/sequence/graph/term_sum_controller.cpp index a78fc43e7..c7baf42ae 100644 --- a/apps/sequence/graph/term_sum_controller.cpp +++ b/apps/sequence/graph/term_sum_controller.cpp @@ -21,6 +21,7 @@ TermSumController::TermSumController(Responder * parentResponder, GraphView * gr m_sequence(nullptr), m_cursor(cursor), m_cursorView(VerticalCursorView()), + m_bufferCursorPosition(0), m_step(0), m_startSum(-1), m_endSum(-1) @@ -46,6 +47,7 @@ void TermSumController::viewWillAppear() { m_contentView.graphView()->reload(); m_contentView.layoutSubviews(); + m_bufferCursorPosition = 0; m_startSum = -1; m_endSum = -1; m_step = 0; @@ -75,10 +77,11 @@ bool TermSumController::handleEvent(Ion::Events::Event event) { return false; } if (event.hasText() && event.text()[0] >= '0' && event.text()[0] <= '9') { - if (m_step > 0 && event.text()[0]-'0' < m_cursor->x()) { + m_bufferCursorPosition = 10*m_bufferCursorPosition + event.text()[0]-'0'; + if (m_step > 0 && m_bufferCursorPosition < m_cursor->x()) { return false; } - if (moveCursorHorizontallyToPosition(event.text()[0]-'0')) { + if (moveCursorHorizontallyToPosition(m_bufferCursorPosition)) { m_contentView.graphView()->reload(); return true; } @@ -92,6 +95,7 @@ bool TermSumController::handleEvent(Ion::Events::Event event) { } if (m_step == 0) { m_step++; + m_bufferCursorPosition = 0; m_startSum = m_cursor->x(); m_contentView.legendView()->setSumSuperscript(m_startSum, m_cursor->x()); m_contentView.legendView()->setLegendMessage(I18n::Message::SelectLastTerm); diff --git a/apps/sequence/graph/term_sum_controller.h b/apps/sequence/graph/term_sum_controller.h index ce8df12dd..9a65e6fc0 100644 --- a/apps/sequence/graph/term_sum_controller.h +++ b/apps/sequence/graph/term_sum_controller.h @@ -58,6 +58,7 @@ private: Sequence * m_sequence; Shared::CurveViewCursor * m_cursor; VerticalCursorView m_cursorView; + int m_bufferCursorPosition; int m_step; int m_startSum; int m_endSum;