Simplify natural sort classes interface

Now the comparison function/class should be constructed before usage.
This change also make it easier to plug in into various containers which
will require a compare function type (such as std::set).
This commit is contained in:
Chocobo1
2021-04-05 13:02:28 +08:00
parent 5045fa6dcd
commit a64bb1a990
24 changed files with 235 additions and 177 deletions

View File

@@ -29,7 +29,6 @@
#include "searchsortmodel.h"
#include "base/global.h"
#include "base/utils/string.h"
SearchSortModel::SearchSortModel(QObject *parent)
: base(parent)
@@ -118,11 +117,10 @@ bool SearchSortModel::lessThan(const QModelIndex &left, const QModelIndex &right
{
case NAME:
case ENGINE_URL:
{
{
const QString strL = left.data().toString();
const QString strR = right.data().toString();
const int result = Utils::String::naturalCompare(strL, strR, Qt::CaseInsensitive);
return (result < 0);
return m_naturalLessThan(strL, strR);
}
break;
default: