@ -102,7 +102,7 @@ namespace AzToolsFramework
m_editButton - > setAutoRaise ( true ) ;
m_editButton - > setIcon ( QIcon ( " :/stylesheet/img/UI20/open-in-internal-app.svg " ) ) ;
m_editButton - > setToolTip ( " Edit asset " ) ;
m_editButton- > set Visible( false ) ;
SetEditButton Visible( false ) ;
connect ( m_editButton , & QToolButton : : clicked , this , & PropertyAssetCtrl : : OnEditButtonClicked ) ;
@ -961,12 +961,16 @@ namespace AzToolsFramework
AzFramework : : StringFunc : : Path : : GetFileName ( assetPath . c_str ( ) , m_defaultAssetHint ) ;
}
m_browseEdit - > setPlaceholderText ( ( m_defaultAssetHint + m_DefaultSuffix ) . c_str ( ) ) ;
UpdateEditButton ( ) ;
}
void PropertyAssetCtrl : : UpdateAssetDisplay ( )
{
UpdateThumbnail ( ) ;
UpdateEditButton ( ) ;
if ( m_currentAssetType = = AZ : : Data : : s_invalidAssetType )
{
return ;
@ -1109,7 +1113,9 @@ namespace AzToolsFramework
void PropertyAssetCtrl : : SetEditButtonVisible ( bool visible )
{
m_editButton - > setVisible ( visible ) ;
m_showEditButton = visible ;
m_editButton - > setVisible ( m_showEditButton ) ;
UpdateEditButton ( ) ;
}
void PropertyAssetCtrl : : SetEditButtonIcon ( const QIcon & icon )
@ -1205,6 +1211,15 @@ namespace AzToolsFramework
m_thumbnail - > ClearThumbnail ( ) ;
}
void PropertyAssetCtrl : : UpdateEditButton ( )
{
// if Edit button is in use (shown), enable/disable it depending on the current asset id.
if ( m_showEditButton & & m_disableEditButtonWhenNoAssetSelected )
{
m_editButton - > setEnabled ( GetCurrentAssetID ( ) . IsValid ( ) ) ;
}
}
void PropertyAssetCtrl : : SetClearButtonEnabled ( bool enable )
{
m_browseEdit - > setClearButtonEnabled ( enable ) ;
@ -1236,6 +1251,17 @@ namespace AzToolsFramework
return m_hideProductFilesInAssetPicker ;
}
void PropertyAssetCtrl : : SetDisableEditButtonWhenNoAssetSelected ( bool disableEditButtonWhenNoAssetSelected )
{
m_disableEditButtonWhenNoAssetSelected = disableEditButtonWhenNoAssetSelected ;
UpdateEditButton ( ) ;
}
bool PropertyAssetCtrl : : GetDisableEditButtonWhenNoAssetSelected ( ) const
{
return m_disableEditButtonWhenNoAssetSelected ;
}
void PropertyAssetCtrl : : SetShowThumbnail ( bool enable )
{
m_showThumbnail = enable ;
@ -1349,6 +1375,12 @@ namespace AzToolsFramework
GUI - > SetEditButtonTooltip ( tr ( buttonTooltip . c_str ( ) ) ) ;
}
}
else if ( attrib = = AZ_CRC_CE ( " DisableEditButtonWhenNoAssetSelected " ) )
{
bool disableEditButtonWhenNoAssetSelected = false ;
attrValue - > Read < bool > ( disableEditButtonWhenNoAssetSelected ) ;
GUI - > SetDisableEditButtonWhenNoAssetSelected ( disableEditButtonWhenNoAssetSelected ) ;
}
else if ( attrib = = AZ : : Edit : : Attributes : : DefaultAsset )
{
AZ : : Data : : AssetId assetId ;
@ -1597,6 +1629,12 @@ namespace AzToolsFramework
GUI - > SetEditButtonTooltip ( tr ( buttonTooltip . c_str ( ) ) ) ;
}
}
else if ( attrib = = AZ_CRC_CE ( " DisableEditButtonWhenNoAssetSelected " ) )
{
bool disableEditButtonWhenNoAssetSelected = false ;
attrValue - > Read < bool > ( disableEditButtonWhenNoAssetSelected ) ;
GUI - > SetDisableEditButtonWhenNoAssetSelected ( disableEditButtonWhenNoAssetSelected ) ;
}
}
void SimpleAssetPropertyHandlerDefault : : WriteGUIValuesIntoProperty ( size_t index , PropertyAssetCtrl * GUI , property_t & instance , InstanceDataNode * node )