diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 87c05c162a00e212a6d531f80ea49e2348a90b47..2dad9cd2dca73fe0c66e81b22821915d1f78f3a5 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -416,6 +416,9 @@ BOOL LLFloaterTexturePicker::postBuild() mInventoryPanel = getChild<LLInventoryPanel>("inventory panel"); + // if can select both materials and textures, set textures_material_combo's layout as visible + childSetVisible("combo_layout", mInventoryPickType == LLTextureCtrl::PICK_TEXTURE_MATERIAL); + mTextureMaterialsCombo = getChild<LLComboBox>("textures_material_combo"); mTextureMaterialsCombo->setCommitCallback(onSelectTextureMaterials, this); @@ -1207,16 +1210,11 @@ void LLFloaterTexturePicker::onSelectTextureMaterials(LLUICtrl* ctrl, void *user LLFloaterTexturePicker* self = (LLFloaterTexturePicker*)userdata; int index = self->mTextureMaterialsCombo->getValue().asInteger(); - // IMPORTANT: make sure these match the entries in floater_texture_ctrl.xml - // for the textures_material_combo combo box - const int textures_and_materials = 0; - const int textures_only = 1; - const int materials_only = 2; - U32 filter_types = 0x0; if (self->mInventoryPickType != LLTextureCtrl::PICK_TEXTURE_MATERIAL) { + // mInventoryPickType overrides combo index = self->mInventoryPickType; } @@ -1270,6 +1268,9 @@ void LLFloaterTexturePicker::setInventoryPickType(LLTextureCtrl::EPickInventoryT { mInventoryPickType = type; + // if can select both materials and textures, set textures_material_combo's layout as visible + childSetVisible("combo_layout", mInventoryPickType == LLTextureCtrl::PICK_TEXTURE_MATERIAL); + mLocalScrollCtrl->clearRows(); if (mInventoryPickType == LLTextureCtrl::PICK_TEXTURE_MATERIAL) { @@ -1285,6 +1286,7 @@ void LLFloaterTexturePicker::setInventoryPickType(LLTextureCtrl::EPickInventoryT LLLocalGLTFMaterialMgr::getInstance()->feedScrollList(mLocalScrollCtrl); } + // refresh filters onSelectTextureMaterials(0, this); } diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h index fb409af42b0a62b8455cb5526c3776d6d1cf5f35..9cb86a2e74fdda72ea5be9455307d80d4b47d1c6 100644 --- a/indra/newview/lltexturectrl.h +++ b/indra/newview/lltexturectrl.h @@ -78,6 +78,8 @@ class LLTextureCtrl TEXTURE_CANCEL } ETexturePickOp; + // Should match the entries in floater_texture_ctrl.xml + // for the textures_material_combo combo box typedef enum e_pick_inventory_type { PICK_TEXTURE_MATERIAL = 0,