From ad6f9896c45b794fe641ff5b8e5617862b32748a Mon Sep 17 00:00:00 2001 From: Przemyslaw Brudny Date: Tue, 18 Jan 2022 11:18:54 +0100 Subject: [PATCH] [EGD-7056] Fixed sms input cursor starting position to document end Fixed sms input cursor starting position to document end. --- .../application-messages/widgets/SMSInputWidget.cpp | 4 +++- module-gui/gui/widgets/text/Text.cpp | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/module-apps/application-messages/widgets/SMSInputWidget.cpp b/module-apps/application-messages/widgets/SMSInputWidget.cpp index 915da4e98e471d66ef9598e66b2e6e46f7c17a03..80fb157cbc4f2219a72441ec37cd68a976159324 100644 --- a/module-apps/application-messages/widgets/SMSInputWidget.cpp +++ b/module-apps/application-messages/widgets/SMSInputWidget.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "ApplicationMessages.hpp" @@ -81,6 +81,8 @@ namespace gui if (inputText->getText() == utils::translate("sms_temp_reply")) { inputText->clear(); } + + inputText->setCursorStartPosition(CursorStartPosition::DocumentEnd); } else { diff --git a/module-gui/gui/widgets/text/Text.cpp b/module-gui/gui/widgets/text/Text.cpp index ac9d5ff17a96f0193eab9bc4ff1f5fa7197e187d..e1801ba767d7cacb6364b8ef7fd366855c0d54f5 100644 --- a/module-gui/gui/widgets/text/Text.cpp +++ b/module-gui/gui/widgets/text/Text.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "Text.hpp" @@ -229,8 +229,11 @@ namespace gui auto Text::setCursorStartPosition(CursorStartPosition val) -> void { // As we destroy cursors starting position information need to be stored in both places - cursorStartPosition = val; - cursor->setCursorStartPosition(cursorStartPosition); + if (cursorStartPosition != val) { + cursorStartPosition = val; + cursor->setCursorStartPosition(cursorStartPosition); + buildDocument(std::make_unique(document->getBlocks())); + } } bool Text::onInput(const InputEvent &evt)