meow-7.2.2
Leyla Farazha 2010-01-05 15:57:09 -08:00
commit ab3dbd647e
16 changed files with 100 additions and 103 deletions

View File

@ -44,15 +44,18 @@ static S32 DAYS_PER_MONTH_LEAP[] =
static S32 days_from_month(S32 year, S32 month)
{
llassert_always(1 <= month);
llassert_always(month <= 12);
if (year % 4 == 0
&& year % 100 != 0)
{
// leap year
return DAYS_PER_MONTH_LEAP[month];
return DAYS_PER_MONTH_LEAP[month - 1];
}
else
{
return DAYS_PER_MONTH_NOLEAP[month];
return DAYS_PER_MONTH_NOLEAP[month - 1];
}
}

View File

@ -100,8 +100,6 @@ enum EPanDirection
// Values in pixels per region
static const F32 ZOOM_MAX = 128.f;
static const F32 SIM_COORD_DEFAULT = 128.f;
//---------------------------------------------------------------------------
// Globals
//---------------------------------------------------------------------------
@ -189,7 +187,8 @@ LLFloaterWorldMap::LLFloaterWorldMap(const LLSD& key)
mInventory(NULL),
mInventoryObserver(NULL),
mFriendObserver(NULL),
mCompletingRegionName(""),
mCompletingRegionName(),
mCompletingRegionPos(),
mWaitingForTracker(FALSE),
mIsClosing(FALSE),
mSetToUserPosition(TRUE),
@ -205,7 +204,6 @@ LLFloaterWorldMap::LLFloaterWorldMap(const LLSD& key)
mCommitCallbackRegistrar.add("WMap.AvatarCombo", boost::bind(&LLFloaterWorldMap::onAvatarComboCommit, this));
mCommitCallbackRegistrar.add("WMap.Landmark", boost::bind(&LLFloaterWorldMap::onLandmarkComboCommit, this));
mCommitCallbackRegistrar.add("WMap.SearchResult", boost::bind(&LLFloaterWorldMap::onCommitSearchResult, this));
mCommitCallbackRegistrar.add("WMap.CommitLocation", boost::bind(&LLFloaterWorldMap::onCommitLocation, this));
mCommitCallbackRegistrar.add("WMap.GoHome", boost::bind(&LLFloaterWorldMap::onGoHome, this));
mCommitCallbackRegistrar.add("WMap.Teleport", boost::bind(&LLFloaterWorldMap::onClickTeleportBtn, this));
mCommitCallbackRegistrar.add("WMap.ShowTarget", boost::bind(&LLFloaterWorldMap::onShowTargetBtn, this));
@ -664,10 +662,6 @@ void LLFloaterWorldMap::updateLocation()
S32 agent_y = llround( (F32)fmod( agentPos.mdV[VY], (F64)REGION_WIDTH_METERS ) );
S32 agent_z = llround( (F32)agentPos.mdV[VZ] );
childSetValue("spin x", LLSD(agent_x) );
childSetValue("spin y", LLSD(agent_y) );
childSetValue("spin z", LLSD(agent_z) );
// Set the current SLURL
mSLURL = LLSLURL::buildSLURL(agent_sim_name, agent_x, agent_y, agent_z);
}
@ -699,9 +693,6 @@ void LLFloaterWorldMap::updateLocation()
F32 region_x = (F32)fmod( pos_global.mdV[VX], (F64)REGION_WIDTH_METERS );
F32 region_y = (F32)fmod( pos_global.mdV[VY], (F64)REGION_WIDTH_METERS );
childSetValue("spin x", LLSD(region_x) );
childSetValue("spin y", LLSD(region_y) );
childSetValue("spin z", LLSD((F32)pos_global.mdV[VZ]) );
// simNameFromPosGlobal can fail, so don't give the user an invalid SLURL
if ( gotSimName )
@ -733,9 +724,11 @@ void LLFloaterWorldMap::trackURL(const std::string& region_name, S32 x_coord, S3
{
// fill in UI based on URL
gFloaterWorldMap->childSetValue("location", region_name);
childSetValue("spin x", LLSD((F32)x_coord));
childSetValue("spin y", LLSD((F32)y_coord));
childSetValue("spin z", LLSD((F32)z_coord));
// Save local coords to highlight position after region global
// position is returned.
gFloaterWorldMap->mCompletingRegionPos.set(
(F32)x_coord, (F32)y_coord, (F32)z_coord);
// pass sim name to combo box
gFloaterWorldMap->mCompletingRegionName = region_name;
@ -899,18 +892,6 @@ void LLFloaterWorldMap::clearLocationSelection(BOOL clear_ui)
{
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
}
if (!childHasKeyboardFocus("spin x"))
{
childSetValue("spin x", SIM_COORD_DEFAULT);
}
if (!childHasKeyboardFocus("spin y"))
{
childSetValue("spin y", SIM_COORD_DEFAULT);
}
if (!childHasKeyboardFocus("spin z"))
{
childSetValue("spin z", 0);
}
LLWorldMap::getInstance()->cancelTracking();
mCompletingRegionName = "";
}
@ -1466,21 +1447,6 @@ void LLFloaterWorldMap::updateSims(bool found_null_sim)
}
}
void LLFloaterWorldMap::onCommitLocation()
{
LLTracker::ETrackingStatus tracking_status = LLTracker::getTrackingStatus();
if ( LLTracker::TRACKING_LOCATION == tracking_status)
{
LLVector3d pos_global = LLTracker::getTrackedPositionGlobal();
F64 local_x = childGetValue("spin x");
F64 local_y = childGetValue("spin y");
F64 local_z = childGetValue("spin z");
pos_global.mdV[VX] += -fmod(pos_global.mdV[VX], 256.0) + local_x;
pos_global.mdV[VY] += -fmod(pos_global.mdV[VY], 256.0) + local_y;
pos_global.mdV[VZ] = local_z;
trackLocation(pos_global);
}
}
void LLFloaterWorldMap::onCommitSearchResult()
{
@ -1503,12 +1469,19 @@ void LLFloaterWorldMap::onCommitSearchResult()
if (info->isName(sim_name))
{
LLVector3d pos_global = info->getGlobalOrigin();
F64 local_x = childGetValue("spin x");
F64 local_y = childGetValue("spin y");
F64 local_z = childGetValue("spin z");
pos_global.mdV[VX] += local_x;
pos_global.mdV[VY] += local_y;
pos_global.mdV[VZ] = local_z;
const F64 SIM_COORD_DEFAULT = 128.0;
LLVector3 pos_local(SIM_COORD_DEFAULT, SIM_COORD_DEFAULT, 0.0f);
// Did this value come from a trackURL() request?
if (!mCompletingRegionPos.isExactlyZero())
{
pos_local = mCompletingRegionPos;
mCompletingRegionPos.clear();
}
pos_global.mdV[VX] += (F64)pos_local.mV[VX];
pos_global.mdV[VY] += (F64)pos_local.mV[VY];
pos_global.mdV[VZ] = (F64)pos_local.mV[VZ];
childSetValue("location", sim_name);
trackLocation(pos_global);

View File

@ -148,7 +148,6 @@ protected:
void updateSearchEnabled();
void onLocationFocusChanged( LLFocusableElement* ctrl );
void onLocationCommit();
void onCommitLocation();
void onCommitSearchResult();
void cacheLandmarkPosition();
@ -170,6 +169,10 @@ private:
LLFriendObserver* mFriendObserver;
std::string mCompletingRegionName;
// Local position from trackURL() request, used to select final
// position once region lookup complete.
LLVector3 mCompletingRegionPos;
std::string mLastRegionName;
BOOL mWaitingForTracker;

View File

@ -5859,8 +5859,12 @@ void confirm_replace_attachment(S32 option, void* user_data)
}
}
bool callback_attachment_drop(const LLSD& notification, const LLSD& response)
void callback_attachment_drop(const LLSD& notification, const LLSD& response)
{
// Ensure user confirmed the drop
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option != 0) return;
// Called when the user clicked on an object attached to them
// and selected "Drop".
LLUUID object_id = notification["payload"]["object_id"].asUUID();
@ -5869,7 +5873,7 @@ bool callback_attachment_drop(const LLSD& notification, const LLSD& response)
if (!object)
{
llwarns << "handle_drop_attachment() - no object to drop" << llendl;
return true;
return;
}
LLViewerObject *parent = (LLViewerObject*)object->getParent();
@ -5886,13 +5890,13 @@ bool callback_attachment_drop(const LLSD& notification, const LLSD& response)
if (!object)
{
llwarns << "handle_detach() - no object to detach" << llendl;
return true;
return;
}
if (object->isAvatar())
{
llwarns << "Trying to detach avatar from avatar." << llendl;
return true;
return;
}
// reselect the object
@ -5900,7 +5904,7 @@ bool callback_attachment_drop(const LLSD& notification, const LLSD& response)
LLSelectMgr::getInstance()->sendDropAttachment();
return true;
return;
}
class LLAttachmentDrop : public view_listener_t

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -110,7 +110,7 @@
</text>
<line_editor
follows="left|top"
height="16"
height="23"
layout="topleft"
left_pad="2"
max_length="63"
@ -145,7 +145,7 @@
layout="topleft"
left="10"
name="LandType"
top="84"
top_pad="5"
width="100">
Type:
</text>
@ -192,7 +192,7 @@
layout="topleft"
left="10"
name="Owner:"
top="124"
top_pad="5"
width="100">
Owner:
</text>
@ -202,7 +202,7 @@
follows="left|top"
height="16"
layout="topleft"
left_pad="5"
left_pad="2"
name="OwnerText"
width="240">
Leyla Linden
@ -232,6 +232,7 @@
layout="topleft"
left="10"
name="Group:"
top_pad="7"
width="100">
Group:
</text>
@ -240,10 +241,11 @@
enabled="false"
follows="left|top"
height="16"
left_pad="5"
left_pad="2"
layout="topleft"
name="GroupText"
width="240" />
width="240">
Leyla Linden </text>
<button
follows="right"
height="16"
@ -267,10 +269,10 @@
height="23"
label="Allow Deed to Group"
layout="topleft"
left="96"
left="108"
name="check deed"
tool_tip="A group officer can deed this land to the group, so it will be supported by the group&apos;s land allocation."
top="164"
top_pad="3"
width="146" />
<button
enabled="false"
@ -289,7 +291,7 @@
height="16"
label="Owner Makes Contribution With Deed"
layout="topleft"
left="96"
left="108"
name="check contrib"
tool_tip="When the land is deeded to the group, the former owner contributes enough land allocation to support it."
width="199" />
@ -352,7 +354,7 @@
layout="topleft"
left_delta="-199"
name="For sale to"
top_delta="6"
top_delta="2"
width="186">
For sale to: [BUYER]
</text>
@ -364,7 +366,7 @@
layout="topleft"
left_delta="0"
name="Sell with landowners objects in parcel."
top_pad="8"
top_pad="0"
width="186">
Objects included in sale
</text>
@ -389,6 +391,7 @@
right="-10"
name="Cancel Land Sale"
left_pad="5"
top_pad="-10"
width="145" />
<text
type="string"
@ -422,7 +425,7 @@
layout="topleft"
left="10"
name="PriceLabel"
top="288"
top_pad="5"
width="100">
Area:
</text>
@ -470,7 +473,7 @@
layout="topleft"
left_delta="82"
name="Buy Land..."
top="328"
top_pad="7"
width="100" />
<button
enabled="true"
@ -480,7 +483,7 @@
layout="topleft"
left="10"
name="Scripts..."
top="352"
top_pad="1"
width="100" />
<button
enabled="false"
@ -490,7 +493,7 @@
layout="topleft"
right="-10"
name="Buy For Group..."
top="352"
top_delta="0"
width="180" />
<button
enabled="false"
@ -510,7 +513,7 @@
layout="topleft"
right="-10"
name="Abandon Land..."
top="328"
top_pad="-47"
width="180" />
<button
follows="left|top"
@ -519,7 +522,7 @@
layout="topleft"
left_delta="0"
name="Reclaim Land..."
top_delta="-50"
top_delta="-48"
width="180" />
<button
enabled="false"
@ -530,7 +533,7 @@
left_delta="0"
name="Linden Sale..."
tool_tip="Land must be owned, set content, and not already for auction."
top_pad="4"
top_pad="2"
width="180" />
</panel>
<panel
@ -2022,7 +2025,7 @@ Only large parcels can be listed in search.
multi_select="true"
name="AccessList"
tool_tip="([LISTED] listed, [MAX] max)"
width="240" />
width="230" />
<button
follows="bottom"
height="23"
@ -2047,7 +2050,7 @@ Only large parcels can be listed in search.
follows="top|right"
height="170"
width="240"
left_pad="8">
left_pad="2">
<text
type="string"
length="1"
@ -2071,7 +2074,7 @@ Only large parcels can be listed in search.
multi_select="true"
name="BannedList"
tool_tip="([LISTED] listed, [MAX] max)"
width="240" />
width="230" />
<button
follows="bottom"
height="23"

