Use QCollator to compare strings.

This commit is contained in:
Craig Drummond
2021-12-27 20:39:51 +00:00
parent f4e4a6ed33
commit dbdc211da2
19 changed files with 92 additions and 61 deletions

View File

@@ -55,6 +55,7 @@
#include <QDBusConnection>
#include <QDBusConnectionInterface>
#endif
#include <QCollator>
const QLatin1Char Utils::constDirSep('/');
const QLatin1String Utils::constDirSepStr("/");
@@ -1062,3 +1063,14 @@ void Utils::raiseWindow(QWidget *w)
#endif
}
int Utils::compare(const QString &a, const QString &b)
{
static QCollator *collator = nullptr;
if (!collator) {
collator=new QCollator();
collator->setNumericMode(true);
collator->setIgnorePunctuation(true);
collator->setCaseSensitivity(Qt::CaseInsensitive);
}
return collator->compare(a, b);
}