summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryfunctions.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-03-27 18:40:17 -0400
committerNat Goodspeed <nat@lindenlab.com>2012-03-27 18:40:17 -0400
commitfdd018783a0cc06a467443ca7c9ea0876a87ef49 (patch)
treeb99d4dfaf888450b914b7f414f6b740992033622 /indra/newview/llinventoryfunctions.cpp
parentb187aeb8f177bd76e792652e773617beff18b47b (diff)
CHOP-854: move change_(item|category)_parent() into LLInventoryModel.
It's not really clear why they're in llinventoryfunctions.{h,cpp} instead of LLInventoryModel, and in fact LLInventoryModel::removeItem() already contains code essentially cloned from change_item_parent() -- or perhaps vice-versa. This changeset addresses only migrating the functions, and fixing up existing references, to simplify code review.
Diffstat (limited to 'indra/newview/llinventoryfunctions.cpp')
-rw-r--r--indra/newview/llinventoryfunctions.cpp59
1 files changed, 3 insertions, 56 deletions
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index dd92188e9d..ae8d11c3f7 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -109,58 +109,6 @@ void append_path(const LLUUID& id, std::string& path)
path.append(temp);
}
-void change_item_parent(LLInventoryModel* model,
- LLViewerInventoryItem* item,
- const LLUUID& new_parent_id,
- BOOL restamp)
-{
- if (item->getParentUUID() != new_parent_id)
- {
- LLInventoryModel::update_list_t update;
- LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(),-1);
- update.push_back(old_folder);
- LLInventoryModel::LLCategoryUpdate new_folder(new_parent_id, 1);
- update.push_back(new_folder);
- gInventory.accountForUpdate(update);
-
- LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
- new_item->setParent(new_parent_id);
- new_item->updateParentOnServer(restamp);
- model->updateItem(new_item);
- model->notifyObservers();
- }
-}
-
-void change_category_parent(LLInventoryModel* model,
- LLViewerInventoryCategory* cat,
- const LLUUID& new_parent_id,
- BOOL restamp)
-{
- if (!model || !cat)
- {
- return;
- }
-
- // Can't move a folder into a child of itself.
- if (model->isObjectDescendentOf(new_parent_id, cat->getUUID()))
- {
- return;
- }
-
- LLInventoryModel::update_list_t update;
- LLInventoryModel::LLCategoryUpdate old_folder(cat->getParentUUID(), -1);
- update.push_back(old_folder);
- LLInventoryModel::LLCategoryUpdate new_folder(new_parent_id, 1);
- update.push_back(new_folder);
- model->accountForUpdate(update);
-
- LLPointer<LLViewerInventoryCategory> new_cat = new LLViewerInventoryCategory(cat);
- new_cat->setParent(new_parent_id);
- new_cat->updateParentOnServer(restamp);
- model->updateCategory(new_cat);
- model->notifyObservers();
-}
-
void remove_category(LLInventoryModel* model, const LLUUID& cat_id)
{
if (!model || !get_is_category_removable(model, cat_id))
@@ -190,7 +138,7 @@ void remove_category(LLInventoryModel* model, const LLUUID& cat_id)
if (cat)
{
const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
- change_category_parent(model, cat, trash_id, TRUE);
+ model->changeCategoryParent(cat, trash_id, TRUE);
}
}
@@ -568,8 +516,7 @@ void move_to_outbox_cb_action(const LLSD& payload)
LLUUID parent = viitem->getParentUUID();
- change_item_parent(
- &gInventory,
+ gInventory.changeItemParent(
viitem,
dest_folder_id,
false);
@@ -670,7 +617,7 @@ void move_item_within_outbox(LLInventoryItem* inv_item, LLUUID dest_folder, S32
LLViewerInventoryItem * viewer_inv_item = (LLViewerInventoryItem *) inv_item;
- change_item_parent(&gInventory,
+ gInventory.changeItemParent(
viewer_inv_item,
dest_folder,
false);