View File

@ -30,25 +30,25 @@
type="string"
length="1"
follows="left|top"
font="SansSerif"
height="16"
layout="topleft"
left_pad="7"
top_delta="3"
name="payee_name"
width="210">
[FIRST] [LAST]
width="184">
Ericacita Moostopolison
</text>
<text
type="string"
length="1"
follows="left|top"
halign="left"
height="16"
height="14"
layout="topleft"
left="30"
left="34"
name="object_name_label"
top_pad="0"
width="150">
width="180">
Via object:
</text>
<icon
@ -59,20 +59,21 @@
name="icon_object"
tool_tip="Objects"
top_pad="0"
left="30"
left="10"
/>
<text
type="string"
length="1"
follows="left|top"
font="SansSerif"
height="18"
height="16"
layout="topleft"
left_pad="5"
left_pad="7"
name="object_name_text"
top_delta="0"
width="210">
...
top_delta="3"
use_ellipses="true"
word_wrap="false"
width="188">
My awesome object with a really damn long name
</text>
<button
height="23"
@ -112,7 +113,7 @@
type="string"
length="1"
follows="left|top"
height="18"
height="14"
layout="topleft"
left="25"
name="amount text"
@ -123,7 +124,7 @@
<line_editor
border_style="line"
follows="left|top|right"
height="19"
height="21"
top_pad="0"
layout="topleft"
left="120"

