Adding "Create New Material" context menu option to folder in Material Editor

Improving MaterialBrowser filter to show empty folders
This commit is contained in:
mnaumov
2021-04-19 15:22:32 -07:00
parent 3b4e424d38
commit 6abf17439a
6 changed files with 54 additions and 4 deletions
@@ -29,6 +29,7 @@
#include <Atom/Document/MaterialDocumentSystemRequestBus.h>
#include <Source/Window/MaterialBrowserInteractions.h>
#include <Window/CreateMaterialDialog/CreateMaterialDialog.h>
#include <Atom/RPI.Reflect/Material/MaterialAsset.h>
#include <Atom/RPI.Edit/Material/MaterialSourceData.h>
@@ -246,6 +247,24 @@ namespace MaterialEditor
}
}
});
menu->addSeparator();
QAction* createMaterialAction = menu->addAction(QObject::tr("Create New Material"));
QObject::connect(createMaterialAction, &QAction::triggered, caller, [caller, entry]()
{
CreateMaterialDialog createDialog(entry->GetFullPath().c_str(), caller);
createDialog.adjustSize();
if (createDialog.exec() == QDialog::Accepted &&
!createDialog.m_materialFileInfo.absoluteFilePath().isEmpty() &&
!createDialog.m_materialTypeFileInfo.absoluteFilePath().isEmpty())
{
MaterialDocumentSystemRequestBus::Broadcast(&MaterialDocumentSystemRequestBus::Events::CreateDocumentFromFile,
createDialog.m_materialTypeFileInfo.absoluteFilePath().toUtf8().constData(),
createDialog.m_materialFileInfo.absoluteFilePath().toUtf8().constData());
}
});
}
void MaterialBrowserInteractions::AddPerforceMenuActions([[maybe_unused]] QWidget* caller, QMenu* menu, const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry)