forked from qt-creator/qt-creator
QmlDesigner.itemLibrary: use QFileSystemModel
QDirModel is depricated. Task-number: QTCREATORBUG-3134 Change-Id: I21faf0c48a0126db6545893e8f3a86aa5180fffd Reviewed-on: http://codereview.qt.nokia.com/2279 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
#include <QPainter>
|
||||
#include <QLabel>
|
||||
#include <itemlibraryinfo.h>
|
||||
#include <QDirModel>
|
||||
#include <QFileSystemModel>
|
||||
#include <QProxyStyle>
|
||||
|
||||
enum { debug = 0 };
|
||||
@@ -120,9 +120,9 @@ void ItemLibraryTreeView::startDrag(Qt::DropActions /* supportedActions */)
|
||||
if (!mimeData)
|
||||
return;
|
||||
|
||||
QDirModel *dirModel = qobject_cast<QDirModel*>(model());
|
||||
Q_ASSERT(dirModel);
|
||||
QFileInfo fileInfo = dirModel->fileInfo(selectedIndexes().front());
|
||||
QFileSystemModel *fileSystemModel = qobject_cast<QFileSystemModel*>(model());
|
||||
Q_ASSERT(fileSystemModel);
|
||||
QFileInfo fileInfo = fileSystemModel->fileInfo(selectedIndexes().front());
|
||||
QPixmap pixmap(fileInfo.absoluteFilePath());
|
||||
if (!pixmap.isNull()) {
|
||||
CustomItemLibraryDrag *drag = new CustomItemLibraryDrag(this);
|
||||
@@ -137,10 +137,10 @@ void ItemLibraryTreeView::startDrag(Qt::DropActions /* supportedActions */)
|
||||
|
||||
void ItemLibraryTreeView::setModel(QAbstractItemModel *model)
|
||||
{
|
||||
QDirModel *dirModel = dynamic_cast<QDirModel *>(model);
|
||||
if (dirModel) {
|
||||
QFileSystemModel *fileSystemModel = dynamic_cast<QFileSystemModel *>(model);
|
||||
if (fileSystemModel) {
|
||||
QTreeView::setModel(model);
|
||||
m_delegate->setModel(dirModel);
|
||||
m_delegate->setModel(fileSystemModel);
|
||||
setColumnHidden(1, true);
|
||||
setColumnHidden(2, true);
|
||||
setColumnHidden(3, true);
|
||||
@@ -155,9 +155,9 @@ void ItemLibraryTreeView::activateItem( const QModelIndex & /*index*/)
|
||||
return;
|
||||
|
||||
QString name;
|
||||
QDirModel *dirModel = qobject_cast<QDirModel*>(model());
|
||||
Q_ASSERT(dirModel);
|
||||
QFileInfo fileInfo = dirModel->fileInfo(selectedIndexes().front());
|
||||
QFileSystemModel *fileSystemModel = qobject_cast<QFileSystemModel*>(model());
|
||||
Q_ASSERT(fileSystemModel);
|
||||
QFileInfo fileInfo = fileSystemModel->fileInfo(selectedIndexes().front());
|
||||
QPixmap pixmap(fileInfo.absoluteFilePath());
|
||||
if (!pixmap.isNull()) {
|
||||
name = "image^" + fileInfo.absoluteFilePath();
|
||||
@@ -195,7 +195,7 @@ QSize ResourceItemDelegate::sizeHint(const QStyleOptionViewItem &/*option*/,
|
||||
return icon.availableSizes().front() + QSize(25, 4);
|
||||
}
|
||||
|
||||
void ResourceItemDelegate::setModel(QDirModel *model)
|
||||
void ResourceItemDelegate::setModel(QFileSystemModel *model)
|
||||
{
|
||||
m_model = model;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#include <QStyledItemDelegate>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QDirModel;
|
||||
class QFileSystemModel;
|
||||
class QLabel;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
@@ -83,10 +83,10 @@ public:
|
||||
QSize sizeHint(const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const;
|
||||
|
||||
void setModel(QDirModel *model);
|
||||
void setModel(QFileSystemModel *model);
|
||||
|
||||
private:
|
||||
QDirModel *m_model;
|
||||
QFileSystemModel *m_model;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
#include <QFileInfo>
|
||||
#include <QFileIconProvider>
|
||||
#include <QDirModel>
|
||||
#include <QFileSystemModel>
|
||||
#include <QStackedWidget>
|
||||
#include <QGridLayout>
|
||||
#include <QTabBar>
|
||||
@@ -107,7 +107,7 @@ public:
|
||||
ItemLibraryWidgetPrivate(QObject *object);
|
||||
|
||||
Internal::ItemLibraryModel *m_itemLibraryModel;
|
||||
QDirModel *m_resourcesDirModel;
|
||||
QFileSystemModel *m_resourcesFileSystemModel;
|
||||
|
||||
QStackedWidget *m_stackedWidget;
|
||||
Utils::FilterLineEdit *m_lineEdit;
|
||||
@@ -122,7 +122,7 @@ public:
|
||||
|
||||
ItemLibraryWidgetPrivate::ItemLibraryWidgetPrivate(QObject *object) :
|
||||
m_itemLibraryModel(0),
|
||||
m_resourcesDirModel(0),
|
||||
m_resourcesFileSystemModel(0),
|
||||
m_stackedWidget(0),
|
||||
m_lineEdit(0),
|
||||
m_itemsView(0),
|
||||
@@ -172,10 +172,10 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
|
||||
connect(this, SIGNAL(resetItemsView()), rootItem, SLOT(resetView()));
|
||||
|
||||
/* create Resources view and its model */
|
||||
m_d->m_resourcesDirModel = new QDirModel(this);
|
||||
m_d->m_resourcesDirModel->setIconProvider(&m_d->m_iconProvider);
|
||||
m_d->m_resourcesFileSystemModel = new QFileSystemModel(this);
|
||||
m_d->m_resourcesFileSystemModel->setIconProvider(&m_d->m_iconProvider);
|
||||
m_d->m_resourcesView = new Internal::ItemLibraryTreeView(this);
|
||||
m_d->m_resourcesView->setModel(m_d->m_resourcesDirModel);
|
||||
m_d->m_resourcesView->setModel(m_d->m_resourcesFileSystemModel);
|
||||
m_d->m_resourcesView->setIconSize(m_d->m_resIconSize);
|
||||
|
||||
/* create image provider for loading item icons */
|
||||
@@ -333,8 +333,9 @@ void ItemLibraryWidget::setSearchFilter(const QString &searchFilter)
|
||||
}
|
||||
}
|
||||
|
||||
m_d->m_resourcesDirModel->setFilter(QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot);
|
||||
m_d->m_resourcesDirModel->setNameFilters(nameFilterList);
|
||||
m_d->m_resourcesFileSystemModel->setFilter(QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot);
|
||||
m_d->m_resourcesFileSystemModel->setNameFilterDisables(false);
|
||||
m_d->m_resourcesFileSystemModel->setNameFilters(nameFilterList);
|
||||
m_d->m_resourcesView->expandToDepth(1);
|
||||
m_d->m_resourcesView->scrollToTop();
|
||||
}
|
||||
@@ -454,8 +455,10 @@ void ItemLibraryWidget::updateSearch()
|
||||
|
||||
void ItemLibraryWidget::setResourcePath(const QString &resourcePath)
|
||||
{
|
||||
if (m_d->m_resourcesView->model() == m_d->m_resourcesDirModel)
|
||||
m_d->m_resourcesView->setRootIndex(m_d->m_resourcesDirModel->index(resourcePath));
|
||||
if (m_d->m_resourcesView->model() == m_d->m_resourcesFileSystemModel) {
|
||||
m_d->m_resourcesFileSystemModel->setRootPath(resourcePath);
|
||||
m_d->m_resourcesView->setRootIndex(m_d->m_resourcesFileSystemModel->index(resourcePath));
|
||||
}
|
||||
updateSearch();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user