Merge branch 'master' into dev_localinv

Conflicts:
	.gitignore

	deleted:    indra/lib/python/indra/__init__.pyc
	deleted:    indra/lib/python/indra/base/__init__.pyc
	deleted:    indra/lib/python/indra/base/llsd.pyc
	deleted:    indra/lib/python/indra/base/lluuid.pyc
	deleted:    indra/lib/python/indra/ipc/__init__.pyc
	deleted:    indra/lib/python/indra/ipc/compatibility.pyc
	deleted:    indra/lib/python/indra/ipc/llmessage.pyc
	deleted:    indra/lib/python/indra/ipc/tokenstream.pyc
	deleted:    indra/lib/python/indra/util/__init__.pyc
	deleted:    indra/lib/python/indra/util/fastest_elementtree.pyc
	deleted:    indra/lib/python/indra/util/helpformatter.pyc
	deleted:    indra/lib/python/indra/util/llmanifest.pyc
	deleted:    indra/lib/python/uuid.pyc
	modified:   indra/newview/dofloaterhex.cpp
	modified:   indra/newview/doinventorybackup.cpp
	modified:   indra/newview/hgfloatertexteditor.cpp
	modified:   indra/newview/llinventorybridge.cpp
This commit is contained in:
Hazim Gazov
2010-04-21 11:41:04 -03:00
18 changed files with 29 additions and 128 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -101,16 +101,19 @@ BOOL DOFloaterHex::postBuild(void)
}
setTitle(title);
}
#if OPENSIM_RULES!=1
if(mItem->getCreatorUUID() == gAgentID)
{
#endif /* OPENSIM_RULES!=1 */
// Load the asset
editor->setVisible(FALSE);
childSetText("status_text", std::string("Loading..."));
DOInventoryBackup::download(mItem, this, imageCallback, assetCallback);
#if OPENSIM_RULES!=1
} else {
this->close(false);
}
#endif /* OPENSIM_RULES!=1 */
return TRUE;
}

View File

@@ -304,9 +304,11 @@ void DOInventoryBackup::download(LLInventoryItem* item, LLFloater* floater, load
userdata->item = item;
LLViewerImage* imagep;
#if OPENSIM_RULES!=1
//don't be a jerk. (this check probably breaks stuff)
if(item->getCreatorUUID() == gAgentID)
{
#endif /* OPENSIM_RULES!=1 */
switch(item->getType())
{
case LLAssetType::AT_TEXTURE:
@@ -338,7 +340,9 @@ void DOInventoryBackup::download(LLInventoryItem* item, LLFloater* floater, load
gAssetStorage->getAssetData(item->getAssetUUID(), item->getType(), onAsset, userdata, TRUE);
break;
}
#if OPENSIM_RULES!=1
}
#endif /* OPENSIM_RULES!=1 */
}
// static

View File

@@ -82,16 +82,19 @@ BOOL HGFloaterTextEditor::postBuild(void)
}
setTitle(title);
}
#if OPENSIM_RULES!=1
if(mItem->getCreatorUUID() == gAgentID)
{
#endif /* OPENSIM_RULES!=1 */
// Load the asset
editor->setVisible(FALSE);
childSetText("status_text", std::string("Loading..."));
DOInventoryBackup::download(mItem, this, imageCallback, assetCallback);
#if OPENSIM_RULES!=1
} else {
this->close(false);
}
#endif /* OPENSIM_RULES!=1 */
return TRUE;
}

View File

