Russian Qt Forum

Qt => Model-View (MV) => Тема начата: rik_rik от Ноябрь 27, 2012, 20:54



Название: file manadger QFileSystemModel и treeView
Отправлено: rik_rik от Ноябрь 27, 2012, 20:54
Доброго времени суток
Код
C++ (Qt)
#include "filemanager.h"
#include "ui_filemanager.h"
 
filemanager::filemanager(QWidget *parent) :
   QDialog(parent),
   ui(new Ui::filemanager)
{
   ui->setupUi(this);
   modeldir = new QFileSystemModel(this);
 
 
   modeldir->setFilter(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs);
   modeldir->setRootPath(QString("/"));
   ui->treeView->setModel(modeldir);
   ui->treeView->setSortingEnabled(true);
   ui->treeView->setRootIsDecorated (false);
}
 
 
filemanager::~filemanager()
{
   delete modeldir;
   delete ui;
}
 
 
void filemanager::on_treeView_doubleClicked(const QModelIndex &index)
{
   QString sPath = modeldir->fileInfo(index).absoluteFilePath();
   if (sPath == QString("/"))
       modeldir->setFilter(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs);
   else
       modeldir->setFilter(QDir::NoDot | QDir::Files | QDir::AllDirs);
   ui->treeView->setRootIndex(modeldir->setRootPath(sPath));
}
 

все нормально работает без 
Код
C++ (Qt)
ui->treeView->setRootIsDecorated (false);
 

но как только я эту строку добавил в конструктор, дабы избавиться от "+" После нескольких прощелкиваний по директориям появляются "+" на директорию по которой щескал, и сбивается фильтер.  Проверял на нескольких дистрибутивах и на QT 4.7.4 b 4.8.3 одно  и тоже

походу, Баг ?