[ 2paca.zwaka @ 14.11.2011. 19:31 ] @
Koristim qt creator i ovo mi je prvi put da koristim ViewModel pattern u qt.
Koristio sam nesto veoma slicno u WPF (Model-View-ViewModel)
Konkretno ovde koristim objekat tipa QFileSystemModel*i hocu da prikazem sve foldere kao na slici.
Slika
Ali imam jedan problem a to je ovo u crvenom kvadraticu.
Folder cije je ime "." je trenutno odabrani folder u ovom slucaju QtSDK a folder sa imenom ".." je C:/
Kako da uklonim ove foldere iz treeView-a tj. njegovom modela koji zapravo ne postoje ?

Hvala unapred
[ glorius @ 16.11.2011. 17:51 ] @
Koliko sam razumeo, ti zelis da se "." i ".." ne prikazuju u TreeView.

Ideja je da customizujes ponasanje modela QFileSystemModel.
Nasledis klasu i overrideujes funkciju koja je odgovorna za prosledjivanje podataka View-u a to je
virtual QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const

koja je virtualna tako da ces moci da dodas svoju funkcionalnost.

Code:
 

class MyFileSystemModel : public QFileSystemModel

......

QVariant MyFileSystemModel ::data ( const QModelIndex & index, int role /*= Qt::DisplayRole*/ ) const
{
    if(role == Qt::DisplayRole)
   {
         QString folderName = QFileSystemModel::data(index, role).toString();
         if(folderName == "." || folderName == "..")
         {
               return QVariant();
         }
   }
   
   // 'difoltno' ponasanje u slucaju da imena foldera nisu "." || ".."
   return QFileSystemModel::data(index, role);







[Ovu poruku je menjao glorius dana 16.11.2011. u 20:00 GMT+1]

[Ovu poruku je menjao glorius dana 17.11.2011. u 00:50 GMT+1]
[ 2paca.zwaka @ 25.11.2011. 18:56 ] @
Hvala na odgovoru ali sam naisao na bolje resenje.
Code:

this->folderModel->setFilter(QDir::Dirs | QDir::NoDotAndDotDot);