status_bar

Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
This commit is contained in:
Dayo Lawal
2021-08-02 17:27:26 -05:00
parent 58ff2d8cab
commit 63ed78d267
6 changed files with 34 additions and 18 deletions
@@ -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
@@ -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);