[Local Textures] Small hack to allow changing texture id
This commit is contained in:
@@ -292,6 +292,15 @@ void LocalBitmap::setType( S32 type )
|
|||||||
bitmap_type = type;
|
bitmap_type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LocalBitmap::setID(const LLUUID& uuid)
|
||||||
|
{
|
||||||
|
LLViewerFetchedTexture* image = gTextureList.findImage(id);
|
||||||
|
gTextureList.deleteImage(image);
|
||||||
|
id = uuid;
|
||||||
|
image->setID(id);
|
||||||
|
gTextureList.addImage(image);
|
||||||
|
}
|
||||||
|
|
||||||
/* [information query functions] */
|
/* [information query functions] */
|
||||||
std::string LocalBitmap::getShortName() const
|
std::string LocalBitmap::getShortName() const
|
||||||
{
|
{
|
||||||
@@ -719,6 +728,11 @@ FloaterLocalAssetBrowser::FloaterLocalAssetBrowser()
|
|||||||
|
|
||||||
// checkbox callbacks
|
// checkbox callbacks
|
||||||
mUpdateChkBox->setCommitCallback(boost::bind(&FloaterLocalAssetBrowser::onClickUpdateChkbox,this));
|
mUpdateChkBox->setCommitCallback(boost::bind(&FloaterLocalAssetBrowser::onClickUpdateChkbox,this));
|
||||||
|
|
||||||
|
// Allow changing the ID!
|
||||||
|
mUUIDTxt->setCommitCallback(boost::bind(&FloaterLocalAssetBrowser::onUpdateID, this, _2));
|
||||||
|
mUUIDTxt->setCommitOnReturn(true);
|
||||||
|
mUUIDTxt->setCommitOnFocusLost(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FloaterLocalAssetBrowser::show(void*)
|
void FloaterLocalAssetBrowser::show(void*)
|
||||||
@@ -786,6 +800,21 @@ void FloaterLocalAssetBrowser::onCommitTypeCombo()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FloaterLocalAssetBrowser::onUpdateID(const LLSD& val)
|
||||||
|
{
|
||||||
|
const auto& id = val.asUUID();
|
||||||
|
const auto& col = mBitmapList->getFirstSelected()->getColumn(BITMAPLIST_COL_ID);
|
||||||
|
const auto& old_id = col->getValue().asString();
|
||||||
|
if (id.isNull() && id.asString() != old_id) // Just reset if invalid or unchanged
|
||||||
|
mUUIDTxt->setValue(old_id);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gLocalBrowser->GetBitmapUnit(LLUUID(old_id))->setID(id);
|
||||||
|
mTextureView->setImageAssetID(id);
|
||||||
|
col->setValue(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FloaterLocalAssetBrowser::FloaterResize(bool expand)
|
void FloaterLocalAssetBrowser::FloaterResize(bool expand)
|
||||||
{
|
{
|
||||||
mMoreBtn->setVisible(!expand);
|
mMoreBtn->setVisible(!expand);
|
||||||
@@ -860,6 +889,7 @@ void FloaterLocalAssetBrowser::UpdateRightSide()
|
|||||||
mTextureView->setEnabled(true);
|
mTextureView->setEnabled(true);
|
||||||
mUpdateChkBox->setEnabled(true);
|
mUpdateChkBox->setEnabled(true);
|
||||||
mTypeComboBox->setEnabled(true);
|
mTypeComboBox->setEnabled(true);
|
||||||
|
mUUIDTxt->setEnabled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -871,6 +901,7 @@ void FloaterLocalAssetBrowser::UpdateRightSide()
|
|||||||
|
|
||||||
mTypeComboBox->selectFirstItem();
|
mTypeComboBox->selectFirstItem();
|
||||||
mTypeComboBox->setEnabled(false);
|
mTypeComboBox->setEnabled(false);
|
||||||
|
mUUIDTxt->setEnabled(false);
|
||||||
|
|
||||||
const auto none = LLStringExplicit("None");
|
const auto none = LLStringExplicit("None");
|
||||||
mPathTxt->setText(none);
|
mPathTxt->setText(none);
|
||||||
|
|||||||
@@ -129,6 +129,8 @@ class LocalBitmap
|
|||||||
public: /* [information query functions] */
|
public: /* [information query functions] */
|
||||||
std::string getShortName() const;
|
std::string getShortName() const;
|
||||||
std::string getFileName() const;
|
std::string getFileName() const;
|
||||||
|
LLUUID getID() const;
|
||||||
|
void setID(const LLUUID&);
|
||||||
LLSD getLastModified() const;
|
LLSD getLastModified() const;
|
||||||
std::string getLinkStatus() const;
|
std::string getLinkStatus() const;
|
||||||
bool getUpdateBool() const;
|
bool getUpdateBool() const;
|
||||||
@@ -240,6 +242,8 @@ private:
|
|||||||
// Combobox type select
|
// Combobox type select
|
||||||
void onCommitTypeCombo();
|
void onCommitTypeCombo();
|
||||||
|
|
||||||
|
void onUpdateID(const LLSD& val);
|
||||||
|
|
||||||
// Widgets
|
// Widgets
|
||||||
LLButton* mAddBtn;
|
LLButton* mAddBtn;
|
||||||
LLButton* mDelBtn;
|
LLButton* mDelBtn;
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ public:
|
|||||||
/*virtual*/ bool isActiveFetching();
|
/*virtual*/ bool isActiveFetching();
|
||||||
|
|
||||||
/*virtual*/ const LLUUID& getID() const { return mID; }
|
/*virtual*/ const LLUUID& getID() const { return mID; }
|
||||||
|
void setID(const LLUUID& id) { mID = id; } // Edit for local assets to cut down on reloads, be sure to remove from wherever this has been added first.
|
||||||
void setBoostLevel(S32 level);
|
void setBoostLevel(S32 level);
|
||||||
S32 getBoostLevel() { return mBoostLevel; }
|
S32 getBoostLevel() { return mBoostLevel; }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user