System Inventory beta - Working, but perhaps not as well as I'd like it to.

Signed-off-by: Beeks <HgDelirium@gmail.com>
This commit is contained in:
Beeks
2010-09-24 20:06:33 -04:00
parent 6676f145e1
commit f8c2308c87
14 changed files with 165 additions and 273 deletions

View File

@@ -117,6 +117,28 @@
<key>Value</key>
<real>0.0</real>
</map>
<key>AscentUseSystemFolder</key>
<map>
<key>Comment</key>
<string>Enables the System folder for setting and non-permanent asset storage.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AscentSystemTemporary</key>
<map>
<key>Comment</key>
<string>When enabled, temporary uploads are put in the System Asset folder (if System Folder exists).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AscentShowFriendsTag</key>
<map>
<key>Comment</key>

View File

@@ -77,6 +77,8 @@ private:
BOOL mAlwaysShowFly;
//Disable camera minimum distance
BOOL mPowerUser;
BOOL mUseSystemFolder;
BOOL mUploadToSystem;
//Chat/IM -----------------------------------------------------------------------------
BOOL mHideNotificationsInChat;
BOOL mPlayTypingSound;
@@ -109,6 +111,8 @@ LLPrefsAscentSysImpl::LLPrefsAscentSysImpl()
{
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_ascent_system.xml");
childSetCommitCallback("speed_rez_check", onCommitCheckBox, this);
childSetCommitCallback("double_click_teleport_check", onCommitCheckBox, this);
childSetCommitCallback("system_folder_check", onCommitCheckBox, this);
childSetCommitCallback("show_look_at_check", onCommitCheckBox, this);
childSetCommitCallback("enable_clouds", onCommitCheckBox, this);
mEnableClouds = gSavedSettings.getBOOL("CloudsEnabled");
@@ -125,16 +129,9 @@ void LLPrefsAscentSysImpl::onCommitCheckBox(LLUICtrl* ctrl, void* user_data)
if (ctrl->getControlName() == "SpeedRez")
{
if (self->childGetValue("speed_rez_check").asBoolean())
{
self->childEnable("speed_rez_interval");
self->childEnable("speed_rez_seconds");
}
else
{
self->childDisable("speed_rez_interval");
self->childDisable("speed_rez_seconds");
}
bool enabled = self->childGetValue("speed_rez_check").asBoolean();
self->childSetEnabled("speed_rez_interval", enabled);
self->childSetEnabled("speed_rez_seconds", enabled);
}
else if (ctrl->getName() == "show_look_at_check")
{
@@ -142,6 +139,17 @@ void LLPrefsAscentSysImpl::onCommitCheckBox(LLUICtrl* ctrl, void* user_data)
LLHUDEffectLookAt::sDebugLookAt = lookAt;
gSavedSettings.setBOOL("AscentShowLookAt", lookAt);
}
else if (ctrl->getName() == "double_click_teleport_check")
{
bool enabled = self->childGetValue("double_click_teleport_check").asBoolean();
self->childSetEnabled("center_after_teleport_check", enabled);
self->childSetEnabled("offset_teleport_check", enabled);
}
else if (ctrl->getName() == "system_folder_check")
{
bool enabled = self->childGetValue("system_folder_check").asBoolean();
self->childSetEnabled("temp_in_system_check", enabled);
}
}
void LLPrefsAscentSysImpl::refreshValues()
@@ -159,6 +167,8 @@ void LLPrefsAscentSysImpl::refreshValues()
mAlwaysShowFly = gSavedSettings.getBOOL("AscentFlyAlwaysEnabled");
//Disable camera minimum distance
mPowerUser = gSavedSettings.getBOOL("AscentPowerfulWizard");
mUseSystemFolder = gSavedSettings.getBOOL("AscentUseSystemFolder");
mUploadToSystem = gSavedSettings.getBOOL("AscentSystemTemporary");
//Chat/IMs ----------------------------------------------------------------------------
mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat");
mHideTypingNotification = gSavedSettings.getBOOL("AscentHideTypingNotification");
@@ -198,7 +208,9 @@ void LLPrefsAscentSysImpl::refresh()
//General -----------------------------------------------------------------------------
childSetValue("double_click_teleport_check", mDoubleClickTeleport);
childSetValue("center_after_teleport_check", mResetCameraAfterTP);
childSetEnabled("center_after_teleport_check", mDoubleClickTeleport);
childSetValue("offset_teleport_check", mOffsetTPByUserHeight);
childSetEnabled("offset_teleport_check", mDoubleClickTeleport);
childSetValue("preview_anim_in_world_check", mPreviewAnimInWorld);
childSetValue("save_scripts_as_mono_check", mSaveScriptsAsMono);
childSetValue("always_rez_in_group_check", mAlwaysRezInGroup);
@@ -209,6 +221,9 @@ void LLPrefsAscentSysImpl::refresh()
//Disable camera minimum distance
childSetValue("power_user_check", mPowerUser);
childSetValue("power_user_confirm_check", mPowerUser);
childSetValue("system_folder_check", mUseSystemFolder);
childSetValue("temp_in_system_check", mUploadToSystem);
childSetEnabled("temp_in_system_check", mUseSystemFolder);
//Chat --------------------------------------------------------------------------------
childSetValue("hide_notifications_in_chat_check", mHideNotificationsInChat);
childSetValue("play_typing_sound_check", mPlayTypingSound);
@@ -279,16 +294,8 @@ void LLPrefsAscentSysImpl::refresh()
childSetValue("enable_clouds", mEnableClouds);
gLLWindEnabled = mEnableLLWind;
childSetValue("speed_rez_check", mSpeedRez);
if (mSpeedRez)
{
childEnable("speed_rez_interval");
childEnable("speed_rez_seconds");
}
else
{
childDisable("speed_rez_interval");
childDisable("speed_rez_seconds");
}
childSetEnabled("speed_rez_interval", mSpeedRez);
childSetEnabled("speed_rez_seconds", mSpeedRez);
//Command Line ------------------------------------------------------------------------
//Privacy -----------------------------------------------------------------------------

