From 333587d95edefcae1ebaf8838d3f499639fc2de8 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 27 Feb 2024 04:11:54 +0300 Subject: [PATCH] Added function to count characters in input field with emoji. --- ui/widgets/fields/input_field.cpp | 5 +++++ ui/widgets/fields/input_field.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ui/widgets/fields/input_field.cpp b/ui/widgets/fields/input_field.cpp index b80d5198..3ce4ab0f 100644 --- a/ui/widgets/fields/input_field.cpp +++ b/ui/widgets/fields/input_field.cpp @@ -3988,4 +3988,9 @@ void PrepareFormattingOptimization(not_null document) { } } +int FieldCharacterCount(not_null field) { + // This method counts emoji properly. + return field->document()->characterCount() - 1; +} + } // namespace Ui diff --git a/ui/widgets/fields/input_field.h b/ui/widgets/fields/input_field.h index 01a008e6..3b3d9780 100644 --- a/ui/widgets/fields/input_field.h +++ b/ui/widgets/fields/input_field.h @@ -569,4 +569,6 @@ class InputField : public RpWidget { void PrepareFormattingOptimization(not_null document); +[[nodiscard]] int FieldCharacterCount(not_null field); + } // namespace Ui