mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
fixed sorting in ComicModel
This commit is contained in:
parent
26b64d1254
commit
acaa4e0f24
@ -534,7 +534,7 @@ void ComicModel::setupModelData(QSqlQuery &sqlquery)
|
|||||||
i = _data.end();
|
i = _data.end();
|
||||||
i--;
|
i--;
|
||||||
|
|
||||||
if(numberCurrent != max)
|
if(numberCurrent != max) //sort the current item by issue number
|
||||||
{
|
{
|
||||||
while ((lessThan =numberCurrent < numberLast) && i != _data.begin())
|
while ((lessThan =numberCurrent < numberLast) && i != _data.begin())
|
||||||
{
|
{
|
||||||
@ -544,23 +544,10 @@ void ComicModel::setupModelData(QSqlQuery &sqlquery)
|
|||||||
if(!(*i)->data(ComicModel::Number).isNull())
|
if(!(*i)->data(ComicModel::Number).isNull())
|
||||||
numberLast = (*i)->data(ComicModel::Number).toInt();
|
numberLast = (*i)->data(ComicModel::Number).toInt();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
if(lessThan)
|
||||||
|
_data.insert(i,currentItem);
|
||||||
else
|
else
|
||||||
{
|
|
||||||
while ((lessThan = naturalSortLessThanCI(nameCurrent,nameLast)) && i != _data.begin() && numberLast == max)
|
|
||||||
{
|
|
||||||
i--;
|
|
||||||
nameLast = (*i)->data(ComicModel::FileName).toString();
|
|
||||||
numberLast = max;
|
|
||||||
|
|
||||||
if(!(*i)->data(ComicModel::Number).isNull())
|
|
||||||
numberLast = (*i)->data(ComicModel::Number).toInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
if(!lessThan) //si se ha encontrado un elemento menor que current, se inserta justo despu�s
|
|
||||||
{
|
|
||||||
if(numberCurrent != max)
|
|
||||||
{
|
{
|
||||||
if(numberCurrent == numberLast)
|
if(numberCurrent == numberLast)
|
||||||
if(currentItem->data(ComicModel::IsBis).toBool())
|
if(currentItem->data(ComicModel::IsBis).toBool())
|
||||||
@ -572,14 +559,31 @@ void ComicModel::setupModelData(QSqlQuery &sqlquery)
|
|||||||
else
|
else
|
||||||
_data.insert(++i,currentItem);
|
_data.insert(++i,currentItem);
|
||||||
}
|
}
|
||||||
else
|
continue;
|
||||||
_data.insert(++i,currentItem);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_data.insert(i,currentItem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else //sort the current item by title
|
||||||
|
{
|
||||||
|
while ((lessThan = naturalSortLessThanCI(nameCurrent,nameLast)) && i != _data.begin() && numberLast == max)
|
||||||
|
{
|
||||||
|
i--;
|
||||||
|
nameLast = (*i)->data(ComicModel::FileName).toString();
|
||||||
|
numberLast = max;
|
||||||
|
|
||||||
|
if(!(*i)->data(ComicModel::Number).isNull())
|
||||||
|
numberLast = (*i)->data(ComicModel::Number).toInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(numberLast != max)
|
||||||
|
_data.insert(++i,currentItem);
|
||||||
|
else
|
||||||
|
if(lessThan)
|
||||||
|
_data.insert(i,currentItem);
|
||||||
|
else
|
||||||
|
_data.insert(++i,currentItem);
|
||||||
|
continue;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user