From 85b27c372d863492b7bca84feda84dfc9efca5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Fri, 24 Mar 2017 10:20:39 +0100 Subject: [PATCH] [apps/calculation] Fix error: scroll when copying a history line Change-Id: I6120c22afd63abe6ac5bf4e264ad7fcc712fe291 --- apps/calculation/history_controller.cpp | 4 ++-- escher/src/text_field.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/calculation/history_controller.cpp b/apps/calculation/history_controller.cpp index 0be3ac8b3..8c2fae229 100644 --- a/apps/calculation/history_controller.cpp +++ b/apps/calculation/history_controller.cpp @@ -39,14 +39,14 @@ bool HistoryController::handleEvent(Ion::Events::Event event) { HistoryViewCell * selectedCell = (HistoryViewCell *)m_selectableTableView.cellAtLocation(0, focusRow); HistoryViewCell::SubviewType subviewType = selectedCell->selectedSubviewType(); EditExpressionController * editController = (EditExpressionController *)parentResponder(); + m_selectableTableView.deselectTable(); + app()->setFirstResponder(editController); Calculation * calculation = m_calculationStore->calculationAtIndex(focusRow); if (subviewType == HistoryViewCell::SubviewType::Input) { editController->setTextBody(calculation->inputText()); } else { editController->setTextBody(calculation->outputText()); } - m_selectableTableView.deselectTable(); - app()->setFirstResponder(editController); return true; } if (event == Ion::Events::EXE) { diff --git a/escher/src/text_field.cpp b/escher/src/text_field.cpp index f8cf07683..e74ffe19c 100644 --- a/escher/src/text_field.cpp +++ b/escher/src/text_field.cpp @@ -73,7 +73,6 @@ void TextField::ContentView::setText(const char * text) { if (m_isEditing) { strlcpy(m_draftTextBuffer, text, m_textBufferSize); m_currentTextLength = strlen(text); - setCursorLocation(m_currentTextLength); } else { strlcpy(m_textBuffer, text, m_textBufferSize); } @@ -224,8 +223,9 @@ int TextField::cursorLocation() const{ void TextField::setText(const char * text) { reloadScroll(); m_contentView.setText(text); - scrollToCursor(); - layoutSubviews(); + if (isEditing()) { + setCursorLocation(textLength()); + } } void TextField::setBackgroundColor(KDColor backgroundColor) {