forked from qt-creator/qt-creator
Reorder toolbar of the formeditor and add snapping + anchoring action
This commit is contained in:
@@ -8,6 +8,8 @@
|
|||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/icon/layout">
|
<qresource prefix="/icon/layout">
|
||||||
<file>snapping.png</file>
|
<file>snapping.png</file>
|
||||||
|
<file>no_snapping.png</file>
|
||||||
|
<file>snapping_and_anchoring.png</file>
|
||||||
<file>boundingrect.png</file>
|
<file>boundingrect.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/icon/selection">
|
<qresource prefix="/icon/selection">
|
||||||
|
|||||||
@@ -79,54 +79,82 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
|
|||||||
|
|
||||||
addActions(m_toolActionGroup->actions());
|
addActions(m_toolActionGroup->actions());
|
||||||
|
|
||||||
|
QAction *separatorAction = new QAction(this);
|
||||||
|
separatorAction->setSeparator(true);
|
||||||
|
addAction(separatorAction);
|
||||||
|
|
||||||
QActionGroup *layoutActionGroup = new QActionGroup(this);
|
QActionGroup *layoutActionGroup = new QActionGroup(this);
|
||||||
layoutActionGroup->setExclusive(false);
|
layoutActionGroup->setExclusive(true);
|
||||||
|
|
||||||
m_snappingToolAction = layoutActionGroup->addAction("Toogle Snapping (Press Key E)");
|
m_snappingAction = layoutActionGroup->addAction("Toogle Snapping (Press Key E)");
|
||||||
m_snappingToolAction->setShortcut(Qt::Key_E);
|
m_snappingAction->setShortcut(Qt::Key_E);
|
||||||
m_snappingToolAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
m_snappingAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||||
m_snappingToolAction->setCheckable(true);
|
m_snappingAction->setCheckable(true);
|
||||||
m_snappingToolAction->setChecked(true);
|
m_snappingAction->setChecked(true);
|
||||||
m_snappingToolAction->setIcon(QPixmap(":/icon/layout/snapping.png"));
|
m_snappingAction->setIcon(QPixmap(":/icon/layout/snapping.png"));
|
||||||
connect(m_snappingToolAction.data(), SIGNAL(triggered(bool)), SLOT(changeSnappingTool(bool)));
|
|
||||||
|
|
||||||
m_showBoundingRectAction = layoutActionGroup->addAction("Toogle Bounding Rectangles (Press Key R)");
|
m_snappingAndAnchoringAction = layoutActionGroup->addAction("Toogle Snapping And Anchoring (Press Key R)");
|
||||||
m_showBoundingRectAction->setShortcut(Qt::Key_R);
|
m_snappingAndAnchoringAction->setShortcut(Qt::Key_R);
|
||||||
m_showBoundingRectAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
m_snappingAndAnchoringAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||||
m_showBoundingRectAction->setCheckable(true);
|
m_snappingAndAnchoringAction->setCheckable(true);
|
||||||
m_showBoundingRectAction->setChecked(true);
|
m_snappingAndAnchoringAction->setChecked(false);
|
||||||
m_showBoundingRectAction->setIcon(QPixmap(":/icon/layout/boundingrect.png"));
|
m_snappingAndAnchoringAction->setIcon(QPixmap(":/icon/layout/snapping_and_anchoring.png"));
|
||||||
|
|
||||||
|
m_noSnappingAction = layoutActionGroup->addAction("Toogle Snapping And Anchoring (Press Key T)");
|
||||||
|
m_noSnappingAction->setShortcut(Qt::Key_T);
|
||||||
|
m_noSnappingAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||||
|
m_noSnappingAction->setCheckable(true);
|
||||||
|
m_noSnappingAction->setChecked(false);
|
||||||
|
m_noSnappingAction->setIcon(QPixmap(":/icon/layout/no_snapping.png"));
|
||||||
|
|
||||||
m_snappingMarginAction = new NumberSeriesAction(layoutActionGroup);
|
addActions(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("no margins (0)", 0);
|
||||||
m_snappingMarginAction->addEntry("small margin (2)", 2);
|
m_snappingMarginAction->addEntry("small margin (2)", 2);
|
||||||
m_snappingMarginAction->addEntry("medium margin (6)", 6);
|
m_snappingMarginAction->addEntry("medium margin (6)", 6);
|
||||||
m_snappingMarginAction->addEntry("all in margin (10)", 10);
|
m_snappingMarginAction->addEntry("all in margin (10)", 10);
|
||||||
m_snappingMarginAction->setCurrentEntryIndex(3);
|
m_snappingMarginAction->setCurrentEntryIndex(3);
|
||||||
layoutActionGroup->addAction(m_snappingMarginAction.data());
|
layoutMarginActionGroup->addAction(m_snappingMarginAction.data());
|
||||||
addActions(layoutActionGroup->actions());
|
|
||||||
|
|
||||||
m_snappingSpacingAction = new NumberSeriesAction(layoutActionGroup);
|
|
||||||
|
m_snappingSpacingAction = new NumberSeriesAction(layoutMarginActionGroup);
|
||||||
m_snappingSpacingAction->addEntry("no spacing (0)", 0);
|
m_snappingSpacingAction->addEntry("no spacing (0)", 0);
|
||||||
m_snappingSpacingAction->addEntry("small spacing (2)", 2);
|
m_snappingSpacingAction->addEntry("small spacing (2)", 2);
|
||||||
m_snappingSpacingAction->addEntry("medium spacing (4)", 4);
|
m_snappingSpacingAction->addEntry("medium spacing (4)", 4);
|
||||||
m_snappingSpacingAction->addEntry("all in spacing (6)", 6);
|
m_snappingSpacingAction->addEntry("all in spacing (6)", 6);
|
||||||
m_snappingSpacingAction->setCurrentEntryIndex(1);
|
m_snappingSpacingAction->setCurrentEntryIndex(1);
|
||||||
layoutActionGroup->addAction(m_snappingSpacingAction.data());
|
layoutMarginActionGroup->addAction(m_snappingSpacingAction.data());
|
||||||
|
|
||||||
|
addActions(layoutMarginActionGroup->actions());
|
||||||
|
|
||||||
addActions(layoutActionGroup->actions());
|
|
||||||
|
|
||||||
m_zoomAction = new ZoomAction(toolActionGroup());
|
m_zoomAction = new ZoomAction(toolActionGroup());
|
||||||
connect(m_zoomAction.data(), SIGNAL(zoomLevelChanged(double)), SLOT(setZoomLevel(double)));
|
connect(m_zoomAction.data(), SIGNAL(zoomLevelChanged(double)), SLOT(setZoomLevel(double)));
|
||||||
addAction(m_zoomAction.data());
|
addAction(m_zoomAction.data());
|
||||||
|
|
||||||
QAction *separatorAction = new QAction(this);
|
separatorAction = new QAction(this);
|
||||||
separatorAction->setSeparator(true);
|
separatorAction->setSeparator(true);
|
||||||
addAction(separatorAction);
|
addAction(separatorAction);
|
||||||
|
|
||||||
m_selectOnlyContentItemsAction = layoutActionGroup->addAction("Select Only Items with Content (Press Key T)");
|
|
||||||
m_selectOnlyContentItemsAction->setShortcut(Qt::Key_T);
|
m_showBoundingRectAction = new QAction("Toogle Bounding Rectangles (Press Key A)", this);
|
||||||
|
m_showBoundingRectAction->setShortcut(Qt::Key_A);
|
||||||
|
m_showBoundingRectAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||||
|
m_showBoundingRectAction->setCheckable(true);
|
||||||
|
m_showBoundingRectAction->setChecked(true);
|
||||||
|
m_showBoundingRectAction->setIcon(QPixmap(":/icon/layout/boundingrect.png"));
|
||||||
|
|
||||||
|
addAction(m_showBoundingRectAction.data());
|
||||||
|
|
||||||
|
m_selectOnlyContentItemsAction = new QAction("Select Only Items with Content (Press Key S)", this);
|
||||||
|
m_selectOnlyContentItemsAction->setShortcut(Qt::Key_S);
|
||||||
m_selectOnlyContentItemsAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
m_selectOnlyContentItemsAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
||||||
m_selectOnlyContentItemsAction->setCheckable(true);
|
m_selectOnlyContentItemsAction->setCheckable(true);
|
||||||
m_selectOnlyContentItemsAction->setChecked(true);
|
m_selectOnlyContentItemsAction->setChecked(true);
|
||||||
@@ -134,7 +162,7 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
|
|||||||
|
|
||||||
addAction(m_selectOnlyContentItemsAction.data());
|
addAction(m_selectOnlyContentItemsAction.data());
|
||||||
|
|
||||||
separatorAction = new QAction(toolActionGroup());
|
separatorAction = new QAction(this);
|
||||||
separatorAction->setSeparator(true);
|
separatorAction->setSeparator(true);
|
||||||
addAction(separatorAction);
|
addAction(separatorAction);
|
||||||
|
|
||||||
@@ -164,11 +192,6 @@ void FormEditorWidget::changeAnchorTool(bool checked)
|
|||||||
m_formEditorView->changeToAnchorTool();
|
m_formEditorView->changeToAnchorTool();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormEditorWidget::changeSnappingTool(bool /*checked*/)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormEditorWidget::wheelEvent(QWheelEvent *event)
|
void FormEditorWidget::wheelEvent(QWheelEvent *event)
|
||||||
{
|
{
|
||||||
if (event->modifiers().testFlag(Qt::ControlModifier)) {
|
if (event->modifiers().testFlag(Qt::ControlModifier)) {
|
||||||
@@ -234,7 +257,7 @@ ToolBox *FormEditorWidget::toolBox() const
|
|||||||
|
|
||||||
bool FormEditorWidget::isSnapButtonChecked() const
|
bool FormEditorWidget::isSnapButtonChecked() const
|
||||||
{
|
{
|
||||||
return m_snappingToolAction->isChecked();
|
return m_snappingAction->isChecked();
|
||||||
}
|
}
|
||||||
|
|
||||||
double FormEditorWidget::spacing() const
|
double FormEditorWidget::spacing() const
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ private slots:
|
|||||||
void changeTransformTool(bool checked);
|
void changeTransformTool(bool checked);
|
||||||
void changeAnchorTool(bool checked);
|
void changeAnchorTool(bool checked);
|
||||||
void setZoomLevel(double zoomLevel);
|
void setZoomLevel(double zoomLevel);
|
||||||
void changeSnappingTool(bool checked);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWeakPointer<FormEditorView> m_formEditorView;
|
QWeakPointer<FormEditorView> m_formEditorView;
|
||||||
@@ -83,7 +82,9 @@ private:
|
|||||||
QWeakPointer<QAction> m_transformToolAction;
|
QWeakPointer<QAction> m_transformToolAction;
|
||||||
QWeakPointer<QActionGroup> m_toolActionGroup;
|
QWeakPointer<QActionGroup> m_toolActionGroup;
|
||||||
QWeakPointer<ToolBox> m_toolBox;
|
QWeakPointer<ToolBox> m_toolBox;
|
||||||
QWeakPointer<QAction> m_snappingToolAction;
|
QWeakPointer<QAction> m_snappingAction;
|
||||||
|
QWeakPointer<QAction> m_snappingAndAnchoringAction;
|
||||||
|
QWeakPointer<QAction> m_noSnappingAction;
|
||||||
QWeakPointer<NumberSeriesAction> m_snappingMarginAction;
|
QWeakPointer<NumberSeriesAction> m_snappingMarginAction;
|
||||||
QWeakPointer<NumberSeriesAction> m_snappingSpacingAction;
|
QWeakPointer<NumberSeriesAction> m_snappingSpacingAction;
|
||||||
QWeakPointer<QAction> m_showBoundingRectAction;
|
QWeakPointer<QAction> m_showBoundingRectAction;
|
||||||
|
|||||||
BIN
src/plugins/qmldesigner/components/formeditor/no_snapping.png
Normal file
BIN
src/plugins/qmldesigner/components/formeditor/no_snapping.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 425 B |
Binary file not shown.
|
After Width: | Height: | Size: 343 B |
Reference in New Issue
Block a user