diff options
-rw-r--r-- | indra/llinventory/llinventorytype.cpp | 6 | ||||
-rw-r--r-- | indra/llinventory/llinventorytype.h | 2 | ||||
-rw-r--r-- | indra/newview/llsidepaneliteminfo.cpp | 21 |
3 files changed, 28 insertions, 1 deletions
diff --git a/indra/llinventory/llinventorytype.cpp b/indra/llinventory/llinventorytype.cpp index 2b6b53556d..458adc9edd 100644 --- a/indra/llinventory/llinventorytype.cpp +++ b/indra/llinventory/llinventorytype.cpp @@ -209,6 +209,12 @@ bool LLInventoryType::cannotRestrictPermissions(LLInventoryType::EType type) } } +// Should show permissions that apply only to objects rezed in world. +bool LLInventoryType::showInWorldPermissions(LLInventoryType::EType type) +{ + return (type != IT_SETTINGS); +} + bool inventory_and_asset_types_match(LLInventoryType::EType inventory_type, LLAssetType::EType asset_type) { diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h index 86486373b5..8f2267307b 100644 --- a/indra/llinventory/llinventorytype.h +++ b/indra/llinventory/llinventorytype.h @@ -134,6 +134,8 @@ public: // true if this type cannot have restricted permissions. static bool cannotRestrictPermissions(EType type); + static bool showInWorldPermissions(EType type); + private: // don't instantiate or derive one of these objects LLInventoryType( void ); diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp index 3ec8e1e911..e6ea5c3784 100644 --- a/indra/newview/llsidepaneliteminfo.cpp +++ b/indra/newview/llsidepaneliteminfo.cpp @@ -631,7 +631,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item) LLUICtrl* edit_cost = getChild<LLUICtrl>("Edit Cost"); // Check for ability to change values. - if (is_obj_modify && can_agent_sell + if (is_obj_modify && can_agent_sell && gAgent.allowOperation(PERM_TRANSFER, perm, GP_OBJECT_MANIPULATE)) { getChildView("CheckPurchase")->setEnabled(is_complete); @@ -657,6 +657,25 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item) edit_cost->setEnabled(FALSE); } + // Hide any properties that are not relevant to settings + if (is_settings) + { + getChild<LLUICtrl>("GroupLabel")->setEnabled(false); + getChild<LLUICtrl>("GroupLabel")->setVisible(false); + getChild<LLUICtrl>("CheckShareWithGroup")->setEnabled(false); + getChild<LLUICtrl>("CheckShareWithGroup")->setVisible(false); + getChild<LLUICtrl>("AnyoneLabel")->setEnabled(false); + getChild<LLUICtrl>("AnyoneLabel")->setVisible(false); + getChild<LLUICtrl>("CheckEveryoneCopy")->setEnabled(false); + getChild<LLUICtrl>("CheckEveryoneCopy")->setVisible(false); + getChild<LLUICtrl>("CheckPurchase")->setEnabled(false); + getChild<LLUICtrl>("CheckPurchase")->setVisible(false); + getChild<LLUICtrl>("ComboBoxSaleType")->setEnabled(false); + getChild<LLUICtrl>("ComboBoxSaleType")->setVisible(false); + getChild<LLUICtrl>("Edit Cost")->setEnabled(false); + getChild<LLUICtrl>("Edit Cost")->setVisible(false); + } + // Set values. getChild<LLUICtrl>("CheckPurchase")->setValue(is_for_sale); getChild<LLUICtrl>("CheckNextOwnerModify")->setValue(LLSD(BOOL(next_owner_mask & PERM_MODIFY))); |