diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/stateseditor')
3 files changed, 21 insertions, 28 deletions
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp index adb627a003..7e6808f177 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp @@ -106,22 +106,20 @@ QVariant StatesEditorModel::data(const QModelIndex &index, int role) const if (index.row() == 0) { return QString(tr("base state", "Implicit default state")); } else { - if (stateNode.hasVariantProperty("name")) { + if (stateNode.hasVariantProperty("name")) return stateNode.variantProperty("name").value(); - } else { + else return QVariant(); - } } } case StateImageSourceRole: { static int randomNumber = 0; randomNumber++; - if (index.row() == 0) { + if (index.row() == 0) return QString("image://qmldesigner_stateseditor/baseState-%1").arg(randomNumber); - } else { + else return QString("image://qmldesigner_stateseditor/%1-%2").arg(index.internalId()).arg(randomNumber); - } } case NodeId : return index.internalId(); } diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp index 896ce12007..7e9002213c 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp @@ -53,17 +53,15 @@ namespace QmlDesigner { StatesEditorView::StatesEditorView(QObject *parent) : QmlModelView(parent), m_statesEditorModel(new StatesEditorModel(this)), + m_statesEditorWidget(new StatesEditorWidget(this, m_statesEditorModel.data())), m_lastIndex(-1) { Q_ASSERT(m_statesEditorModel); // base state } -StatesEditorWidget *StatesEditorView::widget() +QWidget *StatesEditorView::widget() { - if (m_statesEditorWidget.isNull()) - m_statesEditorWidget = new StatesEditorWidget(this, m_statesEditorModel.data()); - return m_statesEditorWidget.data(); } @@ -79,11 +77,10 @@ void StatesEditorView::removeState(int nodeId) setCurrentState(baseState()); } else if (parentProperty.isValid()){ int index = parentProperty.indexOf(stateNode); - if (index == 0) { + if (index == 0) setCurrentState(parentProperty.at(1)); - } else { + else setCurrentState(parentProperty.at(index - 1)); - } } @@ -112,11 +109,10 @@ void StatesEditorView::synchonizeCurrentStateFromWidget() void StatesEditorView::createNewState() { - if (currentState().isBaseState()) { + if (currentState().isBaseState()) addState(); - } else { + else duplicateCurrentState(); - } } void StatesEditorView::addState() @@ -137,8 +133,9 @@ void StatesEditorView::addState() try { if ((rootStateGroup().allStates().count() < 1) && //QtQuick import might be missing - (!model()->hasImport(Import::createLibraryImport("QtQuick", "1.0"), true) && - !model()->hasImport(Import::createLibraryImport("QtQuick", "1.1"), true))) + (!model()->hasImport(Import::createLibraryImport("QtQuick", "1.0"), true) + && !model()->hasImport(Import::createLibraryImport("QtQuick", "1.1"), true) + && !model()->hasImport(Import::createLibraryImport("QtQuick", "2.0"), true))) model()->changeImports(QList<Import>() << Import::createLibraryImport("QtQuick", "1.0"), QList<Import>()); ModelNode newState = rootStateGroup().addState(newStateName); setCurrentState(newState); @@ -153,11 +150,10 @@ void StatesEditorView::resetModel() m_statesEditorModel->reset(); if (m_statesEditorWidget) { - if (currentState().isBaseState()) { + if (currentState().isBaseState()) m_statesEditorWidget->setCurrentStateInternalId(currentState().modelNode().internalId()); - } else { + else m_statesEditorWidget->setCurrentStateInternalId(0); - } } } @@ -257,9 +253,8 @@ void StatesEditorView::nodeAboutToBeRemoved(const ModelNode &removedNode) { if (removedNode.hasParentProperty()) { const NodeAbstractProperty propertyParent = removedNode.parentProperty(); - if (propertyParent.parentModelNode().isRootNode() && propertyParent.name() == "states") { + if (propertyParent.parentModelNode().isRootNode() && propertyParent.name() == "states") m_lastIndex = propertyParent.indexOf(removedNode); - } } if (currentState().isValid() && removedNode == currentState()) setCurrentState(baseState()); @@ -309,11 +304,10 @@ void StatesEditorView::actualStateChanged(const ModelNode &node) { QmlModelState newQmlModelState(node); - if (newQmlModelState.isBaseState()) { + if (newQmlModelState.isBaseState()) m_statesEditorWidget->setCurrentStateInternalId(0); - } else { + else m_statesEditorWidget->setCurrentStateInternalId(newQmlModelState.modelNode().internalId()); - } QmlModelView::actualStateChanged(node); } @@ -336,7 +330,7 @@ void StatesEditorView::instancesPreviewImageChanged(const QVector<ModelNode> &no { int minimumIndex = 10000; int maximumIndex = -1; - foreach(const ModelNode &node, nodeList) { + foreach (const ModelNode &node, nodeList) { if (node.isRootNode()) { minimumIndex = qMin(minimumIndex, 0); maximumIndex = qMax(maximumIndex, 0); diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h index 558b12337c..794bd1ce6a 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h @@ -76,7 +76,7 @@ public: void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList); - StatesEditorWidget *widget(); + QWidget *widget(); public slots: void synchonizeCurrentStateFromWidget(); @@ -84,6 +84,7 @@ public slots: void removeState(int nodeId); private: + StatesEditorWidget *statesEditorWidget() const; void resetModel(); void addState(); void duplicateCurrentState(); |