From 021365dceb590a14bfcdb904ea05ffdd69b7d663 Mon Sep 17 00:00:00 2001 From: Yifan Zhu Date: Thu, 8 Aug 2024 20:21:08 -0700 Subject: KStandardItemListWidget: select by number of unicode chars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously during rename, the number of QChar is used for selection, which might be different from number of unicode characters. Test plan: - create the file zz❤️❤️.txt - rename the file - verify that the first 4 characters are correctly selected, which didn't work before the patch. BUG: 466814 --- src/kitemviews/kstandarditemlistwidget.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/kitemviews/kstandarditemlistwidget.h') diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h index 35392b420..02f897dbe 100644 --- a/src/kitemviews/kstandarditemlistwidget.h +++ b/src/kitemviews/kstandarditemlistwidget.h @@ -159,6 +159,8 @@ protected: */ QString roleText(const QByteArray &role, const QHash &values) const; + static int numberOfUnicodeCharactersIn(const QString &text); + /** * Fixes: * Select the text without MIME-type extension @@ -168,7 +170,7 @@ protected: * Inherited classes can define, if the MIME-type extension * should be selected or not. * - * @return Selection length (with or without MIME-type extension) + * @return Selection length (with or without MIME-type extension) in number of unicode characters, which might be different from number of QChars. */ virtual int selectionLength(const QString &text) const; -- cgit v1.3.1