diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index caf0663dce..6dee5a6d3a 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -384,7 +384,19 @@ void ItemLibraryWidget::updateModel() { QTC_ASSERT(m_itemLibraryModel, return); + if (m_compressionTimer.isActive()) { + m_updateRetry = false; + m_compressionTimer.stop(); + } + m_itemLibraryModel->update(m_itemLibraryInfo.data(), m_model.data()); + + if (m_itemLibraryModel->rowCount() == 0 && !m_updateRetry) { + m_updateRetry = true; // Only retry once to avoid endless loops + m_compressionTimer.start(); + } else { + m_updateRetry = false; + } updateImports(); updateSearch(); } @@ -518,11 +530,10 @@ void ItemLibraryWidget::addResources() static QString lastDir; const QString currentDir = lastDir.isEmpty() ? document->fileName().parentDir().toString() : lastDir; - const auto fileNames = QFileDialog::getOpenFileNames(Core::ICore::mainWindow(), - tr("Add Assets"), - currentDir, - filters.join(";;")); - + const auto fileNames = QFileDialog::getOpenFileNames(Core::ICore::dialogParent(), + tr("Add Assets"), + currentDir, + filters.join(";;")); if (!fileNames.isEmpty()) lastDir = QFileInfo(fileNames.first()).absolutePath(); |