SL-18161 Add PBR materials to Uploads in preferences

master
Andrey Kleshchev 2022-09-15 00:01:03 +03:00
parent 2ce39f3ad9
commit 5d918f98ea
8 changed files with 65 additions and 1 deletions

View File

@ -370,6 +370,17 @@
<key>Value</key>
<string></string>
</map>
<key>PBRUploadFolder</key>
<map>
<key>Comment</key>
<string>All pbr uploads will be stored in this directory (UUID)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>TextureUploadFolder</key>
<map>
<key>Comment</key>

View File

@ -399,6 +399,7 @@ BOOL LLFloaterPreference::postBuild()
gSavedSettings.getControl("PreferredMaturity")->getSignal()->connect(boost::bind(&LLFloaterPreference::onChangeMaturity, this));
gSavedPerAccountSettings.getControl("ModelUploadFolder")->getSignal()->connect(boost::bind(&LLFloaterPreference::onChangeModelFolder, this));
gSavedPerAccountSettings.getControl("PBRUploadFolder")->getSignal()->connect(boost::bind(&LLFloaterPreference::onChangePBRFolder, this));
gSavedPerAccountSettings.getControl("TextureUploadFolder")->getSignal()->connect(boost::bind(&LLFloaterPreference::onChangeTextureFolder, this));
gSavedPerAccountSettings.getControl("SoundUploadFolder")->getSignal()->connect(boost::bind(&LLFloaterPreference::onChangeSoundFolder, this));
gSavedPerAccountSettings.getControl("AnimationUploadFolder")->getSignal()->connect(boost::bind(&LLFloaterPreference::onChangeAnimationFolder, this));
@ -688,6 +689,7 @@ void LLFloaterPreference::onOpen(const LLSD& key)
onChangeMaturity();
onChangeModelFolder();
onChangePBRFolder();
onChangeTextureFolder();
onChangeSoundFolder();
onChangeAnimationFolder();
@ -1773,6 +1775,14 @@ void LLFloaterPreference::onChangeModelFolder()
}
}
void LLFloaterPreference::onChangePBRFolder()
{
if (gInventory.isInventoryUsable())
{
getChild<LLTextBox>("upload_pbr")->setText(get_category_path(LLFolderType::FT_MATERIAL));
}
}
void LLFloaterPreference::onChangeTextureFolder()
{
if (gInventory.isInventoryUsable())

View File

@ -173,6 +173,7 @@ public:
void applyResolution();
void onChangeMaturity();
void onChangeModelFolder();
void onChangePBRFolder();
void onChangeTextureFolder();
void onChangeSoundFolder();
void onChangeAnimationFolder();

View File

@ -628,6 +628,11 @@ const LLUUID LLInventoryModel::findUserDefinedCategoryUUIDForType(LLFolderType::
cat_id = LLUUID(gSavedPerAccountSettings.getString("AnimationUploadFolder"));
break;
}
case LLFolderType::FT_MATERIAL:
{
cat_id = LLUUID(gSavedPerAccountSettings.getString("PBRUploadFolder"));
break;
}
default:
break;
}

View File

@ -1612,6 +1612,10 @@ void LLInventoryPanel::fileUploadLocation(const LLSD& userdata)
{
gSavedPerAccountSettings.setString("AnimationUploadFolder", LLFolderBridge::sSelf.get()->getUUID().asString());
}
else if (param == "pbr_material")
{
gSavedPerAccountSettings.setString("PBRUploadFolder", LLFolderBridge::sSelf.get()->getUUID().asString());
}
}
void LLInventoryPanel::purgeSelectedItems()

View File

@ -762,7 +762,7 @@ bool LLMaterialEditor::saveIfNeeded()
LLAssetID new_asset_id = tid.makeAssetID(gAgent.getSecureSessionID());
std::string res_desc = buildMaterialDescription();
U32 next_owner_perm = LLPermissions::DEFAULT.getMaskNextOwner();
LLUUID parent = gInventory.findCategoryUUIDForType(LLFolderType::FT_MATERIAL);
LLUUID parent = gInventory.findUserDefinedCategoryUUIDForType(LLFolderType::FT_MATERIAL);
const U8 subtype = NO_INV_SUBTYPE; // TODO maybe use AT_SETTINGS and LLSettingsType::ST_MATERIAL ?
create_inventory_item(gAgent.getID(), gAgent.getSessionID(), parent, tid, mMaterialName, res_desc,

View File

@ -692,6 +692,14 @@
function="Inventory.FileUploadLocation"
parameter="model" />
</menu_item_call>
<menu_item_call
label="PBR material uploads"
layout="topleft"
name="PBR uploads">
<menu_item_call.on_click
function="Inventory.FileUploadLocation"
parameter="pbr_material" />
</menu_item_call>
</menu>
<menu_item_separator
layout="topleft" />

View File

@ -122,6 +122,31 @@
width="370"
word_wrap="true"/>
<text
type="string"
length="1"
follows="left|top"
height="12"
layout="topleft"
left="37"
name="title_pbr"
top_pad="7"
width="100">
PBR Materials
</text>
<text
type="string"
use_ellipses="true"
follows="left|top"
height="27"
layout="topleft"
font.style="BOLD"
left="37"
name="upload_pbr"
top_pad="5"
width="370"
word_wrap="true"/>
<text
type="string"
length="1"