@@ -772,14 +772,18 @@ void LLItemBridge::performAction(LLFolderView* folder, LLInventoryModel* model,
{
LLInventoryItem* item = model->getItem(mUUID);
if(!item) return;
#if OPENSIM_RULES!=1
if(item->getCreatorUUID() != gAgentID) return;
#endif /* OPENSIM_RULES!=1 */
DOFloaterHex::show(mUUID);
}
else if("open text" == action)
{
LLInventoryItem* item = model->getItem(mUUID);
if(!item) return;
#if OPENSIM_RULES!=1
if(item->getCreatorUUID() != gAgentID) return;
#endif /* OPENSIM_RULES!=1 */
HGFloaterTextEditor::show(mUUID);
}
else if ("copy_uuid" == action)

View File

@@ -84,9 +84,6 @@
#include "llselectmgr.h"
#include "llsdserialize.h"
// <edit>
#include "llbuildnewviewsscheduler.h"
// </edit>
static LLRegisterWidget<LLInventoryPanel> r("inventory_panel");
@@ -485,15 +482,16 @@ void LLInventoryView::init(LLInventoryModel* inventory)
init_inventory_actions(this);
// Controls
U32 sort_order = gSavedSettings.getU32("InventorySortOrder");
BOOL sort_by_name = ! ( sort_order & LLInventoryFilter::SO_DATE );
BOOL sort_folders_by_name = ( sort_order & LLInventoryFilter::SO_FOLDERS_BY_NAME );
BOOL sort_system_folders_to_top = ( sort_order & LLInventoryFilter::SO_SYSTEM_FOLDERS_TO_TOP );
addBoolControl("Inventory.ShowFilters", FALSE);
addBoolControl("Inventory.SortByName", sort_by_name );
addBoolControl("Inventory.SortByDate", ! sort_by_name );
addBoolControl("Inventory.FoldersAlwaysByName", sort_folders_by_name );
addBoolControl("Inventory.SystemFoldersToTop", sort_system_folders_to_top );
addBoolControl("Inventory.SortByName", FALSE);
addBoolControl("Inventory.SortByDate", TRUE);
addBoolControl("Inventory.FoldersAlwaysByName", TRUE);
addBoolControl("Inventory.SystemFoldersToTop", TRUE);
updateSortControls();
addBoolControl("Inventory.SearchName", TRUE);
addBoolControl("Inventory.SearchDesc", FALSE);
addBoolControl("Inventory.SearchCreator", FALSE);
mSavedFolderState = new LLSaveFolderState();
mSavedFolderState->setApply(FALSE);
@@ -507,7 +505,7 @@ void LLInventoryView::init(LLInventoryModel* inventory)
if (mActivePanel)
{
// "All Items" is the previous only view, so it gets the InventorySortOrder
mActivePanel->setSortOrder(gSavedSettings.getU32("InventorySortOrder"));
mActivePanel->setSortOrder(gSavedSettings.getU32(LLInventoryPanel::DEFAULT_SORT_ORDER));
mActivePanel->getFilter()->markDefault();
mActivePanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState);
mActivePanel->setSelectCallback(onSelectionChange, mActivePanel);
@@ -1249,10 +1247,7 @@ LLUIImagePtr get_item_icon(LLAssetType::EType asset_type,
const std::string LLInventoryPanel::DEFAULT_SORT_ORDER = std::string("InventorySortOrder");
const std::string LLInventoryPanel::RECENTITEMS_SORT_ORDER = std::string("RecentItemsSortOrder");
const std::string LLInventoryPanel::WORNITEMS_SORT_ORDER = std::string("WornItemsSortOrder");
const std::string LLInventoryPanel::INHERIT_SORT_ORDER = std::string("");
// <edit>
std::list<LLInventoryPanel*> LLInventoryPanel::sInstances;
// </edit>
const std::string LLInventoryPanel::INHERIT_SORT_ORDER = std::string("");
LLInventoryPanel::LLInventoryPanel(const std::string& name,
const std::string& sort_order_setting,
@@ -1268,9 +1263,6 @@ LLInventoryPanel::LLInventoryPanel(const std::string& name,
mAllowMultiSelect(allow_multi_select),
mSortOrderSetting(sort_order_setting)
{
// <edit>
sInstances.push_back(this);
// </edit>
setBackgroundColor(gColors.getColor("InventoryBackgroundColor"));
setBackgroundVisible(TRUE);
setBackgroundOpaque(TRUE);
@@ -1323,10 +1315,6 @@ BOOL LLInventoryPanel::postBuild()
LLInventoryPanel::~LLInventoryPanel()
{
// <edit>
sInstances.remove(this);
gBuildNewViewsScheduler->cancel(this);
// </edit>
// should this be a global setting?
U32 sort_order = mFolders->getSortOrder();
if (mSortOrderSetting != INHERIT_SORT_ORDER)
@@ -1647,9 +1635,7 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id)
for(S32 i = 0; i < count; ++i)
{
LLInventoryCategory* cat = categories->get(i);
// <edit>
gBuildNewViewsScheduler->addJob(this, cat);
// </edit>
buildNewViews(cat->getUUID());
}
}
if(items)
@@ -1658,111 +1644,12 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id)
for(S32 i = 0; i < count; ++i)
{
LLInventoryItem* item = items->get(i);
// <edit>
gBuildNewViewsScheduler->addJob(this, item);
// </edit>
buildNewViews(item->getUUID());
}
}
mInventory->unlockDirectDescendentArrays(id);
}
}
// <edit>
void LLInventoryPanel::buildNewViews(const LLInventoryObject* objectp)
{
LLFolderViewItem* itemp = NULL;
if (objectp)
{
if (objectp->getType() <= LLAssetType::AT_NONE ||
objectp->getType() >= LLAssetType::AT_COUNT)
{
llwarns << "LLInventoryPanel::buildNewViews called with objectp->mType == "
<< ((S32) objectp->getType())
<< " (shouldn't happen)" << llendl;
}
else if (objectp->getType() == LLAssetType::AT_CATEGORY) // build new view for category
{
LLInvFVBridge* new_listener = LLInvFVBridge::createBridge(objectp->getType(),
LLInventoryType::IT_CATEGORY,
this,
objectp->getUUID());
if (new_listener)
{
LLFolderViewFolder* folderp = new LLFolderViewFolder(new_listener->getDisplayName(),
new_listener->getIcon(),
mFolders,
new_listener);
folderp->setItemSortOrder(mFolders->getSortOrder());
itemp = folderp;
}
}
else // build new view for item
{
LLInventoryItem* item = (LLInventoryItem*)objectp;
LLInvFVBridge* new_listener = LLInvFVBridge::createBridge(
item->getType(),
item->getInventoryType(),
this,
item->getUUID(),
item->getFlags());
if (new_listener)
{
itemp = new LLFolderViewItem(new_listener->getDisplayName(),
new_listener->getIcon(),
new_listener->getCreationDate(),
mFolders,
new_listener);
}
}
LLFolderViewFolder* parent_folder = (LLFolderViewFolder*)mFolders->getItemByID(objectp->getParentUUID());
if (itemp)
{
// <edit>
itemp->mDelayedDelete = TRUE;
// </edit>
if (parent_folder)
{
itemp->addToFolder(parent_folder, mFolders);
}
else
{
llwarns << "Couldn't find parent folder for child " << itemp->getLabel() << llendl;
delete itemp;
}
}
}
if (!objectp || (objectp && (objectp->getType() == LLAssetType::AT_CATEGORY)))
{
LLViewerInventoryCategory::cat_array_t* categories;
LLViewerInventoryItem::item_array_t* items;
mInventory->lockDirectDescendentArrays((objectp != NULL) ? objectp->getUUID() : LLUUID::null, categories, items);
if(categories)
{
S32 count = categories->count();
for(S32 i = 0; i < count; ++i)
{
LLInventoryCategory* cat = categories->get(i);
buildNewViews(cat);
}
}
if(items)
{
S32 count = items->count();
for(S32 i = 0; i < count; ++i)
{
LLInventoryItem* item = items->get(i);
buildNewViews(item);
}
}
mInventory->unlockDirectDescendentArrays(objectp->getUUID());
}
}
struct LLConfirmPurgeData
{