Merge pull request #1390 from aws-lumberyard-dev/Atom/guthadam/LYN-4251_material_component_menu_fixes

LYN-4251 fix confusing material component menu options
This commit is contained in:
Guthrie Adams
2021-06-17 13:03:30 -05:00
committed by GitHub
3 changed files with 13 additions and 18 deletions
@@ -32,7 +32,7 @@ namespace AZ
{
namespace Render
{
const char* EditorMaterialComponent::GenerateMaterialsButtonText = "Generate Source Materials...";
const char* EditorMaterialComponent::GenerateMaterialsButtonText = "Generate/Manage Source Materials...";
const char* EditorMaterialComponent::GenerateMaterialsToolTipText = "Generate editable source material files from materials provided by the model.";
const char* EditorMaterialComponent::ResetMaterialsButtonText = "Reset Materials";
@@ -228,10 +228,13 @@ namespace AZ
action = menu->addAction(GenerateMaterialsButtonText, [this]() { OpenMaterialExporter(); });
action->setToolTip(GenerateMaterialsToolTipText);
menu->addSeparator();
action = menu->addAction(ResetMaterialsButtonText, [this]() { ResetMaterialSlots(); });
action->setToolTip(ResetMaterialsToolTipText);
menu->addSeparator();
action = menu->addAction("Clear Model Materials", [this]() {
AzToolsFramework::ScopedUndoBatch undoBatch("Clearing model materials.");
SetDirty();
@@ -104,7 +104,7 @@ namespace AZ
// Constructing a dialog with a table to display all configurable material export items
QDialog dialog(activeWindow);
dialog.setWindowTitle("Generate Source Materials");
dialog.setWindowTitle("Generate/Manage Source Materials");
const QStringList headerLabels = { "Material Slot", "Material Filename", "Overwrite" };
const int MaterialSlotColumn = 0;
@@ -273,32 +273,24 @@ namespace AZ
QAction* action = nullptr;
action = menu.addAction("Open Material Editor...", [this]() { EditorMaterialSystemComponentRequestBus::Broadcast(&EditorMaterialSystemComponentRequestBus::Events::OpenInMaterialEditor, ""); });
action->setVisible(!m_materialAsset.GetId().IsValid());
action = menu.addAction("Clear", [this]() { Clear(); });
action->setEnabled(m_materialAsset.GetId().IsValid() || !m_propertyOverrides.empty() || !m_matModUvOverrides.empty());
action = menu.addAction("Set Default Asset", [this]() { SetDefaultAsset(); });
action = menu.addAction("Generate/Manage Source Material...", [this]() { OpenMaterialExporter(); });
action->setEnabled(m_id.m_materialAssetId.IsValid());
menu.addSeparator();
action = menu.addAction("Generate Source Material...", [this]() { OpenMaterialExporter(); });
action->setEnabled(m_id.m_materialAssetId.IsValid());
menu.addSeparator();
const auto instanceAssetId = m_materialAsset.GetId().IsValid() ? m_materialAsset.GetId() : m_id.m_materialAssetId;
action = menu.addAction("Edit Source Material...", [this]() { OpenMaterialEditor(); });
action->setEnabled(HasSourceData());
action = menu.addAction("Edit Material Instance...", [this]() { OpenMaterialInspector(); });
action->setEnabled(m_materialAsset.GetId().IsValid());
action = menu.addAction("Edit Material Model UV Map...", [this]() { OpenUvNameMapInspector(); });
action = menu.addAction("Edit Material Instance UV Map...", [this]() { OpenUvNameMapInspector(); });
action->setEnabled(m_materialAsset.GetId().IsValid());
action = menu.addAction("Edit Material in Material Editor...", [this]() { OpenMaterialEditor(); });
action->setEnabled(HasSourceData());
menu.addSeparator();
action = menu.addAction("Clear Material Instance Overrides", [this]() { m_propertyOverrides = {}; m_matModUvOverrides = {}; });
action->setEnabled(!m_propertyOverrides.empty() || !m_matModUvOverrides.empty());
menu.exec(QCursor::pos());
}