summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs/qfiledialog.cpp
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2020-08-19 13:40:34 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-08-25 06:33:44 +0200
commitfb9ec8ad44decba7b2878370f3711b61614f035a (patch)
tree6904b3936a8ee7c61a770ef92a4e033bb18b0fc3 /src/widgets/dialogs/qfiledialog.cpp
parente24bbc4871e6a3711ffaa0e01397a40954465a3a (diff)
Move QFileSystemModel into QtGui
This requires a QAbstractFileIconProvider in QtGui, as the standard QFileIconProvider depends on QStyle, and cannot be moved out of QtWidgets. QAbstractFileIconProvider returns strings for file types, but returns no icons yet. Support for a default icon set might be added in a follow-up commit. Change-Id: Ib9d095cd612fdcf04db62f2e40709fcffe3dc2b7 Fixes: QTBUG-66177 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/widgets/dialogs/qfiledialog.cpp')
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index bd58062375..81e182c352 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -1952,7 +1952,7 @@ QAbstractItemDelegate *QFileDialog::itemDelegate() const
/*!
Sets the icon provider used by the filedialog to the specified \a provider.
*/
-void QFileDialog::setIconProvider(QFileIconProvider *provider)
+void QFileDialog::setIconProvider(QAbstractFileIconProvider *provider)
{
Q_D(QFileDialog);
if (!d->usingWidgets())
@@ -1965,7 +1965,7 @@ void QFileDialog::setIconProvider(QFileIconProvider *provider)
/*!
Returns the icon provider used by the filedialog.
*/
-QFileIconProvider *QFileDialog::iconProvider() const
+QAbstractFileIconProvider *QFileDialog::iconProvider() const
{
Q_D(const QFileDialog);
if (!d->model)
@@ -2977,6 +2977,7 @@ void QFileDialogPrivate::createWidgets()
Qt::WindowStates preState = q->windowState();
model = new QFileSystemModel(q);
+ model->setIconProvider(&defaultIconProvider);
model->setFilter(options->filter());
model->setObjectName(QLatin1String("qt_filesystem_model"));
if (QPlatformFileDialogHelper *helper = platformFileDialogHelper())