diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp index 0101260832897e2f8165fc12160e35701fe0f595..ad75ae32e45c510da1672c8368d69dc652b537ea 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp @@ -60,6 +60,8 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) fillLayout->setSpacing(0); setLayout(fillLayout); + QList<QAction*> upperActions; + m_toolActionGroup = new QActionGroup(this); m_transformToolAction = m_toolActionGroup->addAction("Transform Tool (Press Key Q)"); @@ -78,10 +80,12 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) connect(m_anchorToolAction.data(), SIGNAL(triggered(bool)), SLOT(changeAnchorTool(bool))); addActions(m_toolActionGroup->actions()); + upperActions.append(m_toolActionGroup->actions()); QAction *separatorAction = new QAction(this); separatorAction->setSeparator(true); addAction(separatorAction); + upperActions.append(separatorAction); QActionGroup *layoutActionGroup = new QActionGroup(this); layoutActionGroup->setExclusive(true); @@ -108,41 +112,12 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) m_noSnappingAction->setIcon(QPixmap(":/icon/layout/no_snapping.png")); addActions(layoutActionGroup->actions()); + upperActions.append(layoutActionGroup->actions()); separatorAction = new QAction(this); separatorAction->setSeparator(true); addAction(separatorAction); - - QActionGroup *layoutMarginActionGroup = new QActionGroup(this); - - m_snappingMarginAction = new NumberSeriesAction(layoutMarginActionGroup); - m_snappingMarginAction->addEntry("no margins (0)", 0); - m_snappingMarginAction->addEntry("small margin (2)", 2); - m_snappingMarginAction->addEntry("medium margin (6)", 6); - m_snappingMarginAction->addEntry("all in margin (10)", 10); - m_snappingMarginAction->setCurrentEntryIndex(3); - layoutMarginActionGroup->addAction(m_snappingMarginAction.data()); - - - m_snappingSpacingAction = new NumberSeriesAction(layoutMarginActionGroup); - m_snappingSpacingAction->addEntry("no spacing (0)", 0); - m_snappingSpacingAction->addEntry("small spacing (2)", 2); - m_snappingSpacingAction->addEntry("medium spacing (4)", 4); - m_snappingSpacingAction->addEntry("all in spacing (6)", 6); - m_snappingSpacingAction->setCurrentEntryIndex(1); - layoutMarginActionGroup->addAction(m_snappingSpacingAction.data()); - - addActions(layoutMarginActionGroup->actions()); - - - m_zoomAction = new ZoomAction(toolActionGroup()); - connect(m_zoomAction.data(), SIGNAL(zoomLevelChanged(double)), SLOT(setZoomLevel(double))); - addAction(m_zoomAction.data()); - - separatorAction = new QAction(this); - separatorAction->setSeparator(true); - addAction(separatorAction); - + upperActions.append(separatorAction); m_showBoundingRectAction = new QAction("Toogle Bounding Rectangles (Press Key A)", this); m_showBoundingRectAction->setShortcut(Qt::Key_A); @@ -152,6 +127,7 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) m_showBoundingRectAction->setIcon(QPixmap(":/icon/layout/boundingrect.png")); addAction(m_showBoundingRectAction.data()); + upperActions.append(m_showBoundingRectAction.data()); m_selectOnlyContentItemsAction = new QAction("Select Only Items with Content (Press Key S)", this); m_selectOnlyContentItemsAction->setShortcut(Qt::Key_S); @@ -161,17 +137,48 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) m_selectOnlyContentItemsAction->setIcon(QPixmap(":/icon/selection/selectonlycontentitems.png")); addAction(m_selectOnlyContentItemsAction.data()); + upperActions.append(m_selectOnlyContentItemsAction.data()); - separatorAction = new QAction(this); - separatorAction->setSeparator(true); - addAction(separatorAction); - m_toolBox = new ToolBox(this); - toolBox()->setActions(actions()); - fillLayout->addWidget(toolBox()); + ToolBox *upperToolBox = new ToolBox(this); + upperToolBox->setActions(upperActions); + fillLayout->addWidget(upperToolBox); m_graphicsView = new FormEditorGraphicsView(this); fillLayout->addWidget(m_graphicsView.data()); + + QList<QAction*> lowerActions; + + m_zoomAction = new ZoomAction(toolActionGroup()); + connect(m_zoomAction.data(), SIGNAL(zoomLevelChanged(double)), SLOT(setZoomLevel(double))); + addAction(m_zoomAction.data()); + lowerActions.append(m_zoomAction.data()); + + QActionGroup *layoutMarginActionGroup = new QActionGroup(this); + + m_snappingMarginAction = new NumberSeriesAction(layoutMarginActionGroup); + m_snappingMarginAction->addEntry("no margins (0)", 0); + m_snappingMarginAction->addEntry("small margin (2)", 2); + m_snappingMarginAction->addEntry("medium margin (6)", 6); + m_snappingMarginAction->addEntry("large margin (10)", 10); + m_snappingMarginAction->setCurrentEntryIndex(2); + layoutMarginActionGroup->addAction(m_snappingMarginAction.data()); + + + m_snappingSpacingAction = new NumberSeriesAction(layoutMarginActionGroup); + m_snappingSpacingAction->addEntry("no spacing (0)", 0); + m_snappingSpacingAction->addEntry("small spacing (2)", 2); + m_snappingSpacingAction->addEntry("medium spacing (4)", 4); + m_snappingSpacingAction->addEntry("large spacing (6)", 6); + m_snappingSpacingAction->setCurrentEntryIndex(1); + layoutMarginActionGroup->addAction(m_snappingSpacingAction.data()); + + addActions(layoutMarginActionGroup->actions()); + lowerActions.append(layoutMarginActionGroup->actions()); + + m_lowerToolBox = new ToolBox(this); + lowerToolBox()->setActions(lowerActions); + fillLayout->addWidget(lowerToolBox()); } void FormEditorWidget::enterEvent(QEvent *event) @@ -260,9 +267,9 @@ QActionGroup *FormEditorWidget::toolActionGroup() const return m_toolActionGroup.data(); } -ToolBox *FormEditorWidget::toolBox() const +ToolBox *FormEditorWidget::lowerToolBox() const { - return m_toolBox.data(); + return m_lowerToolBox.data(); } double FormEditorWidget::spacing() const diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h index 647566e134b012ba375a4ceac9bc79b72c811b01..20cda56723aefc9cd9001394e9f5d8442c002a48 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h +++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.h @@ -58,7 +58,7 @@ public: QAction *snappingAndAnchoringAction() const; void setScene(FormEditorScene *scene); - ToolBox *toolBox() const; + ToolBox *lowerToolBox() const; double spacing() const; double margins() const; @@ -81,7 +81,7 @@ private: QWeakPointer<QAction> m_anchorToolAction; QWeakPointer<QAction> m_transformToolAction; QWeakPointer<QActionGroup> m_toolActionGroup; - QWeakPointer<ToolBox> m_toolBox; + QWeakPointer<ToolBox> m_lowerToolBox; QWeakPointer<QAction> m_snappingAction; QWeakPointer<QAction> m_snappingAndAnchoringAction; QWeakPointer<QAction> m_noSnappingAction; diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index 00ea9072db1094974c14a0b33b6cb40cf1f17873..0060b2cfba5390917254cb211978ebff8640f951 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -421,7 +421,7 @@ void DesignDocumentController::loadCurrentModel() m_d->stackedWidget->addWidget(m_d->formEditorView->widget()); ComponentAction *componentAction = new ComponentAction(m_d->formEditorView->widget()); componentAction->setModel(m_d->model.data()); - m_d->formEditorView->widget()->toolBox()->addAction(componentAction); + m_d->formEditorView->widget()->lowerToolBox()->addAction(componentAction); connect(componentAction, SIGNAL(currentComponentChanged(ModelNode)), SLOT(changeCurrentModelTo(ModelNode))); //TODO component action connect(m_d->itemLibrary.data(), SIGNAL(itemActivated(const QString&)), m_d->formEditorView.data(), SLOT(activateItemCreator(const QString&))); }