View File

@ -11,15 +11,15 @@
min_width="234"
name="preview notecard"
help_topic="preview_notecard"
title="NOTE:"
title="NOTECARD:"
width="400">
<floater.string
name="no_object">
Unable to find object containing this note.
Unable to find object containing this notecard.
</floater.string>
<floater.string
name="not_allowed">
You do not have permission to view this note.
You do not have permission to view this notecard.
</floater.string>
<floater.string
name="Title">

View File

@ -2675,7 +2675,7 @@ even though the user gets a free copy.
height="18"
layout="topleft"
left="10"
use_ellipsis="true"
use_ellipses="true"
read_only="true"
name="media_info"
width="180" />

View File

@ -85,7 +85,7 @@
parameter="lsl" />
</menu_item_call>
<menu_item_call
label="New Note"
label="New Notecard"
layout="topleft"
name="New Note">
<menu_item_call.on_click

View File

@ -71,7 +71,7 @@
parameter="lsl" />
</menu_item_call>
<menu_item_call
label="New Note"
label="New Notecard"
layout="topleft"
name="New Note">
<menu_item_call.on_click

View File

@ -307,7 +307,7 @@
<menu_item_separator
layout="topleft" />
<menu_item_call
label="Buy Land"
label="Buy This Land"
layout="topleft"
name="Buy Land">
<menu_item_call.on_click

