Qt-interest Archive, May 2007
how to sort dir and files?
Message 1 in thread
hi,all
i have trouble with sort dirs and files in listview
QDir cwd(path);
cwd.cd(path))
if (!cwd.exists()) return;
cwd.setSorting( QDir::DirsFirst | QDir::Name | QDir::Reversed );
QListViewItem *tmp;
QFileInfo *fi;
char filesize[100];
QString filedate;
cwd.setFilter( QDir::Files | QDir::Dirs | QDir::NoSymLinks |
QDir::Hidden );
const QFileInfoList *list = cwd.entryInfoList();
QFileInfoListIterator it(*list);
it.atFirst();
while( (fi=it.current())!=0)
{
sprintf(filesize,"%d",fi->size());
filedate=fi->lastModified().toString("MMM dd yyyy");
if(fi->fileName()==".") {
++it;
continue;
}
if(fi->fileName()==".."){
QListViewItem* dirup = new
QListViewItem(leftListView, "..",QString(filesize),
filedate);
dirup->setPixmap(0,
KGlobal::iconLoader()->loadIcon("folder",KIcon::Small));
dirup->setSelectable(false);
++it;
continue;
}
else if(fi->isDir()){
(new
QListViewItem(leftListView,fi->fileName().latin1(),QString(filesize),filedate))->
setPixmap(0,
KGlobal::iconLoader()->loadIcon("folder",KIcon::Small));
++it;
}
else if(fi->isFile()){
(new QListViewItem(leftListView,fi->fileName().latin1(),
QString(filesize),filedate ))->
setPixmap(0,
KGlobal::iconLoader()->loadIcon("files",KIcon::Small));
++it;
}
}
tmp=leftListView->firstChild();
leftListView->takeItem(tmp);
leftListView->sort();
leftListView->insertItem(tmp);
i have setSorting( QDir::DirsFirst | QDir::Name
but it doesnt look dirs first then files,
what did i wrong?
regards.
--
[ signature omitted ]