Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 2

Qt-interest Archive, May 2007
why not QListView display items in the order QListViewItem created?


Message 1 in thread

hi,
the display order of QListView confuse me again
files in a directory can displayed in m_listview ascending;
but dirs in a directory cannot and neither ascending nor descending;
but strangething is printf does!

this is my code fragment:

     QDir cwd(path);
	if (path != "")
	       	if (!cwd.cd(path))
			return;
	if (!cwd.exists()) return;
        cwd.setSorting( QDir::Name );
      	
	QFileInfo *fi;

	cwd.setFilter(  QDir::Dirs | QDir::NoSymLinks | QDir::Hidden );
	const QFileInfoList *dirlist = cwd.entryInfoList();
	QFileInfoListIterator dit(*dirlist);
	dit.atFirst();
	while( (fi=dit.current())!=0)
	{
		printf("%s\n",fi->fileName().ascii());     // print dirs in ascending

		if(fi->fileName()=="."||fi->fileName()=="..") {
			++dit;
			continue;
		}
		else
		{
			new QListViewItem(m_ListView,fi->fileName().latin1());
                       // but in m_listview dirs is not ascending;
			++dit;
		}
	}

	cwd.setFilter(QDir::Files | QDir::NoSymLinks | QDir::Hidden);
	const QFileInfoList *filelist = cwd.entryInfoList();
	QFileInfoListIterator fit(*filelist);
	fit.atFirst();
        while ( (fi=fit.current())!=0)
        {
                printf("%s\n",fi->fileName().ascii());
                //print files ascending
		new QListViewItem(m_ListView,fi->fileName().latin1());
                //show files ascending too
                ++fit;
        }
what's the problem?
thanks

--
 [ signature omitted ]