diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 94c6e2b063..c6d7a8db3f 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -742,41 +742,6 @@ void hide_context_entries(LLMenuGL& menu,
}
}
-// Inventory Links Replace
-void LLInvFVBridge::checkInventoryLinkReplace(menuentry_vec_t& items, menuentry_vec_t& disables_items)
-{
- const LLInventoryObject* obj = getInventoryObject();
-
- if (isAgentInventory() && obj && obj->getType() != LLAssetType::AT_CATEGORY && obj->getType() != LLAssetType::AT_LINK_FOLDER)
- {
- items.push_back(std::string("Replace Links"));
-
- if (mRoot->getSelectedCount() != 1)
- {
- disables_items.push_back(std::string("Replace Links"));
- }
- }
-}
-//
-
-// Move to default folder
-void LLInvFVBridge::checkMoveToDefaultFolder(menuentry_vec_t& items, menuentry_vec_t& disables_items)
-{
- const LLInventoryObject* obj = getInventoryObject();
-
- if (isAgentInventory() && !isProtectedFolder(true) && obj &&
- obj->getActualType() != LLAssetType::AT_CATEGORY &&
- obj->getActualType() != LLAssetType::AT_LINK_FOLDER &&
- obj->getActualType() != LLAssetType::AT_LINK &&
- (!RlvFolderLocks::instance().hasLockedFolder(RLV_LOCK_ANY) ||
- RlvFolderLocks::instance().canMoveItem(obj->getUUID(), getInventoryModel()->findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(obj->getActualType()) ) ))
- )
- {
- items.push_back(std::string("Move to Default Folder"));
- }
-}
-//
-
// Helper for commonly-used entries
void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
menuentry_vec_t &items,
@@ -962,10 +927,10 @@ void LLInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -1167,6 +1132,40 @@ void LLInvFVBridge::addMarketplaceContextMenuOptions(U32 flags,
items.push_back(std::string("Marketplace Listings Separator"));
}
+// Inventory Links Replace
+void LLInvFVBridge::addLinkReplaceMenuOption(menuentry_vec_t& items, menuentry_vec_t& disabled_items)
+{
+ const LLInventoryObject* obj = getInventoryObject();
+
+ if (isAgentInventory() && obj && obj->getType() != LLAssetType::AT_CATEGORY && obj->getType() != LLAssetType::AT_LINK_FOLDER)
+ {
+ items.push_back(std::string("Replace Links"));
+
+ if (mRoot->getSelectedCount() != 1)
+ {
+ disabled_items.push_back(std::string("Replace Links"));
+ }
+ }
+}
+//
+
+// Move to default folder
+void LLInvFVBridge::addMoveToDefaultFolderMenuOption(menuentry_vec_t& items)
+{
+ const LLInventoryObject* obj = getInventoryObject();
+
+ if (isAgentInventory() && !isProtectedFolder(true) && obj &&
+ obj->getActualType() != LLAssetType::AT_CATEGORY &&
+ obj->getActualType() != LLAssetType::AT_LINK_FOLDER &&
+ obj->getActualType() != LLAssetType::AT_LINK &&
+ (!RlvFolderLocks::instance().hasLockedFolder(RLV_LOCK_ANY) ||
+ RlvFolderLocks::instance().canMoveItem(obj->getUUID(), getInventoryModel()->findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(obj->getActualType()) ) ))
+ )
+ {
+ items.push_back(std::string("Move to Default Folder"));
+ }
+}
+//
// *TODO: remove this
BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id) const
@@ -1294,14 +1293,14 @@ BOOL LLInvFVBridge::isProtectedFolder(bool ignore_setting /*= false*/) const
return FALSE;
}
- if ((mUUID == FSLSLBridge::instance().getBridgeFolder()
+ if ((mUUID == FSLSLBridge::instance().getBridgeFolder()
|| model->isObjectDescendentOf(mUUID, FSLSLBridge::instance().getBridgeFolder()))
&& (gSavedPerAccountSettings.getBOOL("ProtectBridgeFolder") || ignore_setting))
{
return TRUE;
}
- if ((mUUID == AOEngine::instance().getAOFolder()
+ if ((mUUID == AOEngine::instance().getAOFolder()
|| model->isObjectDescendentOf(mUUID, AOEngine::instance().getAOFolder()))
&& (gSavedPerAccountSettings.getBOOL("ProtectAOFolders") || ignore_setting))
{
@@ -5649,10 +5648,10 @@ void LLTextureBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -5727,10 +5726,10 @@ void LLSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -5821,10 +5820,10 @@ void LLLandmarkBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -6149,10 +6148,10 @@ void LLCallingCardBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -6425,10 +6424,10 @@ void LLGestureBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -6488,10 +6487,10 @@ void LLAnimationBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -6951,10 +6950,10 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -7219,10 +7218,10 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
@@ -7397,7 +7396,7 @@ void LLLinkItemBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
hide_context_entries(menu, items, disabled_items);
}
@@ -7451,10 +7450,10 @@ void LLMeshBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// Inventory Links Replace
- checkInventoryLinkReplace(items, disabled_items);
+ addLinkReplaceMenuOption(items, disabled_items);
// Move to default folder
- checkMoveToDefaultFolder(items, disabled_items);
+ addMoveToDefaultFolderMenuOption(items);
hide_context_entries(menu, items, disabled_items);
}
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 97f32b5bbb..74c10a403e 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -151,6 +151,12 @@ protected:
virtual void addMarketplaceContextMenuOptions(U32 flags,
menuentry_vec_t &items,
menuentry_vec_t &disabled_items);
+ // Inventory Links Replace
+ virtual void addLinkReplaceMenuOption(menuentry_vec_t& items,
+ menuentry_vec_t& disabled_items);
+ // Move to default folder
+ virtual void addMoveToDefaultFolderMenuOption(menuentry_vec_t& items);
+
protected:
LLInvFVBridge(LLInventoryPanel* inventory, LLFolderView* root, const LLUUID& uuid);
@@ -161,22 +167,18 @@ protected:
BOOL isLinkedObjectMissing() const; // Is this a linked obj whose baseobj is not in inventory?
BOOL isAgentInventory() const; // false if lost or in the inventory library
+ BOOL isCOFFolder() const; // true if COF or descendant of
+ BOOL isInboxFolder() const; // true if COF or descendant of marketplace inbox
+
+ BOOL isMarketplaceListingsFolder() const; // true if descendant of Marketplace listings folder
+
// [SL:KB] - Patch: Inventory-Misc | Checked: 2011-05-28 (Catznip-2.6.0a) | Added: Catznip-2.6.0a
BOOL isLibraryInventory() const;
BOOL isLostInventory() const;
// [/SL:KB]
- BOOL isCOFFolder() const; // true if COF or descendent of
// Client LSL Bridge
BOOL isProtectedFolder(bool ignore_setting = false) const;
//
- BOOL isInboxFolder() const; // true if COF or descendent of marketplace inbox
- BOOL isMarketplaceListingsFolder() const; // true if descendant of Marketplace listings folder
-
- // Inventory Links Replace
- void checkInventoryLinkReplace(menuentry_vec_t& items, menuentry_vec_t& disables_items);
-
- // Move to default folder
- void checkMoveToDefaultFolder(menuentry_vec_t& items, menuentry_vec_t& disables_items);
virtual BOOL isItemPermissive() const;
static void changeItemParent(LLInventoryModel* model,