forked from qt-creator/qt-creator
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 <Thomas.Hartmann@digia.com>
This commit is contained in:
@@ -91,7 +91,10 @@ QUrl FileResourcesModel::path() const
|
|||||||
|
|
||||||
void FileResourcesModel::setFilter(const QString &filter)
|
void FileResourcesModel::setFilter(const QString &filter)
|
||||||
{
|
{
|
||||||
m_filter = filter;
|
if (m_filter != filter) {
|
||||||
|
m_filter = filter;
|
||||||
|
setupModel();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FileResourcesModel::filter() const
|
QString FileResourcesModel::filter() const
|
||||||
@@ -173,4 +176,6 @@ void FileResourcesModel::setupModel()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_lock = false;
|
m_lock = false;
|
||||||
|
|
||||||
|
emit fileModelChanged();
|
||||||
}
|
}
|
||||||
|
@@ -45,7 +45,7 @@ class FileResourcesModel : public QObject
|
|||||||
Q_PROPERTY(QString filter READ filter WRITE setFilter)
|
Q_PROPERTY(QString filter READ filter WRITE setFilter)
|
||||||
Q_PROPERTY(QVariant modelNodeBackendProperty READ modelNodeBackend WRITE setModelNodeBackend NOTIFY modelNodeBackendChanged)
|
Q_PROPERTY(QVariant modelNodeBackendProperty READ modelNodeBackend WRITE setModelNodeBackend NOTIFY modelNodeBackendChanged)
|
||||||
Q_PROPERTY(QUrl path READ path WRITE setPath)
|
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:
|
public:
|
||||||
explicit FileResourcesModel(QObject *parent = 0);
|
explicit FileResourcesModel(QObject *parent = 0);
|
||||||
@@ -68,6 +68,7 @@ public:
|
|||||||
signals:
|
signals:
|
||||||
void fileNameChanged(const QUrl &fileName);
|
void fileNameChanged(const QUrl &fileName);
|
||||||
void modelNodeBackendChanged();
|
void modelNodeBackendChanged();
|
||||||
|
void fileModelChanged();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user