From db1d12f69abd77219a17ffe93e4ddc6ab4d65874 Mon Sep 17 00:00:00 2001 From: Alexander Pershin Date: Sat, 20 May 2023 01:25:41 +0300 Subject: [PATCH] MiniProjectTargetSelector: Natural sorting of entries Change-Id: Ibad929d1423d964204b4b236e1cc4df7e0614889 Reviewed-by: Christian Kandeler Reviewed-by: --- .../projectexplorer/miniprojecttargetselector.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 96f85e94bea..3a1b01b724b 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -141,8 +142,15 @@ private: static bool compareItems(const TreeItem *ti1, const TreeItem *ti2) { - const int result = caseFriendlyCompare(static_cast(ti1)->rawDisplayName(), - static_cast(ti2)->rawDisplayName()); + static const QCollator collator = [] { + QCollator collator; + collator.setNumericMode(true); + collator.setCaseSensitivity(Qt::CaseInsensitive); + return collator; + }(); + + const int result = collator.compare(static_cast(ti1)->rawDisplayName(), + static_cast(ti2)->rawDisplayName()); if (result != 0) return result < 0; return ti1 < ti2;