View File

@@ -21,7 +21,7 @@
#include "llviewerregion.h" // getCapability
#include "llassetuploadresponders.h" // LLUpdateAgentInventoryResponder
#include "llinventorymodel.h" // gInventory.updateItem
#include "llappviewer.h" // gLocalInventoryRoot
#include "llappviewer.h" // System Folders
#include "llfloaterperms.h" //get default perms
std::list<DOFloaterHex*> DOFloaterHex::sInstances;
@@ -261,7 +261,7 @@ void DOFloaterHex::assetCallback(LLVFS *vfs,
}
// Never enable save if it's a pretend item
if(gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot))
if(gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot))
{
floater->childSetEnabled("save_btn", false);
}

View File

@@ -21,7 +21,7 @@
#include "llviewerregion.h" // getCapability
#include "llassetuploadresponders.h" // LLUpdateAgentInventoryResponder
#include "llinventorymodel.h" // gInventory.updateItem
#include "llappviewer.h" // gLocalInventoryRoot
#include "llappviewer.h" // System Folders
#include "llfloaterperms.h" //get default perms
#include "lllocalinventory.h"
@@ -225,7 +225,7 @@ void HGFloaterTextEditor::assetCallback(LLVFS *vfs,
}
// Never enable save if it's a pretend item
if(gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot))
if(gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot))
{
floater->childSetEnabled("save_btn", false);
}

View File

@@ -259,7 +259,9 @@ F32 gLogoutMaxTime = LOGOUT_REQUEST_TIME;
LLUUID gInventoryLibraryOwner;
LLUUID gInventoryLibraryRoot;
// <edit>
LLUUID gLocalInventoryRoot;
LLUUID gSystemFolderRoot;
LLUUID gSystemFolderSettings;
LLUUID gSystemFolderAssets;
// </edit>
BOOL gDisconnected = FALSE;
@@ -632,8 +634,12 @@ bool LLAppViewer::init()
writeSystemInfo();
// Build a string representing the current version number.
// <edit> meh
gCurrentVersion = "1.0.0.0";
gCurrentVersion = llformat("%s %d.%d.%d.%d",
LL_CHANNEL,
LL_VERSION_MAJOR,
LL_VERSION_MINOR,
LL_VERSION_PATCH,
LL_VERSION_BUILD );
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

