SL-9924 EEP Environment Settings permissions can be dropped by Save As button
parent
531ad5b3ec
commit
aec5fc3607
|
|
@ -181,7 +181,7 @@ LLFloaterEditExtDayCycle::LLFloaterEditExtDayCycle(const LLSD &key) :
|
|||
mIsDirty(false),
|
||||
mCanCopy(false),
|
||||
mCanMod(false),
|
||||
mMakeNoTrans(false),
|
||||
mCanTrans(false),
|
||||
mCloneTrack(nullptr),
|
||||
mLoadTrack(nullptr),
|
||||
mClearTrack(nullptr)
|
||||
|
|
@ -325,7 +325,7 @@ void LLFloaterEditExtDayCycle::onOpen(const LLSD& key)
|
|||
{
|
||||
mCanCopy = true;
|
||||
mCanMod = true;
|
||||
mMakeNoTrans = false;
|
||||
mCanTrans = true;
|
||||
setEditDefaultDayCycle();
|
||||
}
|
||||
|
||||
|
|
@ -1394,7 +1394,7 @@ void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID &inventoryId)
|
|||
mInventoryId.setNull();
|
||||
mCanCopy = true;
|
||||
mCanMod = true;
|
||||
mMakeNoTrans = false;
|
||||
mCanTrans = true;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1427,6 +1427,7 @@ void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID &inventoryId)
|
|||
|
||||
mCanCopy = mInventoryItem->getPermissions().allowCopyBy(gAgent.getID());
|
||||
mCanMod = mInventoryItem->getPermissions().allowModifyBy(gAgent.getID());
|
||||
mCanTrans = mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
|
||||
|
||||
mExpectingAssetId = mInventoryItem->getAssetUUID();
|
||||
LLSettingsVOBase::getSettingsAsset(mInventoryItem->getAssetUUID(),
|
||||
|
|
@ -1462,6 +1463,11 @@ void LLFloaterEditExtDayCycle::onAssetLoaded(LLUUID asset_id, LLSettingsBase::pt
|
|||
else
|
||||
settings->setFlag(LLSettingsBase::FLAG_NOMOD);
|
||||
|
||||
if (mCanTrans)
|
||||
settings->clearFlag(LLSettingsBase::FLAG_NOTRANS);
|
||||
else
|
||||
settings->setFlag(LLSettingsBase::FLAG_NOTRANS);
|
||||
|
||||
if (mInventoryItem)
|
||||
settings->setName(mInventoryItem->getName());
|
||||
|
||||
|
|
@ -2038,7 +2044,7 @@ void LLFloaterEditExtDayCycle::onAssetLoadedForInsertion(LLUUID item_id, LLUUID
|
|||
S32 opt = LLNotificationsUtil::getSelectedOption(notif, resp);
|
||||
if (opt == 0)
|
||||
{
|
||||
mMakeNoTrans = true;
|
||||
mCanTrans = false;
|
||||
mEditDay->setFlag(LLSettingsBase::FLAG_NOTRANS);
|
||||
cb();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ private:
|
|||
bool mIsDirty;
|
||||
bool mCanCopy;
|
||||
bool mCanMod;
|
||||
bool mMakeNoTrans;
|
||||
bool mCanTrans;
|
||||
|
||||
edit_commit_signal_t mCommitSignal;
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,8 @@ LLFloaterFixedEnvironment::LLFloaterFixedEnvironment(const LLSD &key) :
|
|||
mInventoryItem(nullptr),
|
||||
mIsDirty(false),
|
||||
mCanCopy(false),
|
||||
mCanMod(false)
|
||||
mCanMod(false),
|
||||
mCanTrans(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -257,6 +258,7 @@ void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID &inventoryId)
|
|||
mInventoryId.setNull();
|
||||
mCanMod = true;
|
||||
mCanCopy = true;
|
||||
mCanTrans = true;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -288,6 +290,7 @@ void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID &inventoryId)
|
|||
|
||||
mCanCopy = mInventoryItem->getPermissions().allowCopyBy(gAgent.getID());
|
||||
mCanMod = mInventoryItem->getPermissions().allowModifyBy(gAgent.getID());
|
||||
mCanTrans = mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
|
||||
|
||||
LLSettingsVOBase::getSettingsAsset(mInventoryItem->getAssetUUID(),
|
||||
[this](LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, LLExtStat) { onAssetLoaded(asset_id, settings, status); });
|
||||
|
|
@ -348,6 +351,21 @@ void LLFloaterFixedEnvironment::onAssetLoaded(LLUUID asset_id, LLSettingsBase::p
|
|||
if (mInventoryItem)
|
||||
mSettings->setName(mInventoryItem->getName());
|
||||
|
||||
if (mCanCopy)
|
||||
settings->clearFlag(LLSettingsBase::FLAG_NOCOPY);
|
||||
else
|
||||
settings->setFlag(LLSettingsBase::FLAG_NOCOPY);
|
||||
|
||||
if (mCanMod)
|
||||
settings->clearFlag(LLSettingsBase::FLAG_NOMOD);
|
||||
else
|
||||
settings->setFlag(LLSettingsBase::FLAG_NOMOD);
|
||||
|
||||
if (mCanTrans)
|
||||
settings->clearFlag(LLSettingsBase::FLAG_NOTRANS);
|
||||
else
|
||||
settings->setFlag(LLSettingsBase::FLAG_NOTRANS);
|
||||
|
||||
updateEditEnvironment();
|
||||
syncronizeTabs();
|
||||
refresh();
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ protected:
|
|||
LLHandle<LLFloater> mInventoryFloater;
|
||||
bool mCanCopy;
|
||||
bool mCanMod;
|
||||
bool mCanTrans;
|
||||
|
||||
void onInventoryCreated(LLUUID asset_id, LLUUID inventory_id);
|
||||
void onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
|
||||
|
|
|
|||
Loading…
Reference in New Issue