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