Added toolbar icons, updated viewport header UX (#1240)

This commit is contained in:
Terry Michaels
2021-06-10 11:42:25 -05:00
committed by GitHub
parent 67489d2907
commit 91fb8be535
22 changed files with 109 additions and 35 deletions
@@ -117,6 +117,8 @@ void AssetEditorWindow::RegisterViewClass()
{
AzToolsFramework::ViewPaneOptions options;
options.preferedDockingArea = Qt::LeftDockWidgetArea;
options.showOnToolsToolbar = true;
options.toolbarIcon = ":/Menu/asset_editor.svg";
AzToolsFramework::RegisterViewPane<AssetEditorWindow>(LyViewPane::AssetEditor, LyViewPane::CategoryTools, options);
}
@@ -1292,7 +1292,7 @@ void LevelEditorMenuHandler::AddEditMenuAction(QAction* action)
}
}
void LevelEditorMenuHandler::AddMenuAction(AZStd::string_view categoryId, QAction* action)
void LevelEditorMenuHandler::AddMenuAction(AZStd::string_view categoryId, QAction* action, bool addToToolsToolbar)
{
auto menuWrapper = m_actionManager->FindMenu(categoryId.data());
if (menuWrapper.isNull())
@@ -1301,6 +1301,11 @@ void LevelEditorMenuHandler::AddMenuAction(AZStd::string_view categoryId, QActio
return;
}
menuWrapper.Get()->addAction(action);
if (addToToolsToolbar)
{
m_mainWindow->GetToolbarManager()->AddButtonToEditToolbar(action);
}
}
void LevelEditorMenuHandler::RestoreEditMenuToDefault()
@@ -98,7 +98,7 @@ private:
// EditorMenuRequestBus
void AddEditMenuAction(QAction* action) override;
void AddMenuAction(AZStd::string_view categoryId, QAction* action) override;
void AddMenuAction(AZStd::string_view categoryId, QAction* action, bool addToToolsToolbar) override;
void RestoreEditMenuToDefault() override;
MainWindow* m_mainWindow;
@@ -116,6 +116,8 @@ void CTrackViewDialog::RegisterViewClass()
AzToolsFramework::ViewPaneOptions opts;
opts.shortcut = QKeySequence(Qt::Key_T);
opts.isDisabledInSimMode = true;
opts.showOnToolsToolbar = true;
opts.toolbarIcon = ":/Menu/trackview_editor.svg";
AzToolsFramework::RegisterViewPane<CTrackViewDialog>(LyViewPane::TrackView, LyViewPane::CategoryTools, opts);
GetIEditor()->GetSettingsManager()->AddToolName(s_kTrackViewLayoutSection, LyViewPane::TrackView);
+4 -29
View File
@@ -154,11 +154,6 @@ void CViewportTitleDlg::SetupCameraDropdownMenu()
QAction* gotoPositionAction = new QAction("Go to position", cameraMenu);
connect(gotoPositionAction, &QAction::triggered, this, &CViewportTitleDlg::OnBnClickedGotoPosition);
cameraMenu->addAction(gotoPositionAction);
m_syncPlayerToCameraAction = new QAction("Sync camera to player", cameraMenu);
m_syncPlayerToCameraAction->setCheckable(true);
connect(m_syncPlayerToCameraAction, &QAction::triggered, this, &CViewportTitleDlg::OnBnClickedSyncplayer);
cameraMenu->addAction(m_syncPlayerToCameraAction);
cameraMenu->addSeparator();
auto cameraSpeedActionWidget = new QWidgetAction(cameraMenu);
@@ -238,21 +233,15 @@ void CViewportTitleDlg::SetupOverflowMenu()
overFlowMenu->addAction(m_enableGridSnappingAction);
m_gridSizeActionWidget = new QWidgetAction(overFlowMenu);
auto gridSizeContainer = new QWidget(overFlowMenu);
auto gridSizeLabel = new QLabel(tr("Grid Size"), overFlowMenu);
m_gridSpinBox = new AzQtComponents::DoubleSpinBox();
m_gridSpinBox->setValue(SandboxEditor::GridSnappingSize());
m_gridSpinBox->setMinimum(1e-2f);
m_gridSpinBox->setToolTip(tr("Grid size"));
QObject::connect(
m_gridSpinBox, QOverload<double>::of(&AzQtComponents::DoubleSpinBox::valueChanged), this, &CViewportTitleDlg::OnGridSpinBoxChanged);
QHBoxLayout* gridSizeLayout = new QHBoxLayout;
gridSizeLayout->addWidget(gridSizeLabel);
gridSizeLayout->addWidget(m_gridSpinBox);
gridSizeContainer->setLayout(gridSizeLayout);
m_gridSizeActionWidget->setDefaultWidget(gridSizeContainer);
m_gridSizeActionWidget->setDefaultWidget(m_gridSpinBox);
overFlowMenu->addAction(m_gridSizeActionWidget);
overFlowMenu->addSeparator();
@@ -263,22 +252,16 @@ void CViewportTitleDlg::SetupOverflowMenu()
overFlowMenu->addAction(m_enableAngleSnappingAction);
m_angleSizeActionWidget = new QWidgetAction(overFlowMenu);
auto angleSizeContainer = new QWidget(overFlowMenu);
auto angleSizeLabel = new QLabel(tr("Angle Snapping"), overFlowMenu);
m_angleSpinBox = new AzQtComponents::DoubleSpinBox();
m_angleSpinBox->setValue(SandboxEditor::AngleSnappingSize());
m_angleSpinBox->setMinimum(1e-2f);
m_angleSpinBox->setToolTip(tr("Angle Snapping"));
QObject::connect(
m_angleSpinBox, QOverload<double>::of(&AzQtComponents::DoubleSpinBox::valueChanged), this,
&CViewportTitleDlg::OnAngleSpinBoxChanged);
QHBoxLayout* angleSizeLayout = new QHBoxLayout;
angleSizeLayout->addWidget(angleSizeLabel);
angleSizeLayout->addWidget(m_angleSpinBox);
angleSizeContainer->setLayout(angleSizeLayout);
m_angleSizeActionWidget->setDefaultWidget(angleSizeContainer);
m_angleSizeActionWidget->setDefaultWidget(m_angleSpinBox);
overFlowMenu->addAction(m_angleSizeActionWidget);
m_ui->m_overflowBtn->setMenu(overFlowMenu);
@@ -850,14 +833,6 @@ bool CViewportTitleDlg::eventFilter(QObject* object, QEvent* event)
return QWidget::eventFilter(object, event) || consumeEvent;
}
void CViewportTitleDlg::OnBnClickedSyncplayer()
{
emit ActionTriggered(ID_GAME_SYNCPLAYER);
bool bSyncPlayer = GetIEditor()->GetGameEngine()->IsSyncPlayerPosition();
m_syncPlayerToCameraAction->setChecked(!bSyncPlayer);
}
void CViewportTitleDlg::OnBnClickedGotoPosition()
{
emit ActionTriggered(ID_DISPLAY_GOTOPOSITION);
-2
View File
@@ -143,7 +143,6 @@ protected:
void SetFullViewportInfo();
void SetCompactViewportInfo();
void OnBnClickedSyncplayer();
void OnBnClickedGotoPosition();
void OnBnClickedMuteAudio();
void OnBnClickedEnableVR();
@@ -174,7 +173,6 @@ protected:
QAction* m_fullInformationAction = nullptr;
QAction* m_compactInformationAction = nullptr;
QAction* m_debugHelpersAction = nullptr;
QAction* m_syncPlayerToCameraAction = nullptr;
QAction* m_audioMuteAction = nullptr;
QAction* m_enableVRAction = nullptr;
QAction* m_enableGridSnappingAction = nullptr;