View File

@ -258,7 +258,7 @@ things in this group. There&apos;s a broad variety of Abilities.
name="static"
top_pad="5"
width="300">
Assigned Members
Assigned Roles
</text>
<scroll_list
draw_stripes="true"

View File

@ -262,7 +262,7 @@ halign="center"
parameter="lsl" />
</menu_item_call>
<menu_item_call
label="New Note"
label="New Notecard"
layout="topleft"
name="New Note">
<menu_item_call.on_click

View File

@ -400,7 +400,7 @@ background_visible="true"
layout="topleft"
name="group_info_btn"
tool_tip="Show group information"
width="110" />
width="102" />
<button
follows="bottom|left"
top="4"
@ -410,7 +410,7 @@ background_visible="true"
layout="topleft"
name="chat_btn"
tool_tip="Open chat session"
width="110" />
width="102" />
<button
follows="bottom|left"
top="4"
@ -420,6 +420,6 @@ background_visible="true"
layout="topleft"
name="group_call_btn"
tool_tip="Call this group"
width="110" />
width="102" />
</panel>
</panel>

View File

@ -179,4 +179,14 @@ namespace tut
LLDateUtil::ageFromDate("12/31/2009", mNow),
"Joined today" );
}
template<> template<>
void dateutil_object_t::test<5>()
{
set_test_name("2010 rollover");
LLDate now(std::string("2010-01-04T12:00:00Z"));
ensure_equals("days",
LLDateUtil::ageFromDate("12/13/2009", now),
"3 weeks old" );
}
}