forked from qt-creator/qt-creator
QmlDesigner: Fix import version when adding unimported module
Fixes: QDS-3994 Change-Id: If39df641cbfb563a169b3b2e8001f68941fd398c Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -78,7 +78,6 @@ ScrollView {
|
||||
|
||||
property string importToRemove: ""
|
||||
property string importToAdd: ""
|
||||
property var currentItem: null
|
||||
|
||||
// called from C++ to close context menu on focus out
|
||||
function closeContextMenu()
|
||||
@@ -137,8 +136,8 @@ ScrollView {
|
||||
StudioControls.MenuItem {
|
||||
id: importMenuItem
|
||||
text: qsTr("Add Module: ") + importToAdd
|
||||
enabled: currentItem
|
||||
onTriggered: rootView.addImportForItem(currentItem)
|
||||
enabled: importToAdd !== ""
|
||||
onTriggered: rootView.addImportForItem(importToAdd)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -211,10 +210,7 @@ ScrollView {
|
||||
onShowContextMenu: {
|
||||
if (!itemUsable) {
|
||||
importToAdd = itemRequiredImport
|
||||
if (importToAdd !== "") {
|
||||
currentItem = itemLibraryEntry
|
||||
itemContextMenu.popup()
|
||||
}
|
||||
itemContextMenu.popup()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -141,6 +141,15 @@ void ItemLibraryAddImportModel::update(const QList<Import> &possibleImports)
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
Import ItemLibraryAddImportModel::getImport(const QString &importUrl) const
|
||||
{
|
||||
for (const Import &import : std::as_const(m_importList))
|
||||
if (import.url() == importUrl)
|
||||
return import;
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
void ItemLibraryAddImportModel::setSearchText(const QString &searchText)
|
||||
{
|
||||
QString lowerSearchText = searchText.toLower();
|
||||
|
@@ -51,6 +51,7 @@ public:
|
||||
Import getImportAt(int index) const;
|
||||
|
||||
void setPriorityImports(const QSet<QString> &priorityImports);
|
||||
Import getImport(const QString &importUrl) const;
|
||||
|
||||
private:
|
||||
QString m_searchText;
|
||||
|
@@ -434,12 +434,12 @@ void ItemLibraryWidget::removeImport(const QString &importUrl)
|
||||
m_model->changeImports({}, {importSection->importEntry()});
|
||||
}
|
||||
|
||||
void ItemLibraryWidget::addImportForItem(const QVariant &entry)
|
||||
void ItemLibraryWidget::addImportForItem(const QString &importUrl)
|
||||
{
|
||||
QTC_ASSERT(m_itemLibraryModel, return);
|
||||
QTC_ASSERT(m_model, return);
|
||||
|
||||
Import import = m_itemLibraryModel->entryToImport(entry.value<ItemLibraryEntry>());
|
||||
Import import = m_itemLibraryAddImportModel->getImport(importUrl);
|
||||
m_model->changeImports({import}, {});
|
||||
}
|
||||
|
||||
|
@@ -90,7 +90,7 @@ public:
|
||||
|
||||
Q_INVOKABLE void startDragAndDrop(const QVariant &itemLibEntry, const QPointF &mousePos);
|
||||
Q_INVOKABLE void removeImport(const QString &importUrl);
|
||||
Q_INVOKABLE void addImportForItem(const QVariant &entry);
|
||||
Q_INVOKABLE void addImportForItem(const QString &importUrl);
|
||||
Q_INVOKABLE void handleTabChanged(int index);
|
||||
Q_INVOKABLE void handleAddModule();
|
||||
Q_INVOKABLE void handleAddAsset();
|
||||
|
Reference in New Issue
Block a user