diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Window/AtomToolsMainWindow.h b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Window/AtomToolsMainWindow.h index 751b30a907..2a304c9a8c 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Window/AtomToolsMainWindow.h +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Window/AtomToolsMainWindow.h @@ -52,8 +52,11 @@ namespace AtomToolsFramework virtual void SelectPreviousTab(); virtual void SelectNextTab(); + void SetStatusMessage(const QString& message); + void SetStatusWarning(const QString& message); + void SetStatusError(const QString& message); + AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; - QMenuBar* m_menuBar = nullptr; AzQtComponents::TabWidget* m_tabWidget = nullptr; QLabel* m_statusMessage = nullptr; diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Window/AtomToolsMainWindow.cpp b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Window/AtomToolsMainWindow.cpp index e869e0eb98..cd7d49d8d3 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Window/AtomToolsMainWindow.cpp +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Window/AtomToolsMainWindow.cpp @@ -110,9 +110,9 @@ namespace AtomToolsFramework void AtomToolsMainWindow::CreateMenu() { - m_menuBar = new QMenuBar(this); - m_menuBar->setObjectName("MenuBar"); - setMenuBar(m_menuBar); + auto menuBar = new QMenuBar(this); + menuBar->setObjectName("MenuBar"); + setMenuBar(menuBar); } void AtomToolsMainWindow::CreateTabBar() @@ -246,4 +246,19 @@ namespace AtomToolsFramework m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); } } + + void AtomToolsMainWindow::SetStatusMessage(const QString& message) + { + m_statusMessage->setText(QString("%1").arg(message)); + } + + void AtomToolsMainWindow::SetStatusWarning(const QString& message) + { + m_statusMessage->setText(QString("%1").arg(message)); + } + + void AtomToolsMainWindow::SetStatusError(const QString& message) + { + m_statusMessage->setText(QString("%1").arg(message)); + } } // namespace AtomToolsFramework diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp index ca938c3745..a32f81f78e 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp @@ -237,18 +237,14 @@ namespace MaterialEditor const QString documentPath = GetDocumentPath(documentId); if (!documentPath.isEmpty()) { - const QString status = QString("Document opened: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusMessage(tr("Document opened: %1").arg(documentPath)); } } void MaterialEditorWindow::OnDocumentClosed(const AZ::Uuid& documentId) { RemoveTabForDocumentId(documentId); - - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document closed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusMessage(tr("Document closed: %1").arg(GetDocumentPath(documentId))); } void MaterialEditorWindow::OnDocumentModified(const AZ::Uuid& documentId) @@ -284,10 +280,7 @@ namespace MaterialEditor AZStd::string filename; AzFramework::StringFunc::Path::GetFullFileName(absolutePath.c_str(), filename); UpdateTabForDocumentId(documentId, filename, absolutePath, isModified); - - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document saved: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusMessage(tr("Document saved: %1").arg(GetDocumentPath(documentId))); } void MaterialEditorWindow::CreateMenu() @@ -295,7 +288,7 @@ namespace MaterialEditor Base::CreateMenu(); // Generating the main menu manually because it's easier and we will have some dynamic or data driven entries - m_menuFile = m_menuBar->addMenu("&File"); + m_menuFile = menuBar()->addMenu("&File"); m_actionNew = m_menuFile->addAction("&New...", [this]() { CreateMaterialDialog createDialog(this); @@ -330,9 +323,7 @@ namespace MaterialEditor AtomToolsFramework::AtomToolsDocumentSystemRequestBus::BroadcastResult(result, &AtomToolsFramework::AtomToolsDocumentSystemRequestBus::Events::SaveDocument, documentId); if (!result) { - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document save failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::Save); @@ -345,8 +336,7 @@ namespace MaterialEditor documentId, AtomToolsFramework::GetSaveFileInfo(documentPath).absoluteFilePath().toUtf8().constData()); if (!result) { - const QString status = QString("Document save failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::SaveAs); @@ -359,8 +349,7 @@ namespace MaterialEditor documentId, AtomToolsFramework::GetSaveFileInfo(documentPath).absoluteFilePath().toUtf8().constData()); if (!result) { - const QString status = QString("Document save failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save failed: %1").arg(GetDocumentPath(documentId))); } }); @@ -369,8 +358,7 @@ namespace MaterialEditor AtomToolsFramework::AtomToolsDocumentSystemRequestBus::BroadcastResult(result, &AtomToolsFramework::AtomToolsDocumentSystemRequestBus::Events::SaveAllDocuments); if (!result) { - const QString status = QString("Document save all failed."); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save all failed")); } }); @@ -406,7 +394,7 @@ namespace MaterialEditor close(); }, QKeySequence::Quit); - m_menuEdit = m_menuBar->addMenu("&Edit"); + m_menuEdit = menuBar()->addMenu("&Edit"); m_actionUndo = m_menuEdit->addAction("&Undo", [this]() { const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex()); @@ -414,9 +402,7 @@ namespace MaterialEditor AtomToolsFramework::AtomToolsDocumentRequestBus::EventResult(result, documentId, &AtomToolsFramework::AtomToolsDocumentRequestBus::Events::Undo); if (!result) { - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document undo failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document undo failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::Undo); @@ -426,9 +412,7 @@ namespace MaterialEditor AtomToolsFramework::AtomToolsDocumentRequestBus::EventResult(result, documentId, &AtomToolsFramework::AtomToolsDocumentRequestBus::Events::Redo); if (!result) { - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document redo failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document redo failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::Redo); @@ -440,7 +424,7 @@ namespace MaterialEditor }, QKeySequence::Preferences); m_actionSettings->setEnabled(true); - m_menuView = m_menuBar->addMenu("&View"); + m_menuView = menuBar()->addMenu("&View"); m_actionAssetBrowser = m_menuView->addAction("&Asset Browser", [this]() { const AZStd::string label = "Asset Browser"; @@ -480,7 +464,7 @@ namespace MaterialEditor SelectNextTab(); }, Qt::CTRL | Qt::Key_Tab); //QKeySequence::NextChild works as expected but mirroring Previous - m_menuHelp = m_menuBar->addMenu("&Help"); + m_menuHelp = menuBar()->addMenu("&Help"); m_actionHelp = m_menuHelp->addAction("&Help...", [this]() { HelpDialog dialog(this); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp index 0b4802640b..6354f8beba 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp @@ -149,18 +149,14 @@ namespace ShaderManagementConsole const QString documentPath = GetDocumentPath(documentId); if (!documentPath.isEmpty()) { - const QString status = QString("Document opened: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusMessage(tr("Document opened: %1").arg(documentPath)); } } void ShaderManagementConsoleWindow::OnDocumentClosed(const AZ::Uuid& documentId) { RemoveTabForDocumentId(documentId); - - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document closed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusMessage(tr("Document closed: %1").arg(GetDocumentPath(documentId))); } void ShaderManagementConsoleWindow::OnDocumentModified(const AZ::Uuid& documentId) @@ -196,10 +192,7 @@ namespace ShaderManagementConsole AZStd::string filename; AzFramework::StringFunc::Path::GetFullFileName(absolutePath.c_str(), filename); UpdateTabForDocumentId(documentId, filename, absolutePath, isModified); - - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document saved: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusMessage(tr("Document saved: %1").arg(GetDocumentPath(documentId))); } void ShaderManagementConsoleWindow::CreateMenu() @@ -207,7 +200,7 @@ namespace ShaderManagementConsole Base::CreateMenu(); // Generating the main menu manually because it's easier and we will have some dynamic or data driven entries - m_menuFile = m_menuBar->addMenu("&File"); + m_menuFile = menuBar()->addMenu("&File"); m_actionOpen = m_menuFile->addAction("&Open...", [this]() { const AZStd::vector assetTypes = { @@ -230,9 +223,7 @@ namespace ShaderManagementConsole AtomToolsFramework::AtomToolsDocumentSystemRequestBus::BroadcastResult(result, &AtomToolsFramework::AtomToolsDocumentSystemRequestBus::Events::SaveDocument, documentId); if (!result) { - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document save failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::Save); @@ -245,8 +236,7 @@ namespace ShaderManagementConsole documentId, AtomToolsFramework::GetSaveFileInfo(documentPath).absoluteFilePath().toUtf8().constData()); if (!result) { - const QString status = QString("Document save failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::SaveAs); @@ -255,8 +245,7 @@ namespace ShaderManagementConsole AtomToolsFramework::AtomToolsDocumentSystemRequestBus::BroadcastResult(result, &AtomToolsFramework::AtomToolsDocumentSystemRequestBus::Events::SaveAllDocuments); if (!result) { - const QString status = QString("Document save all failed."); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document save all failed")); } }); @@ -278,7 +267,7 @@ namespace ShaderManagementConsole m_menuFile->addSeparator(); - m_menuFile->addAction("Run Python...", [this]() { + m_menuFile->addAction("Run &Python...", [this]() { const QString script = QFileDialog::getOpenFileName(this, "Run Script", QString(), QString("*.py")); if (!script.isEmpty()) { @@ -292,7 +281,7 @@ namespace ShaderManagementConsole close(); }, QKeySequence::Quit); - m_menuEdit = m_menuBar->addMenu("&Edit"); + m_menuEdit = menuBar()->addMenu("&Edit"); m_actionUndo = m_menuEdit->addAction("&Undo", [this]() { const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex()); @@ -300,9 +289,7 @@ namespace ShaderManagementConsole AtomToolsFramework::AtomToolsDocumentRequestBus::EventResult(result, documentId, &AtomToolsFramework::AtomToolsDocumentRequestBus::Events::Undo); if (!result) { - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document undo failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document undo failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::Undo); @@ -312,9 +299,7 @@ namespace ShaderManagementConsole AtomToolsFramework::AtomToolsDocumentRequestBus::EventResult(result, documentId, &AtomToolsFramework::AtomToolsDocumentRequestBus::Events::Redo); if (!result) { - const QString documentPath = GetDocumentPath(documentId); - const QString status = QString("Document redo failed: %1").arg(documentPath); - m_statusMessage->setText(QString("%1").arg(status)); + SetStatusError(tr("Document redo failed: %1").arg(GetDocumentPath(documentId))); } }, QKeySequence::Redo); @@ -324,7 +309,7 @@ namespace ShaderManagementConsole }, QKeySequence::Preferences); m_actionSettings->setEnabled(false); - m_menuView = m_menuBar->addMenu("&View"); + m_menuView = menuBar()->addMenu("&View"); m_actionAssetBrowser = m_menuView->addAction("&Asset Browser", [this]() { const AZStd::string label = "Asset Browser"; @@ -347,7 +332,7 @@ namespace ShaderManagementConsole SelectNextTab(); }, Qt::CTRL | Qt::Key_Tab); //QKeySequence::NextChild works as expected but mirroring Previous - m_menuHelp = m_menuBar->addMenu("&Help"); + m_menuHelp = menuBar()->addMenu("&Help"); m_actionHelp = m_menuHelp->addAction("&Help...", [this]() { });