diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-02-06 13:12:55 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-02-06 13:14:43 +0100 |
commit | a17f96d42a9dda46d6cab3f594cdff36a8335cec (patch) | |
tree | 77ae81fd0e63056924b44a763d33f2750487c45a /src/plugins/qmldesigner/components/integration/componentaction.cpp | |
parent | 66ddcb54c28fc2d3a7f2e4cf928ea400daa52803 (diff) | |
download | qt-creator-a17f96d42a9dda46d6cab3f594cdff36a8335cec.tar.gz |
QmlDesigner: Fix crumble bar
Change-Id: I8eefba1b5b9839b28be5dbae379366714f40ed27
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Diffstat (limited to 'src/plugins/qmldesigner/components/integration/componentaction.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/integration/componentaction.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/plugins/qmldesigner/components/integration/componentaction.cpp b/src/plugins/qmldesigner/components/integration/componentaction.cpp index 6ba366532e..ec5b72e8ed 100644 --- a/src/plugins/qmldesigner/components/integration/componentaction.cpp +++ b/src/plugins/qmldesigner/components/integration/componentaction.cpp @@ -39,13 +39,16 @@ namespace QmlDesigner { ComponentAction::ComponentAction(ComponentView *componentView) : QWidgetAction(componentView), - m_componentView(componentView) + m_componentView(componentView), + dontEmitCurrentComponentChanged(false) { } void ComponentAction::setCurrentIndex(int index) { + dontEmitCurrentComponentChanged = true; emit currentIndexChanged(index); + dontEmitCurrentComponentChanged = false; } QWidget *ComponentAction::createWidget(QWidget *parent) @@ -54,25 +57,19 @@ QWidget *ComponentAction::createWidget(QWidget *parent) comboBox->setMinimumWidth(120); comboBox->setToolTip(tr("Edit sub components defined in this file")); comboBox->setModel(m_componentView->standardItemModel()); - connect(comboBox, SIGNAL(currentIndexChanged(int)), SLOT(emitCurrentComponentChanged(int))); + comboBox->setCurrentIndex(-1); + connect(comboBox, SIGNAL(activated(int)), SLOT(emitCurrentComponentChanged(int))); connect(this, SIGNAL(currentIndexChanged(int)), comboBox, SLOT(setCurrentIndex(int))); return comboBox; } -static const QString fileNameOfCurrentDocument() -{ - return QmlDesignerPlugin::instance()->documentManager().currentDesignDocument()->textEditor()->document()->fileName(); -} - void ComponentAction::emitCurrentComponentChanged(int index) { - ModelNode componentNode = m_componentView->modelNode(index); + if (dontEmitCurrentComponentChanged) + return; - if ( index > 0) - QmlDesignerPlugin::instance()->viewManager().pushInFileComponentOnCrambleBar(componentNode.id()); - else - QmlDesignerPlugin::instance()->viewManager().pushFileOnCrambleBar(fileNameOfCurrentDocument()); + ModelNode componentNode = m_componentView->modelNode(index); emit currentComponentChanged(componentNode); } |