summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloatereditextdaycycle.cpp16
-rw-r--r--indra/newview/llfloatereditextdaycycle.h2
-rw-r--r--indra/newview/llfloaterfixedenvironment.cpp20
-rw-r--r--indra/newview/llfloaterfixedenvironment.h1
-rw-r--r--indra/newview/llpanelenvironment.cpp21
5 files changed, 43 insertions, 17 deletions
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index aa16747fe3..c16eb11293 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -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());
@@ -2020,7 +2026,7 @@ void LLFloaterEditExtDayCycle::onAssetLoadedForInsertion(LLUUID item_id, LLUUID
bool no_transfer = false;
if (mInventoryItem)
{
- no_transfer = mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
+ no_transfer = !mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
}
else
{
@@ -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();
}
diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index f50c9f7e5f..311bbd52dc 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -238,7 +238,7 @@ private:
bool mIsDirty;
bool mCanCopy;
bool mCanMod;
- bool mMakeNoTrans;
+ bool mCanTrans;
edit_commit_signal_t mCommitSignal;
diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp
index 5eac6b317b..dfd60acb50 100644
--- a/indra/newview/llfloaterfixedenvironment.cpp
+++ b/indra/newview/llfloaterfixedenvironment.cpp
@@ -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();
diff --git a/indra/newview/llfloaterfixedenvironment.h b/indra/newview/llfloaterfixedenvironment.h
index 12fa64e733..f694e59281 100644
--- a/indra/newview/llfloaterfixedenvironment.h
+++ b/indra/newview/llfloaterfixedenvironment.h
@@ -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);
diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp
index 8f279c07ba..d20cc096de 100644
--- a/indra/newview/llpanelenvironment.cpp
+++ b/indra/newview/llpanelenvironment.cpp
@@ -263,6 +263,7 @@ void LLPanelEnvironmentInfo::refresh()
updateEditFloater(mCurrentEnvironment, canEdit());
LLEnvironment::altitude_list_t altitudes = LLEnvironment::instance().getRegionAltitudes();
+
if (altitudes.size() > 0)
{
LLMultiSliderCtrl *sld = getChild<LLMultiSliderCtrl>(SLD_ALTITUDES);
@@ -294,16 +295,16 @@ void LLPanelEnvironmentInfo::refresh()
res = sld->addSlider(altitude, alt_sliders[idx]);
if (res) break;
}
- if (!res)
- {
- // Something is very very wrong
- LL_WARNS_ONCE("ENVPANEL") << "Failed to set up altitudes for parcel id " << getParcelId() << LL_ENDL;
- }
- else
- {
- // slider has some auto correction that might have kicked in
- altitude = sld->getSliderValue(alt_sliders[idx]);
- }
+ }
+ if (res)
+ {
+ // slider has some auto correction that might have kicked in
+ altitude = sld->getSliderValue(alt_sliders[idx]);
+ }
+ else
+ {
+ // Something is very very wrong
+ LL_WARNS_ONCE("ENVPANEL") << "Failed to set up altitudes for parcel id " << getParcelId() << LL_ENDL;
}
updateAltLabel(alt_prefixes[idx], idx + 2, altitude);
mAltitudes[alt_sliders[idx]] = AltitudeData(idx + 2, idx, altitude);