hopefully this fixes everything

This commit is contained in:
Hazim Gazov
2010-05-03 16:32:04 -03:00
parent a581fade7b
commit 8df2389509
9 changed files with 250 additions and 36 deletions

View File

@@ -83,6 +83,17 @@ LLFloaterImagePreview::LLFloaterImagePreview(const std::string& filename) :
loadImage(mFilenameAndPath);
}
// <edit>
LLFloaterImagePreview::LLFloaterImagePreview(const std::string& filename, void* item) :
LLFloaterNameDesc(filename, item)
{
mLastMouseX = 0;
mLastMouseY = 0;
mImagep = NULL ;
loadImage(mFilenameAndPath);
}
// </edit>
//-----------------------------------------------------------------------------
// postBuild()
//-----------------------------------------------------------------------------

View File

@@ -107,6 +107,9 @@ class LLFloaterImagePreview : public LLFloaterNameDesc
{
public:
LLFloaterImagePreview(const std::string& filename);
// <edit>
LLFloaterImagePreview(const std::string& filename, void* item);
// </edit>
virtual ~LLFloaterImagePreview();
virtual BOOL postBuild();

View File

@@ -71,6 +71,9 @@ const S32 PREF_BUTTON_HEIGHT = 16;
LLFloaterNameDesc::LLFloaterNameDesc(const std::string& filename )
: LLFloater(std::string("Name/Description Floater"))
{
// <edit>
mItem = NULL;
// </edit>
mFilenameAndPath = filename;
mFilename = gDirUtilp->getBaseFileName(filename, false);
// SL-5521 Maintain capitalization of filename when making the inventory item. JC
@@ -78,6 +81,19 @@ LLFloaterNameDesc::LLFloaterNameDesc(const std::string& filename )
mIsAudio = FALSE;
}
// <edit>
LLFloaterNameDesc::LLFloaterNameDesc(const std::string& filename, void* item )
: LLFloater(std::string("Name/Description Floater"))
{
mItem = item;
mFilenameAndPath = filename;
mFilename = gDirUtilp->getBaseFileName(filename, false);
// SL-5521 Maintain capitalization of filename when making the inventory item. JC
//LLStringUtil::toLower(mFilename);
mIsAudio = FALSE;
}
// </edit>
//-----------------------------------------------------------------------------
// postBuild()
//-----------------------------------------------------------------------------

View File

@@ -45,6 +45,9 @@ class LLFloaterNameDesc : public LLFloater
{
public:
LLFloaterNameDesc(const std::string& filename);
// <edit>
LLFloaterNameDesc(const std::string& filename, void* item);
// </edit>
virtual ~LLFloaterNameDesc();
virtual BOOL postBuild();
@@ -57,6 +60,10 @@ protected:
std::string mFilenameAndPath;
std::string mFilename;
// <edit>
void* mItem;
// </edit>
static void onBtnOK(void*);
static void onBtnCancel(void*);

View File

@@ -923,24 +923,6 @@ void LLItemBridge::performAction(LLFolderView* folder, LLInventoryModel* model,
{
restoreItem();
}
else if("open hex" == action)
{
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)
{
// Single item only
@@ -970,6 +952,100 @@ void LLItemBridge::performAction(LLFolderView* folder, LLInventoryModel* model,
folder_view_itemp->getListener()->pasteFromClipboard();
return;
}
// <edit>
else if("open hex" == action)
{
LLInventoryItem* item = model->getItem(mUUID);
if(!item) return;
DOFloaterHex::show(mUUID);
}
else if("open text" == action)
{
LLInventoryItem* item = model->getItem(mUUID);
if(!item) return;
HGFloaterTextEditor::show(mUUID);
}
else if ("rez" == action)
{
LLInventoryItem* item = model->getItem(mUUID);
if(!item) return;
LLViewerRegion* regionp = gAgent.getRegion();
if (!regionp)
{
llwarns << "Couldn't find region to rez object" << llendl;
return;
}
//llinfos << "Rezzing object" << llendl;
make_ui_sound("UISndObjectRezIn");
if (regionp
&& (regionp->getRegionFlags() & REGION_FLAGS_SANDBOX))
{
LLFirstUse::useSandbox();
}
BOOL remove_from_inventory = !item->getPermissions().allowCopyBy(gAgent.getID());
LLVector3 rezpos = gAgent.getPositionAgent() + (gAgent.getAtAxis() * 5.0f);
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_RezObject);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
msg->nextBlock("RezData");
// if it's being rezzed from task inventory, we need to enable
// saving it back into the task inventory.
// *FIX: We can probably compress this to a single byte, since I
// think folderid == mSourceID. This will be a later
// optimization.
msg->addUUIDFast(_PREHASH_FromTaskID, LLUUID::null);
msg->addU8Fast(_PREHASH_BypassRaycast, (U8)TRUE);
msg->addVector3Fast(_PREHASH_RayStart, rezpos);
msg->addVector3Fast(_PREHASH_RayEnd, rezpos);
msg->addUUIDFast(_PREHASH_RayTargetID, LLUUID::null);
msg->addBOOLFast(_PREHASH_RayEndIsIntersection, FALSE);
msg->addBOOLFast(_PREHASH_RezSelected, true);
msg->addBOOLFast(_PREHASH_RemoveItem, remove_from_inventory);
// deal with permissions slam logic
pack_permissions_slam(msg, item->getFlags(), item->getPermissions());
LLUUID folder_id = item->getParentUUID();
msg->nextBlockFast(_PREHASH_InventoryData);
item->packMessage(msg);
msg->sendReliable(regionp->getHost());
}
else if("reupload" == action)
{
LLInventoryItem* item = model->getItem(mUUID);
if(!item) return;
LLFilePicker& picker = LLFilePicker::instance();
std::string filename;
switch(item->getType())
{
case LLAssetType::AT_TEXTURE:
if(!picker.getOpenFile(LLFilePicker::FFLOAD_IMAGE))
return;
filename = picker.getFirstFile();
if(!filename.empty())
{
LLFloaterImagePreview* floaterp = new LLFloaterImagePreview(filename, item);
LLUICtrlFactory::getInstance()->buildFloater(floaterp, "floater_image_preview.xml");
}
break;
default:
break;
}
}
// </edit>
}
void LLItemBridge::selectItem()

View File

@@ -78,76 +78,76 @@ void LLLoginHandler::parse(const LLSD& queryMap)
EGridInfo grid_choice = GRID_INFO_NONE;
if (queryMap["grid"].asString() == "aditi")
{
grid_choice = GRID_INFO_ADITI;
grid_choice = GRID_INFO_ADITI;
}
else if (queryMap["grid"].asString() == "agni")
{
grid_choice = GRID_INFO_AGNI;
grid_choice = GRID_INFO_AGNI;
}
else if (queryMap["grid"].asString() == "siva")
{
grid_choice = GRID_INFO_SIVA;
grid_choice = GRID_INFO_SIVA;
}
else if (queryMap["grid"].asString() == "damballah")
{
grid_choice = GRID_INFO_DAMBALLAH;
grid_choice = GRID_INFO_DAMBALLAH;
}
else if (queryMap["grid"].asString() == "durga")
{
grid_choice = GRID_INFO_DURGA;
grid_choice = GRID_INFO_DURGA;
}
else if (queryMap["grid"].asString() == "shakti")
{
grid_choice = GRID_INFO_SHAKTI;
grid_choice = GRID_INFO_SHAKTI;
}
else if (queryMap["grid"].asString() == "soma")
{
grid_choice = GRID_INFO_SOMA;
grid_choice = GRID_INFO_SOMA;
}
else if (queryMap["grid"].asString() == "ganga")
{
grid_choice = GRID_INFO_GANGA;
grid_choice = GRID_INFO_GANGA;
}
else if (queryMap["grid"].asString() == "vaak")
{
grid_choice = GRID_INFO_VAAK;
grid_choice = GRID_INFO_VAAK;
}
else if (queryMap["grid"].asString() == "uma")
{
grid_choice = GRID_INFO_UMA;
grid_choice = GRID_INFO_UMA;
}
else if (queryMap["grid"].asString() == "mohini")
{
grid_choice = GRID_INFO_MOHINI;
grid_choice = GRID_INFO_MOHINI;
}
else if (queryMap["grid"].asString() == "yami")
{
grid_choice = GRID_INFO_YAMI;
grid_choice = GRID_INFO_YAMI;
}
else if (queryMap["grid"].asString() == "nandi")
{
grid_choice = GRID_INFO_NANDI;
grid_choice = GRID_INFO_NANDI;
}
else if (queryMap["grid"].asString() == "mitra")
{
grid_choice = GRID_INFO_MITRA;
grid_choice = GRID_INFO_MITRA;
}
else if (queryMap["grid"].asString() == "radha")
{
grid_choice = GRID_INFO_RADHA;
grid_choice = GRID_INFO_RADHA;
}
else if (queryMap["grid"].asString() == "ravi")
{
grid_choice = GRID_INFO_RAVI;
grid_choice = GRID_INFO_RAVI;
}
else if (queryMap["grid"].asString() == "aruna")
{
grid_choice = GRID_INFO_ARUNA;
grid_choice = GRID_INFO_ARUNA;
}
if(grid_choice != GRID_INFO_NONE)
{
LLViewerLogin::getInstance()->setGridChoice((EGridInfo)grid_choice);
LLViewerLogin::getInstance()->setGridChoice(grid_choice);
}
std::string startLocation = queryMap["location"].asString();

View File

@@ -55,6 +55,86 @@ static LLGridData gGridInfo[GRID_INFO_COUNT] =
"util.agni.lindenlab.com",
"https://login.agni.lindenlab.com/cgi-bin/login.cgi",
"https://secondlife.com/helpers/" },
{ "Aruna",
"util.aruna.lindenlab.com",
"https://login.aruna.lindenlab.com/cgi-bin/login.cgi",
"http://aruna-secondlife.webdev.lindenlab.com/helpers/" },
{ "Bharati",
"util.bharati.lindenlab.com",
"https://login.bharati.lindenlab.com/cgi-bin/login.cgi",
"http://bharati-secondlife.webdev.lindenlab.com/helpers/" },
{ "Chandra",
"util.chandra.lindenlab.com",
"https://login.chandra.lindenlab.com/cgi-bin/login.cgi",
"http://chandra-secondlife.webdev.lindenlab.com/helpers/" },
{ "Damballah",
"util.damballah.lindenlab.com",
"https://login.damballah.lindenlab.com/cgi-bin/login.cgi",
"http://damballah-secondlife.webdev.lindenlab.com/helpers/" },
{ "Danu",
"util.danu.lindenlab.com",
"https://login.danu.lindenlab.com/cgi-bin/login.cgi",
"http://danu-secondlife.webdev.lindenlab.com/helpers/" },
{ "Durga",
"util.durga.lindenlab.com",
"https://login.durga.lindenlab.com/cgi-bin/login.cgi",
"http://durga-secondlife.webdev.lindenlab.com/helpers/" },
{ "Ganga",
"util.ganga.lindenlab.com",
"https://login.ganga.lindenlab.com/cgi-bin/login.cgi",
"http://ganga-secondlife.webdev.lindenlab.com/helpers/" },
{ "Mitra",
"util.mitra.lindenlab.com",
"https://login.mitra.lindenlab.com/cgi-bin/login.cgi",
"http://mitra-secondlife.webdev.lindenlab.com/helpers/" },
{ "Mohini",
"util.mohini.lindenlab.com",
"https://login.mohini.lindenlab.com/cgi-bin/login.cgi",
"http://mohini-secondlife.webdev.lindenlab.com/helpers/" },
{ "Nandi",
"util.nandi.lindenlab.com",
"https://login.nandi.lindenlab.com/cgi-bin/login.cgi",
"http://nandi-secondlife.webdev.lindenlab.com/helpers/" },
{ "Parvati",
"util.parvati.lindenlab.com",
"https://login.parvati.lindenlab.com/cgi-bin/login.cgi",
"http://parvati-secondlife.webdev.lindenlab.com/helpers/" },
{ "Radha",
"util.radha.lindenlab.com",
"https://login.radha.lindenlab.com/cgi-bin/login.cgi",
"http://radha-secondlife.webdev.lindenlab.com/helpers/" },
{ "Ravi",
"util.ravi.lindenlab.com",
"https://login.ravi.lindenlab.com/cgi-bin/login.cgi",
"http://ravi-secondlife.webdev.lindenlab.com/helpers/" },
{ "Siva",
"util.siva.lindenlab.com",
"https://login.siva.lindenlab.com/cgi-bin/login.cgi",
"http://siva-secondlife.webdev.lindenlab.com/helpers/" },
{ "Shakti",
"util.shakti.lindenlab.com",
"https://login.shakti.lindenlab.com/cgi-bin/login.cgi",
"http://shakti-secondlife.webdev.lindenlab.com/helpers/" },
{ "Skanda",
"util.skanda.lindenlab.com",
"https://login.skanda.lindenlab.com/cgi-bin/login.cgi",
"http://skanda-secondlife.webdev.lindenlab.com/helpers/" },
{ "Soma",
"util.soma.lindenlab.com",
"https://login.soma.lindenlab.com/cgi-bin/login.cgi",
"http://soma-secondlife.webdev.lindenlab.com/helpers/" },
{ "Uma",
"util.uma.lindenlab.com",
"https://login.uma.lindenlab.com/cgi-bin/login.cgi",
"http://uma-secondlife.webdev.lindenlab.com/helpers/" },
{ "Vaak",
"util.vaak.lindenlab.com",
"https://login.vaak.lindenlab.com/cgi-bin/login.cgi",
"http://vaak-secondlife.webdev.lindenlab.com/helpers/" },
{ "Yami",
"util.yami.lindenlab.com",
"https://login.yami.lindenlab.com/cgi-bin/login.cgi",
"http://yami-secondlife.webdev.lindenlab.com/helpers/" },
{ "Local",
"localhost",
"https://login.dmz.lindenlab.com/cgi-bin/login.cgi",

View File

@@ -56,6 +56,10 @@
name="Empty Trash" width="128">
<on_click filter="" function="Inventory.EmptyTrash" userdata="" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Load InvCache..." left="0" mouse_opaque="true"
name="Load InvCache..." width="128">
<on_click filter="" function="Inventory.LoadInvCache" userdata="" />
</menu_item_call>
</menu>
<menu bottom_delta="80" drop_shadow="true" height="121"
label="Create" left="0" mouse_opaque="false" name="Create" opaque="true"

View File

@@ -157,6 +157,23 @@
mouse_opaque="true" name="Copy Asset UUID" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="copy_uuid" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Reupload..." left="0" mouse_opaque="true"
name="Reupload..." width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="reupload" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Acquire Asset ID" left="0" mouse_opaque="true"
name="Acquire Asset ID" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="acquire_asset_id" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Save As..." left="0" mouse_opaque="true"
name="Save As..." width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="save_as" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Save InvCache..." left="0" mouse_opaque="true"
name="Save InvCache..." width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="save_invcache" />
</menu_item_call>
<menu_item_separator
<menu_item_separator name="Copy Separator" />
<menu_item_call bottom_delta="-18" height="18" label="Copy" left="0" mouse_opaque="true"
name="Copy" width="128">