kio: do not cache the name in lower case from KFileItem::name()

case-insensitive comparison is faster and is already done by
KDirSortFilterProxyModel

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2024-05-27 20:08:38 +03:00
parent 8e1a9cfec7
commit e88a8bd627
3 changed files with 4 additions and 19 deletions

View file

@ -171,9 +171,7 @@ bool KDirSortFilterProxyModel::subSortLessThan(const QModelIndex& left,
int result = d->compare(leftFileItem.text(), rightFileItem.text(), sortCaseSensitivity()); int result = d->compare(leftFileItem.text(), rightFileItem.text(), sortCaseSensitivity());
if (result == 0) { if (result == 0) {
// KFileItem::text() may not be unique in case UDS_DISPLAY_NAME is used // KFileItem::text() may not be unique in case UDS_DISPLAY_NAME is used
result = d->compare(leftFileItem.name(sortCaseSensitivity() == Qt::CaseInsensitive), result = d->compare(leftFileItem.name(), rightFileItem.name(), sortCaseSensitivity());
rightFileItem.name(sortCaseSensitivity() == Qt::CaseInsensitive),
sortCaseSensitivity());
if (result == 0) { if (result == 0) {
// If KFileItem::text() is also not unique most probably a search protocol is used // If KFileItem::text() is also not unique most probably a search protocol is used
// that allows showing the same file names from different directories // that allows showing the same file names from different directories

View file

@ -155,11 +155,6 @@ public:
*/ */
mutable QString m_iconName; mutable QString m_iconName;
/**
* The filename in lower case (to speed up sorting)
*/
mutable QString m_strLowerCaseName;
/** /**
* The mimetype of the file * The mimetype of the file
*/ */
@ -1081,18 +1076,12 @@ QString KFileItem::text() const
return d->m_strText; return d->m_strText;
} }
QString KFileItem::name(bool lowerCase) const QString KFileItem::name() const
{ {
if (!d) { if (!d) {
return QString(); return QString();
} }
if (!lowerCase) {
return d->m_strName; return d->m_strName;
}
if (d->m_strLowerCaseName.isNull()) {
d->m_strLowerCaseName = d->m_strName.toLower();
}
return d->m_strLowerCaseName;
} }
KUrl KFileItem::targetUrl() const KUrl KFileItem::targetUrl() const

View file

@ -282,11 +282,9 @@ public:
/** /**
* Return the name of the file item (without a path). * Return the name of the file item (without a path).
* Similar to text(), but unencoded, i.e. the original name. * Similar to text(), but unencoded, i.e. the original name.
* @param lowerCase if true, the name will be returned in lower case,
* which is useful to speed up sorting by name, case insensitively.
* @return the file's name * @return the file's name
*/ */
QString name(bool lowerCase = false) const; QString name() const;
/** /**
* Returns the mimetype of the file item. Equivalent to mimeTypePtr()->name() * Returns the mimetype of the file item. Equivalent to mimeTypePtr()->name()