+1
@@ -53,6 +53,7 @@ namespace AtomToolsFramework
|
||||
QWidget* m_centralWidget = nullptr;
|
||||
QMenuBar* m_menuBar = nullptr;
|
||||
AzQtComponents::TabWidget* m_tabWidget = nullptr;
|
||||
QStatusBar* m_statusBar = nullptr;
|
||||
|
||||
AZStd::unordered_map<AZStd::string, AzQtComponents::StyledDockWidget*> m_dockWidgets;
|
||||
|
||||
|
||||
@@ -31,6 +31,10 @@ namespace AtomToolsFramework
|
||||
m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred);
|
||||
m_tabWidget->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
m_statusBar = new QStatusBar(this);
|
||||
m_statusBar->setObjectName("StatusBar");
|
||||
statusBar()->addPermanentWidget(m_statusBar, 1);
|
||||
|
||||
AtomToolsMainWindowRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
|
||||
@@ -101,10 +101,6 @@ namespace MaterialEditor
|
||||
m_centralWidget->setLayout(vl);
|
||||
setCentralWidget(m_centralWidget);
|
||||
|
||||
m_statusBar = new StatusBarWidget(this);
|
||||
m_statusBar->setObjectName("StatusBar");
|
||||
statusBar()->addPermanentWidget(m_statusBar, 1);
|
||||
|
||||
SetupMenu();
|
||||
SetupTabs();
|
||||
|
||||
@@ -245,7 +241,8 @@ namespace MaterialEditor
|
||||
const QString documentPath = GetDocumentPath(documentId);
|
||||
if (!documentPath.isEmpty())
|
||||
{
|
||||
m_statusBar->UpdateStatusInfo(QString("Material opened: %1").arg(documentPath));
|
||||
const QString status = QString("Material closed: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"White\">%1</font>").arg(status));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,7 +251,8 @@ namespace MaterialEditor
|
||||
RemoveTabForDocumentId(documentId);
|
||||
|
||||
const QString documentPath = GetDocumentPath(documentId);
|
||||
m_statusBar->UpdateStatusInfo(QString("Material closed: %1").arg(documentPath));
|
||||
const QString status = QString("Material closed: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"White\">%1</font>").arg(status));
|
||||
}
|
||||
|
||||
void MaterialEditorWindow::OnDocumentModified(const AZ::Uuid& documentId)
|
||||
@@ -280,7 +278,8 @@ namespace MaterialEditor
|
||||
UpdateTabForDocumentId(documentId);
|
||||
|
||||
const QString documentPath = GetDocumentPath(documentId);
|
||||
m_statusBar->UpdateStatusInfo(QString("Material saved: %1").arg(documentPath));
|
||||
const QString status = QString("Material closed: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"White\">%1</font>").arg(status));
|
||||
}
|
||||
|
||||
void MaterialEditorWindow::SetupMenu()
|
||||
@@ -321,7 +320,8 @@ namespace MaterialEditor
|
||||
if (!result)
|
||||
{
|
||||
const QString documentPath = GetDocumentPath(documentId);
|
||||
m_statusBar->UpdateStatusError(QString("Failed to save material: %1").arg(documentPath));
|
||||
const QString status = QString("Failed to save material: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"Red\">%1</font>").arg(status));
|
||||
}
|
||||
}, QKeySequence::Save);
|
||||
|
||||
@@ -334,7 +334,8 @@ namespace MaterialEditor
|
||||
documentId, AtomToolsFramework::GetSaveFileInfo(documentPath).absoluteFilePath().toUtf8().constData());
|
||||
if (!result)
|
||||
{
|
||||
m_statusBar->UpdateStatusError(QString("Failed to save material: %1").arg(documentPath));
|
||||
const QString status = QString("Failed to save material: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"Red\">%1</font>").arg(status));
|
||||
}
|
||||
}, QKeySequence::SaveAs);
|
||||
|
||||
@@ -347,7 +348,8 @@ namespace MaterialEditor
|
||||
documentId, AtomToolsFramework::GetSaveFileInfo(documentPath).absoluteFilePath().toUtf8().constData());
|
||||
if (!result)
|
||||
{
|
||||
m_statusBar->UpdateStatusError(QString("Failed to save material: %1").arg(documentPath));
|
||||
const QString status = QString("Failed to save material: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"Red\">%1</font>").arg(status));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -356,7 +358,8 @@ namespace MaterialEditor
|
||||
MaterialDocumentSystemRequestBus::BroadcastResult(result, &MaterialDocumentSystemRequestBus::Events::SaveAllDocuments);
|
||||
if (!result)
|
||||
{
|
||||
m_statusBar->UpdateStatusError(QString("Failed to save materials."));
|
||||
const QString status = QString("Failed to save materials.");
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"Red\">%1</font>").arg(status));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -401,7 +404,8 @@ namespace MaterialEditor
|
||||
if (!result)
|
||||
{
|
||||
const QString documentPath = GetDocumentPath(documentId);
|
||||
m_statusBar->UpdateStatusError(QString("Failed to perform Undo in material: %1").arg(documentPath));
|
||||
const QString status = QString("Failed to perform Undo in material: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"Red\">%1</font>").arg(status));
|
||||
}
|
||||
}, QKeySequence::Undo);
|
||||
|
||||
@@ -412,7 +416,8 @@ namespace MaterialEditor
|
||||
if (!result)
|
||||
{
|
||||
const QString documentPath = GetDocumentPath(documentId);
|
||||
m_statusBar->UpdateStatusError(QString("Failed to perform Undo in material: %1").arg(documentPath));
|
||||
const QString status = QString("Failed to perform Undo in material: %1").arg(documentPath);
|
||||
m_statusBar->setWindowIconText(QString("<font color=\"Red\">%1</font>").arg(status));
|
||||
}
|
||||
}, QKeySequence::Redo);
|
||||
|
||||
@@ -505,6 +510,10 @@ namespace MaterialEditor
|
||||
|
||||
AtomToolsMainWindow::AddTabForDocumentId(documentId);
|
||||
|
||||
// Blocking signals from the tab bar so the currentChanged signal is not sent while a document is already being opened.
|
||||
// This prevents the OnDocumentOpened notification from being sent recursively.
|
||||
const QSignalBlocker blocker(m_tabWidget);
|
||||
|
||||
// Create a new tab for the document ID and assign it's label to the file name of the document.
|
||||
AZStd::string absolutePath;
|
||||
MaterialDocumentRequestBus::EventResult(absolutePath, documentId, &MaterialDocumentRequestBus::Events::GetAbsolutePath);
|
||||
|
||||
@@ -113,7 +113,5 @@ namespace MaterialEditor
|
||||
QMenu* m_menuHelp = {};
|
||||
QAction* m_actionHelp = {};
|
||||
QAction* m_actionAbout = {};
|
||||
|
||||
StatusBarWidget* m_statusBar = {};
|
||||
};
|
||||
} // namespace MaterialEditor
|
||||
|
||||
@@ -42,15 +42,15 @@ set(FILES
|
||||
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp
|
||||
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h
|
||||
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.ui
|
||||
Source/Window/StatusBar/StatusBarWidget.cpp
|
||||
Source/Window/StatusBar/StatusBarWidget.h
|
||||
Source/Window/StatusBar/StatusBarWidget.ui
|
||||
Source/Window/ToolBar/MaterialEditorToolBar.h
|
||||
Source/Window/ToolBar/MaterialEditorToolBar.cpp
|
||||
Source/Window/ToolBar/ModelPresetComboBox.h
|
||||
Source/Window/ToolBar/ModelPresetComboBox.cpp
|
||||
Source/Window/ToolBar/LightingPresetComboBox.h
|
||||
Source/Window/ToolBar/LightingPresetComboBox.cpp
|
||||
Source/Window/StatusBar/StatusBarWidget.cpp
|
||||
Source/Window/StatusBar/StatusBarWidget.h
|
||||
Source/Window/StatusBar/StatusBarWidget.ui
|
||||
Source/Window/MaterialInspector/MaterialInspector.h
|
||||
Source/Window/MaterialInspector/MaterialInspector.cpp
|
||||
Source/Window/ViewportSettingsInspector/ViewportSettingsInspector.h
|
||||
|
||||
+4
@@ -303,6 +303,10 @@ namespace ShaderManagementConsole
|
||||
|
||||
AtomToolsMainWindow::AddTabForDocumentId(documentId);
|
||||
|
||||
// Blocking signals from the tab bar so the currentChanged signal is not sent while a document is already being opened.
|
||||
// This prevents the OnDocumentOpened notification from being sent recursively.
|
||||
const QSignalBlocker blocker(m_tabWidget);
|
||||
|
||||
// Create a new tab for the document ID and assign it's label to the file name of the document.
|
||||
AZStd::string absolutePath;
|
||||
ShaderManagementConsoleDocumentRequestBus::EventResult(absolutePath, documentId, &ShaderManagementConsoleDocumentRequestBus::Events::GetAbsolutePath);
|
||||
|
||||
Reference in New Issue
Block a user