forked from qt-creator/qt-creator
QmlDesigner: Use icons instead of checkboxes for split 3D view menu
Each preset action now has separate on and off state icons. Fixes: QDS-15294 Change-Id: Icd751f5370b1da697fbce82373a025232876e5e3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
committed by
Mahmoud Badri
parent
f8f093944d
commit
cfc3a2653c
@@ -316,8 +316,8 @@
|
|||||||
"SnappingConfIcon": {
|
"SnappingConfIcon": {
|
||||||
"iconName": "snapping_conf_medium"
|
"iconName": "snapping_conf_medium"
|
||||||
},
|
},
|
||||||
"SplitViewIcon": {
|
"MultiViewPortIcon": {
|
||||||
"iconName": "splitScreen_medium"
|
"iconName": "multi_viewport_2x2_medium"
|
||||||
},
|
},
|
||||||
"SyncIcon": {
|
"SyncIcon": {
|
||||||
"iconName": "updateContent_medium"
|
"iconName": "updateContent_medium"
|
||||||
|
@@ -92,6 +92,7 @@ public:
|
|||||||
ModelPlaneIcon,
|
ModelPlaneIcon,
|
||||||
ModelSphereIcon,
|
ModelSphereIcon,
|
||||||
MoveToolIcon,
|
MoveToolIcon,
|
||||||
|
MultiViewPortIcon,
|
||||||
MultiViewPort1Icon,
|
MultiViewPort1Icon,
|
||||||
MultiViewPort2hlIcon,
|
MultiViewPort2hlIcon,
|
||||||
MultiViewPort2vlIcon,
|
MultiViewPort2vlIcon,
|
||||||
@@ -112,7 +113,6 @@ public:
|
|||||||
SimpleCheckIcon,
|
SimpleCheckIcon,
|
||||||
SnappingIcon,
|
SnappingIcon,
|
||||||
SnappingConfIcon,
|
SnappingConfIcon,
|
||||||
SplitViewIcon,
|
|
||||||
SyncIcon,
|
SyncIcon,
|
||||||
TimelineIcon,
|
TimelineIcon,
|
||||||
ToggleGroupIcon,
|
ToggleGroupIcon,
|
||||||
|
@@ -729,15 +729,14 @@ void Edit3DView::createViewportPresetActions()
|
|||||||
auto createViewportPresetAction = [this](std::unique_ptr<Edit3DAction> &targetAction,
|
auto createViewportPresetAction = [this](std::unique_ptr<Edit3DAction> &targetAction,
|
||||||
const QByteArray &id,
|
const QByteArray &id,
|
||||||
const QString &label,
|
const QString &label,
|
||||||
|
const QString &opCode,
|
||||||
|
const QIcon &icon,
|
||||||
bool isChecked) {
|
bool isChecked) {
|
||||||
auto operation = [this, &targetAction, label](const SelectionContext &) {
|
auto operation = [this, &targetAction, opCode](const SelectionContext &) {
|
||||||
for (Edit3DAction *action : std::as_const(m_viewportPresetActions)) {
|
for (Edit3DAction *action : std::as_const(m_viewportPresetActions))
|
||||||
if (action->menuId() != targetAction->menuId())
|
action->action()->setChecked(action->menuId() == targetAction->menuId());
|
||||||
action->action()->setChecked(false);
|
|
||||||
else
|
emitView3DAction(View3DActionType::ViewportPreset, opCode);
|
||||||
action->action()->setChecked(true);
|
|
||||||
}
|
|
||||||
emitView3DAction(View3DActionType::ViewportPreset, label);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
targetAction = std::make_unique<Edit3DAction>(
|
targetAction = std::make_unique<Edit3DAction>(
|
||||||
@@ -747,16 +746,21 @@ void Edit3DView::createViewportPresetActions()
|
|||||||
QKeySequence(),
|
QKeySequence(),
|
||||||
true,
|
true,
|
||||||
isChecked,
|
isChecked,
|
||||||
QIcon(),
|
icon,
|
||||||
this,
|
this,
|
||||||
operation);
|
operation);
|
||||||
};
|
};
|
||||||
|
|
||||||
createViewportPresetAction(m_viewportPresetSingleAction, Constants::EDIT3D_PRESET_SINGLE, "Single", true);
|
createViewportPresetAction(m_viewportPresetSingleAction, Constants::EDIT3D_PRESET_SINGLE,
|
||||||
createViewportPresetAction(m_viewportPresetQuadAction, Constants::EDIT3D_PRESET_QUAD, "Quad", false);
|
Tr::tr("Single"), "Single", contextIcon(DesignerIcons::MultiViewPort1Icon), true);
|
||||||
createViewportPresetAction(m_viewportPreset3Left1RightAction, Constants::EDIT3D_PRESET_3LEFT1RIGHT, "3Left1Right", false);
|
createViewportPresetAction(m_viewportPresetQuadAction, Constants::EDIT3D_PRESET_QUAD,
|
||||||
createViewportPresetAction(m_viewportPreset2HorizontalAction, Constants::EDIT3D_PRESET_2HORIZONTAL, "2Horizontal", false);
|
Tr::tr("Quad"), "Quad", contextIcon(DesignerIcons::MultiViewPort2x2Icon), false);
|
||||||
createViewportPresetAction(m_viewportPreset2VerticalAction, Constants::EDIT3D_PRESET_2VERTICAL, "2Vertical", false);
|
createViewportPresetAction(m_viewportPreset3Left1RightAction, Constants::EDIT3D_PRESET_3LEFT1RIGHT,
|
||||||
|
Tr::tr("3 Left 1 Right"), "3Left1Right", contextIcon(DesignerIcons::MultiViewPort3plus1Icon), false);
|
||||||
|
createViewportPresetAction(m_viewportPreset2HorizontalAction, Constants::EDIT3D_PRESET_2HORIZONTAL,
|
||||||
|
Tr::tr("2 Horizontal"), "2Horizontal", contextIcon(DesignerIcons::MultiViewPort2hlIcon), false);
|
||||||
|
createViewportPresetAction(m_viewportPreset2VerticalAction, Constants::EDIT3D_PRESET_2VERTICAL,
|
||||||
|
Tr::tr("2 Vertical"), "2Vertical", contextIcon(DesignerIcons::MultiViewPort2vlIcon), false);
|
||||||
|
|
||||||
m_viewportPresetActions << m_viewportPresetSingleAction.get();
|
m_viewportPresetActions << m_viewportPresetSingleAction.get();
|
||||||
m_viewportPresetActions << m_viewportPresetQuadAction.get();
|
m_viewportPresetActions << m_viewportPresetQuadAction.get();
|
||||||
@@ -1395,7 +1399,7 @@ void Edit3DView::createEdit3DActions()
|
|||||||
QKeySequence(),
|
QKeySequence(),
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
toolbarIcon(DesignerIcons::SplitViewIcon),
|
toolbarIcon(DesignerIcons::MultiViewPortIcon),
|
||||||
this,
|
this,
|
||||||
viewportPresetsActionTrigger);
|
viewportPresetsActionTrigger);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user