View File

@@ -308,7 +308,9 @@ extern F32 gSimFrames;
extern LLUUID gInventoryLibraryOwner;
extern LLUUID gInventoryLibraryRoot;
// <edit>
extern LLUUID gLocalInventoryRoot;
extern LLUUID gSystemFolderRoot;
extern LLUUID gSystemFolderSettings;
extern LLUUID gSystemFolderAssets;
// </edit>
extern BOOL gDisconnected;

View File

@@ -777,7 +777,7 @@ BOOL LLFolderViewItem::handleHover( S32 x, S32 y, MASK mask )
src = LLToolDragAndDrop::SOURCE_LIBRARY;
}
// <edit>
else if(mListener && gInventory.isObjectDescendentOf(mListener->getUUID(), gLocalInventoryRoot))
else if(mListener && gInventory.isObjectDescendentOf(mListener->getUUID(), gSystemFolderRoot))
{ // Note: this is only ok if all future pretend folders are subcategories of Pretend Inventory
src = LLToolDragAndDrop::SOURCE_LIBRARY;
}
@@ -2941,7 +2941,6 @@ void LLFolderView::filter( LLInventoryFilter& filter )
LLFastTimer t2(LLFastTimer::FTM_FILTER);
filter.setFilterCount(llclamp(gSavedSettings.getS32("FilterItemsPerFrame"), 1, 5000));
if (getCompletedFilterGeneration() < filter.getCurrentGeneration())
{
mFiltered = FALSE;

View File

@@ -92,7 +92,7 @@
#include "llselectmgr.h"
#include "llfloateropenobject.h"
// <edit>
#include "llappviewer.h" // gLocalInventoryRoot
#include "llappviewer.h" // System Folders
#include "llfloateranimpreview.h" // for reuploads
#include "llfloaterimagepreview.h" // for reuploads
#include "llimportobject.h" // for disabling options during import
@@ -364,7 +364,7 @@ void LLInvFVBridge::removeBatchNoCheck(LLDynamicArray<LLFolderViewEventListener*
--update[item->getParentUUID()];
++update[trash_id];
// <edit>
if(!gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot))
if(!gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot))
{
// </edit>
if(start_new_message)
@@ -411,7 +411,7 @@ void LLInvFVBridge::removeBatchNoCheck(LLDynamicArray<LLFolderViewEventListener*
--update[cat->getParentUUID()];
++update[trash_id];
// <edit>
if(!gInventory.isObjectDescendentOf(cat->getUUID(), gLocalInventoryRoot))
if(!gInventory.isObjectDescendentOf(cat->getUUID(), gSystemFolderRoot))
{
// </edit>
if(start_new_message)
@@ -450,7 +450,7 @@ void LLInvFVBridge::removeBatchNoCheck(LLDynamicArray<LLFolderViewEventListener*
for(; it != end; ++it)
{
// <edit> trash problem
if(gInventory.isObjectDescendentOf(*it, gLocalInventoryRoot))
if(gInventory.isObjectDescendentOf(*it, gSystemFolderRoot))
{
// if it's a category, delete descendents
if(gInventory.getCategory(*it))
@@ -1148,7 +1148,7 @@ void LLItemBridge::selectItem()
if(item && !item->isComplete())
{
// <edit>
if(!(gInventory.isObjectDescendentOf(mUUID, gLocalInventoryRoot)))
if(!(gInventory.isObjectDescendentOf(mUUID, gSystemFolderRoot)))
// </edit>
item->fetchFromServer();
}
@@ -1298,10 +1298,6 @@ std::string LLItemBridge::getLabelSuffix() const
else stempo = EMPTY;
suffix = llformat("%s%s%s%s",scopy,smod,sxfer,stempo);
}
else if (!perm.isOwned())
{
suffix = " (temporary)";
}
}
return suffix;
}
@@ -1380,7 +1376,7 @@ BOOL LLItemBridge::removeItem()
if(item && !model->isObjectDescendentOf(mUUID, trash_id))
{
// <edit> trash problem
if(gInventory.isObjectDescendentOf(mUUID, gLocalInventoryRoot))
if(gInventory.isObjectDescendentOf(mUUID, gSystemFolderRoot))
{
LLInventoryModel::LLCategoryUpdate up(item->getParentUUID(), -1);
gInventory.deleteObject(mUUID);
@@ -1641,7 +1637,7 @@ BOOL LLFolderBridge::isUpToDate() const
// <edit> trying to make it stop trying to fetch Local Inventory
//return category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN;
return (category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN) || (mUUID == gLocalInventoryRoot) || (gInventory.isObjectDescendentOf(mUUID, gLocalInventoryRoot));
return (category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN) || (mUUID == gSystemFolderRoot) || (gInventory.isObjectDescendentOf(mUUID, gSystemFolderRoot));
// </edit>
}
@@ -2355,7 +2351,7 @@ BOOL LLFolderBridge::removeItem()
if(cat)
{
// <edit> trash problem
if(gInventory.isObjectDescendentOf(cat->getUUID(), gLocalInventoryRoot))
if(gInventory.isObjectDescendentOf(cat->getUUID(), gSystemFolderRoot))
{
S32 descendents = cat->getDescendentCount();
if(descendents > 0)
@@ -4942,10 +4938,8 @@ void wear_inventory_category_on_avatar_step2( BOOL proceed, void* userdata )
}
for(i = 0; i < wearable_count; ++i)
{
gAddToOutfit = wear_info->mAppend;
found = found_container.get(i);
gWearableList.getAsset(found->mAssetID,
found->mName,

View File

@@ -44,7 +44,7 @@ LLUUID LLLocalInventory::addItem(std::string name, int type, LLUUID asset_id)
perms->setMaskOwner(0);
LLViewerInventoryItem* item = new LLViewerInventoryItem(
item_id,
gLocalInventoryRoot,
gSystemFolderAssets,
*perms,
asset_id,
(LLAssetType::EType)type,
@@ -63,7 +63,6 @@ void LLLocalInventory::addItem(LLViewerInventoryItem* item)
//gInventory.addPretendItem(item);
LLInventoryModel::update_map_t update;
++update[item->getParentUUID()];
item->updateServer(TRUE);
gInventory.accountForUpdate(update);
gInventory.updateItem(item);
gInventory.notifyObservers();
@@ -185,7 +184,7 @@ void LLLocalInventory::loadInvCache(std::string filename)
LLUUID container_id;
container_id.generate();
container->setUUID(container_id);
container->setParent(gLocalInventoryRoot);
container->setParent(gSystemFolderRoot);
container->setPreferredType(LLAssetType::AT_NONE);
LLInventoryModel::update_map_t container_update;
++container_update[container->getParentUUID()];
@@ -229,7 +228,7 @@ void LLLocalInventory::loadInvCache(std::string filename)
// If the parent exists and outside of pretend inventory, generate a new uuid
else if(gInventory.getCategory((*cat_iter)->getParentUUID()))
{
if(!gInventory.isObjectDescendentOf((*cat_iter)->getParentUUID(), gLocalInventoryRoot, TRUE))
if(!gInventory.isObjectDescendentOf((*cat_iter)->getParentUUID(), gSystemFolderRoot, TRUE))
{
std::map<LLUUID,LLUUID>::iterator itr = conflicting_cats.find((*cat_iter)->getParentUUID());
if(itr == conflicting_cats.end())
@@ -276,7 +275,7 @@ void LLLocalInventory::loadInvCache(std::string filename)
// If the parent exists and outside of pretend inventory, generate a new uuid
if(gInventory.getCategory((*item_iter)->getParentUUID()))
{
if(!gInventory.isObjectDescendentOf((*item_iter)->getParentUUID(), gLocalInventoryRoot, TRUE))
if(!gInventory.isObjectDescendentOf((*item_iter)->getParentUUID(), gSystemFolderRoot, TRUE))
{
std::map<LLUUID,LLUUID>::iterator itr = conflicting_cats.find((*item_iter)->getParentUUID());
if(itr == conflicting_cats.end())
@@ -536,7 +535,7 @@ void LLFloaterNewLocalInventory::onClickOK(void* user_data)
LLViewerInventoryItem* item = new LLViewerInventoryItem(
item_id,
gLocalInventoryRoot,
gSystemFolderRoot,
*perms,
asset_id,
type,

View File

@@ -2148,19 +2148,6 @@ bool idle_startup()
}
}
// <edit> testing adding a local inventory folder...
LLViewerInventoryCategory* test_cat = new LLViewerInventoryCategory(gAgent.getID());
test_cat->rename(std::string("Pretend Inventory"));
LLUUID test_cat_id;
test_cat_id.generate();
test_cat->setUUID(test_cat_id);
gLocalInventoryRoot = test_cat_id;
test_cat->setParent(LLUUID::null);
test_cat->setPreferredType(LLAssetType::AT_NONE);
gInventory.addCategory(test_cat);
// </edit>
// OGPX login-flags : we don't currently get those passed back (there is a gendered hack in the code elsewhere)
// unsure if OGPX should be getting all these.
if (LLUserAuth::getInstance()->mResult["login-flags"].isArray())
@@ -2965,6 +2952,40 @@ bool idle_startup()
}
}
// <edit> testing adding a local inventory folder...
if (gSavedSettings.getBOOL("AscentUseSystemFolder"))
{
LLViewerInventoryCategory* system_folder = new LLViewerInventoryCategory(gAgent.getID());
system_folder->rename(std::string("System Inventory"));
LLUUID system_folder_id = LLUUID("00000000-0000-F113-7357-000000000100");
system_folder->setUUID(system_folder_id);
gSystemFolderRoot = system_folder_id;
system_folder->setParent(LLUUID::null);
system_folder->setPreferredType(LLAssetType::AT_NONE);
gInventory.addCategory(system_folder);
LLViewerInventoryCategory* settings_folder = new LLViewerInventoryCategory(gAgent.getID());
settings_folder->rename(std::string("Settings"));
LLUUID settings_folder_id;
settings_folder_id.generate();
settings_folder->setUUID(settings_folder_id);
gSystemFolderSettings = settings_folder_id;
settings_folder->setParent(gSystemFolderRoot);
settings_folder->setPreferredType(LLAssetType::AT_NONE);
gInventory.addCategory(settings_folder);
LLViewerInventoryCategory* assets_folder = new LLViewerInventoryCategory(gAgent.getID());
assets_folder->rename(std::string("Assets"));
LLUUID assets_folder_id;
assets_folder_id.generate();
assets_folder->setUUID(assets_folder_id);
gSystemFolderAssets = assets_folder_id;
assets_folder->setParent(gSystemFolderRoot);
assets_folder->setPreferredType(LLAssetType::AT_NONE);
gInventory.addCategory(assets_folder);
}
// </edit>
options.clear();
if(LLUserAuth::getInstance()->getOptions("buddy-list", options))
{

View File

@@ -70,7 +70,7 @@
#include "object_flags.h"
#include "llimview.h"
// <edit>
#include "llappviewer.h" // gLocalInventoryRoot
#include "llappviewer.h" // System Folders
#include "llparcel.h" // always rez
#include "llviewerparcelmgr.h" // always rez
// </edit>
@@ -1161,13 +1161,11 @@ void LLToolDragAndDrop::dropTextureAllFaces(LLViewerObject* hit_obj,
return;
}
LLUUID asset_id = item->getAssetUUID();
// <edit>
/*BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id);
BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id);
if(!success)
{
return;
}*/
// </edit>
}
LLViewerImage* image = gImageList.getImage(asset_id);
LLViewerStats::getInstance()->incStat(LLViewerStats::ST_EDIT_TEXTURE_COUNT );
S32 num_faces = hit_obj->getNumTEs();
@@ -1205,13 +1203,11 @@ void LLToolDragAndDrop::dropTextureOneFace(LLViewerObject* hit_obj,
return;
}
LLUUID asset_id = item->getAssetUUID();
// <edit>
/*BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id);
BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id);
if(!success)
{
return;
}*/
// </edit>
}
// update viewer side image in anticipation of update from simulator
LLViewerImage* image = gImageList.getImage(asset_id);
LLViewerStats::getInstance()->incStat(LLViewerStats::ST_EDIT_TEXTURE_COUNT );
@@ -1383,8 +1379,11 @@ void LLToolDragAndDrop::dropObject(LLViewerObject* raycast_target,
msg->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID());
else if(gAgent.isInGroup(parcel->getOwnerID()))
msg->addUUIDFast(_PREHASH_GroupID, parcel->getOwnerID());
else msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
} else msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
else
msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
}
else
msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
msg->nextBlock("RezData");
// if it's being rezzed from task inventory, we need to enable
@@ -1994,7 +1993,7 @@ EAcceptance LLToolDragAndDrop::willObjectAcceptInventory(LLViewerObject* obj, LL
LLViewerInventoryItem* vitem = (LLViewerInventoryItem*)item;
// <edit>
//if(!vitem->isComplete()) return ACCEPT_NO;
if(!vitem->isComplete() && !(gInventory.isObjectDescendentOf(vitem->getUUID(), gLocalInventoryRoot))) return ACCEPT_NO;
if(!vitem->isComplete() && !(gInventory.isObjectDescendentOf(vitem->getUUID(), gSystemFolderRoot))) return ACCEPT_NO;
// </edit>
if (vitem->getIsLinkType()) return ACCEPT_NO; // No giving away links
@@ -2054,10 +2053,7 @@ EAcceptance LLToolDragAndDrop::willObjectAcceptInventory(LLViewerObject* obj, LL
{
return ACCEPT_NO_LOCKED;
}
// <edit> allow dropping textures onto objects
//return ACCEPT_NO;
return ACCEPT_YES_SINGLE;
// </edit>
return ACCEPT_NO;
}
@@ -2404,7 +2400,7 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
locateInventory(item, cat);
// <edit>
//if(!item || !item->isComplete()) return ACCEPT_NO;
if( !item || (!item->isComplete() && !(gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot))) ) return ACCEPT_NO;
if( !item || (!item->isComplete() && !(gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot))) ) return ACCEPT_NO;
// </edit>
EAcceptance rv = willObjectAcceptInventory(obj, item);
if((mask & MASK_CONTROL))
@@ -2415,9 +2411,6 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
}
return rv;
}
// <edit>
/*
// </edit>
if(!obj->permModify())
{
return ACCEPT_NO_LOCKED;
@@ -2427,9 +2420,6 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
{
return ACCEPT_NO;
}
// <edit>
*/
// </edit>
if(drop && (ACCEPT_YES_SINGLE <= rv))
{
@@ -2857,13 +2847,11 @@ EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnLand(
locateInventory(item, cat);
if(!item || !item->isComplete()) return ACCEPT_NO;
// <edit>
//if(!gAgent.allowOperation(PERM_COPY, item->getPermissions())
// || !item->getPermissions().allowTransferTo(LLUUID::null))
//{
// return ACCEPT_NO_LOCKED;
//}
// </edit>
if(!gAgent.allowOperation(PERM_COPY, item->getPermissions())
|| !item->getPermissions().allowTransferTo(LLUUID::null))
{
return ACCEPT_NO_LOCKED;
}
if(drop)
{
dropObject(obj, TRUE, TRUE, FALSE);
@@ -2893,14 +2881,12 @@ EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnObject(
//}
//return rv;
}
// <edit>
//if(!item->getPermissions().allowCopyBy(gAgent.getID(),
// gAgent.getGroupID())
// || !item->getPermissions().allowTransferTo(LLUUID::null))
//{
// return ACCEPT_NO_LOCKED;
//}
// </edit>a
if(!item->getPermissions().allowCopyBy(gAgent.getID(),
gAgent.getGroupID())
|| !item->getPermissions().allowTransferTo(LLUUID::null))
{
return ACCEPT_NO_LOCKED;
}
if(drop)
{
dropObject(obj, FALSE, TRUE, FALSE);

View File

@@ -468,167 +468,6 @@ void upload_error(const std::string& error_message, const std::string& label, co
LLFilePicker::instance().reset();
}
class LLFileEnableCloseWindow : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
@@ -959,6 +798,13 @@ void upload_new_resource(const std::string& src_filename, std::string name,
return;
}
}
// <edit>
else if(exten == "ogg")
{
asset_type = LLAssetType::AT_SOUND; // tag it as audio
filename = src_filename;
}
// </edit>
else if(exten == "tmp")
{
// This is a generic .lin resource file
@@ -1124,13 +970,6 @@ void upload_new_resource(const std::string& src_filename, std::string name,
// </edit>
}
// <edit>
// <edit>
else if(exten == "ogg")
{
asset_type = LLAssetType::AT_SOUND; // tag it as audio
filename = src_filename;
}
// </edit>
else if (exten == "animatn")
{
asset_type = LLAssetType::AT_ANIMATION;
@@ -1265,9 +1104,14 @@ void temp_upload_callback(const LLUUID& uuid, void* user_data, S32 result, LLExt
perms->setMaskGroup(PERM_ALL);
perms->setMaskNext(PERM_ALL);
LLUUID destination = gInventory.findCategoryUUIDForType(LLAssetType::AT_TEXTURE);
if (gSavedSettings.getBOOL("AscentUseSystemFolder") && gSavedSettings.getBOOL("AscentSystemTemporary"))
{
destination = gSystemFolderAssets;
}
LLViewerInventoryItem* item = new LLViewerInventoryItem(
item_id,
gLocalInventoryRoot,
destination,
*perms,
uuid,
(LLAssetType::EType)data->mAssetInfo.mType,

View File

@@ -2001,7 +2001,7 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e
if (face_hit >= 0 && mDrawable->getNumFaces() > face_hit)
{
LLFace* face = mDrawable->getFace(face_hit);
LLFace* face = mDrawable->getFace(face_hit);
if (pick_transparent || !face->getTexture() || face->getTexture()->getMask(face->surfaceToTexture(tc, p, n)))
{
@@ -2414,7 +2414,7 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
if (group->isState(LLSpatialGroup::MESH_DIRTY))
{
S32 num_mapped_veretx_buffer = LLVertexBuffer::sMappedCount ;
S32 num_mapped_vertex_buffer = LLVertexBuffer::sMappedCount ;
group->mBuilt = 1.f;
@@ -2473,7 +2473,7 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
}
//if not all buffers are unmapped
if(num_mapped_veretx_buffer != LLVertexBuffer::sMappedCount)
if(num_mapped_vertex_buffer != LLVertexBuffer::sMappedCount)
{
if (++warningsCount > 20) // Do not spam the log file uselessly...
{

View File

@@ -83,6 +83,18 @@
tool_tip="Confirms Power User activation. Turn this on at your own risk, and use any features it enables responsibly. Ascent devs will not replace anything you break if you ruin something important. Unlike most checkboxes, you must apply/ok changes before this will activate."
mouse_opaque="true" name="power_user_confirm_check" radio_style="false"
width="400" />
<check_box bottom_delta="-20" control_name="AscentUseSystemFolder" enabled="true"
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
label="Enable Ascent System Inventory (Requires Restart)" left="10"
tool_tip="Creates a new folder in the inventory for storing settings files and non-permanent assets."
mouse_opaque="true" name="system_folder_check" radio_style="false"
width="400" />
<check_box bottom_delta="-20" control_name="AscentSystemTemporary" enabled="true"
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
label="Temporary uploads go in the System Asset folder." left="20"
tool_tip="Puts temporary uploads in the Asset folder which separates them from actual uploads, making them easier to find."
mouse_opaque="true" name="temp_in_system_check" radio_style="false"
width="400" />
</panel>
<panel border="true" left="1" bottom="-408" height="408" width="500" mouse_opaque="true"
follows="left|top|right|bottom" label="Chat/IM" name="Chat/IM">