QmlDesigner: Add alias export to node

Change-Id: Ifa7ae959f6aa4622549e5c32a5df14893124c1b6
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Thomas Hartmann
2016-02-22 12:14:39 +01:00
parent 3243d1406a
commit 6bb916c451
2 changed files with 28 additions and 4 deletions

View File

@@ -624,8 +624,33 @@ static QStringList getSortedSignalNameList(const ModelNode &modelNode)
void gotoImplementation(const SelectionContext &selectionState)
{
QString itemId;
if (selectionState.singleNodeIsSelected())
ModelNode modelNode;
if (selectionState.singleNodeIsSelected()) {
itemId = selectionState.selectedModelNodes().first().id();
modelNode = selectionState.selectedModelNodes().first();
}
QmlObjectNode qmlObjectNode(modelNode);
if (!qmlObjectNode.isValid()) {
QString title = QCoreApplication::translate("ModelNodeOperations", "Go to Implementation");
QString description = QCoreApplication::translate("ModelNodeOperations", "Invalid item.");
Core::AsynchronousMessageBox::warning(title, description);
return;
}
if (!qmlObjectNode.isRootModelNode()) {
try {
RewriterTransaction transaction =
qmlObjectNode.view()->beginRewriterTransaction(QByteArrayLiteral("NavigatorTreeModel:exportItem"));
QmlObjectNode qmlObjectNode(modelNode);
qmlObjectNode.ensureAliasExport();
} catch (RewritingException &exception) { //better safe than sorry! There always might be cases where we fail
exception.showException();
}
}
const QString fileName = QmlDesignerPlugin::instance()->documentManager().currentDesignDocument()->fileName().toString();
const QString typeName = QmlDesignerPlugin::instance()->documentManager().currentDesignDocument()->fileName().toFileInfo().baseName();

View File

@@ -425,9 +425,8 @@ void NavigatorTreeModel::handleChangedExportItem(QStandardItem *exportItem, Mode
RewriterTransaction transaction =
m_view->beginRewriterTransaction(QByteArrayLiteral("NavigatorTreeModel:exportItem"));
modelNode.validId();
modelNodeId = modelNode.id().toUtf8();
rootModelNode.bindingProperty(modelNodeId).setDynamicTypeNameAndExpression("alias", modelNodeId);
QmlObjectNode qmlObjectNode(modelNode);
qmlObjectNode.ensureAliasExport();
} catch (RewritingException &exception) { //better safe than sorry! There always might be cases where we fail
exception.showException();
}