From 3fbb8df4173c33d81105fb37f4a1d5f7687efb52 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 26 Jun 2014 18:01:26 +0200 Subject: [PATCH] QmlDesigner.PropertyEditor: Fix FileResourcesModel The FileResourcesModel did not work reliable, because the filters could be set after the modelNodeBackendProperty was set. Now we properly update the model if the filters change. Task-number: QTCREATORBUG-12537 Change-Id: I0409531ea7ff23e671b4694605a0c8d35f0be6eb Reviewed-by: Thomas Hartmann --- .../components/propertyeditor/fileresourcesmodel.cpp | 7 ++++++- .../components/propertyeditor/fileresourcesmodel.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp index 6c142517976..5e075677b46 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp @@ -91,7 +91,10 @@ QUrl FileResourcesModel::path() const void FileResourcesModel::setFilter(const QString &filter) { - m_filter = filter; + if (m_filter != filter) { + m_filter = filter; + setupModel(); + } } QString FileResourcesModel::filter() const @@ -173,4 +176,6 @@ void FileResourcesModel::setupModel() } m_lock = false; + + emit fileModelChanged(); } diff --git a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.h b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.h index 71d2c167005..798e0c3bfdd 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.h +++ b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.h @@ -45,7 +45,7 @@ class FileResourcesModel : public QObject Q_PROPERTY(QString filter READ filter WRITE setFilter) Q_PROPERTY(QVariant modelNodeBackendProperty READ modelNodeBackend WRITE setModelNodeBackend NOTIFY modelNodeBackendChanged) Q_PROPERTY(QUrl path READ path WRITE setPath) - Q_PROPERTY(QStringList fileModel READ fileModel NOTIFY modelNodeBackendChanged) + Q_PROPERTY(QStringList fileModel READ fileModel NOTIFY fileModelChanged) public: explicit FileResourcesModel(QObject *parent = 0); @@ -68,6 +68,7 @@ public: signals: void fileNameChanged(const QUrl &fileName); void modelNodeBackendChanged(); + void fileModelChanged(); public slots: