void CrumbleBar::onCrumblePathElementClicked(const QVariant &data) { CrumbleBarInfo clickedCrumbleBarInfo = data.value<CrumbleBarInfo>(); if (clickedCrumbleBarInfo == crumblePath()->dataForLastIndex().value<CrumbleBarInfo>()) return; while (clickedCrumbleBarInfo != crumblePath()->dataForLastIndex().value<CrumbleBarInfo>()) crumblePath()->popElement(); if (crumblePath()->dataForLastIndex().value<CrumbleBarInfo>().modelNode.isValid()) crumblePath()->popElement(); m_isInternalCalled = true; if (!clickedCrumbleBarInfo.modelNode.isValid() && clickedCrumbleBarInfo.fileName == currentDesignDocument()->fileName()) { nextFileIsCalledInternally(); currentDesignDocument()->changeToDocumentModel(); QmlDesignerPlugin::instance()->viewManager().setComponentViewToMaster(); } else { showSaveDialog(); crumblePath()->popElement(); nextFileIsCalledInternally(); Core::EditorManager::openEditor(clickedCrumbleBarInfo.fileName, Core::Id(), Core::EditorManager::DoNotMakeVisible); if (clickedCrumbleBarInfo.modelNode.isValid()) { currentDesignDocument()->changeToSubComponent(clickedCrumbleBarInfo.modelNode); QmlDesignerPlugin::instance()->viewManager().setComponentNode(clickedCrumbleBarInfo.modelNode); } else { QmlDesignerPlugin::instance()->viewManager().setComponentViewToMaster(); } } updateVisibility(); }
static void activate(int val) { showSaveDialog(); }