forked from qt-creator/qt-creator
QmlDesigner: Close the popup when model is detached
This happens when leaving the edit mode or the document is changed. Task-number: QDS-10707 Change-Id: I4b4e2511674d38c2d733db29070c01252c27c386 Reviewed-by: Aleksei German <aleksei.german@qt.io>
This commit is contained in:
@@ -43,7 +43,7 @@ PopupDialog {
|
||||
|
||||
Connections {
|
||||
target: root.backend
|
||||
function onPopupTargetRemoved() {
|
||||
function onPopupShouldClose() {
|
||||
root.close()
|
||||
}
|
||||
}
|
||||
|
@@ -493,7 +493,7 @@ void ConnectionModel::nodeAboutToBeRemoved(const ModelNode &removedNode)
|
||||
if (selectedSignal.isValid()) {
|
||||
ModelNode targetNode = getTargetNodeForConnection(selectedSignal.parentModelNode());
|
||||
if (targetNode == removedNode) {
|
||||
emit m_delegate->popupTargetRemoved();
|
||||
emit m_delegate->popupShouldClose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2103,4 +2103,9 @@ ConnectionEditorStatements::ComparativeStatement ConditionListModel::toStatement
|
||||
return {};
|
||||
}
|
||||
|
||||
void QmlDesigner::ConnectionModel::modelAboutToBeDetached()
|
||||
{
|
||||
emit m_delegate->popupShouldClose();
|
||||
}
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
@@ -72,6 +72,7 @@ public:
|
||||
void selectProperty(const SignalHandlerProperty &property);
|
||||
|
||||
void nodeAboutToBeRemoved(const ModelNode &removedNode);
|
||||
void modelAboutToBeDetached();
|
||||
|
||||
signals:
|
||||
void currentIndexChanged();
|
||||
@@ -298,7 +299,7 @@ signals:
|
||||
void hasConditionChanged();
|
||||
void hasElseChanged();
|
||||
void sourceChanged();
|
||||
void popupTargetRemoved();
|
||||
void popupShouldClose();
|
||||
|
||||
private:
|
||||
int currentRow() const;
|
||||
|
@@ -169,6 +169,7 @@ void ConnectionView::modelAboutToBeDetached(Model *model)
|
||||
bindingModel()->reset();
|
||||
dynamicPropertiesModel()->reset();
|
||||
connectionModel()->resetModel();
|
||||
connectionModel()->modelAboutToBeDetached();
|
||||
}
|
||||
|
||||
void ConnectionView::nodeCreated(const ModelNode & /*createdNode*/)
|
||||
|
Reference in New Issue
Block a user