Skip to content

Instantly share code, notes, and snippets.

@haraki
Created May 17, 2018 02:26
Show Gist options
  • Save haraki/1ca26ed2780f17dea26e2b21b9545a05 to your computer and use it in GitHub Desktop.
Save haraki/1ca26ed2780f17dea26e2b21b9545a05 to your computer and use it in GitHub Desktop.
bool FolderModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const
{
QFileInfo l_info = fsModel_->fileInfo(source_left);
QFileInfo r_info = fsModel_->fileInfo(source_right);
bool ascOrder = (sortOrder_ == Qt::AscendingOrder);
if(dotFirst_)
{
if(l_info.fileName() == ".")
{
return ascOrder;
}
else if(r_info.fileName() == ".")
{
return !ascOrder;
}
else if(l_info.fileName() == ".." && r_info.fileName() != ".")
{
return ascOrder;
}
else if(r_info.fileName() == ".." && l_info.fileName() != ".")
{
return !ascOrder;
}
}
if(sortFlags_ & QDir::DirsFirst)
{
if(!l_info.isDir() && r_info.isDir())
{
return !ascOrder;
}
else if(l_info.isDir() && !r_info.isDir())
{
return ascOrder;
}
}
else if(sortFlags_ & QDir::DirsLast)
{
if(!l_info.isDir() && r_info.isDir())
{
return ascOrder;
}
else if(l_info.isDir() && !r_info.isDir())
{
return !ascOrder;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment