From c659c65d02d4d92b614ccdf2e2a4a0dcf859a8cd Mon Sep 17 00:00:00 2001
From: Jacek Antonelli
Date: Fri, 15 Aug 2008 23:44:49 -0500
Subject: Second Life viewer sources 1.13.3.2
---
.../indra/newview/English.lproj/InfoPlist.strings | 4 +-
linden/indra/newview/Info-SecondLife.plist | 2 +-
linden/indra/newview/llfloateravatarinfo.cpp | 6 +-
linden/indra/newview/llfloaterland.cpp | 6 +-
linden/indra/newview/llfloaterproperties.cpp | 1 +
linden/indra/newview/llgivemoney.cpp | 4 +-
linden/indra/newview/llhudeffect.cpp | 1 +
linden/indra/newview/llhudmanager.cpp | 10 ++-
linden/indra/newview/llpanelavatar.cpp | 81 +++++++++-------------
linden/indra/newview/llpanelavatar.h | 3 +-
linden/indra/newview/llpaneldirbrowser.cpp | 48 +++----------
linden/indra/newview/llpaneldirpeople.cpp | 5 --
linden/indra/newview/llprefsim.cpp | 39 +++++------
linden/indra/newview/llviewermenu.cpp | 48 ++++++-------
linden/indra/newview/llviewermessage.cpp | 2 +-
linden/indra/newview/releasenotes.txt | 12 ++++
linden/indra/newview/res/newViewRes.rc | 8 +--
.../newview/skins/xui/en-us/floater_directory.xml | 10 +--
.../indra/newview/skins/xui/en-us/panel_avatar.xml | 16 +----
.../skins/xui/en-us/panel_preferences_im.xml | 6 +-
20 files changed, 130 insertions(+), 182 deletions(-)
(limited to 'linden/indra/newview')
diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings
index 2f68a02..6ef64e4 100644
--- a/linden/indra/newview/English.lproj/InfoPlist.strings
+++ b/linden/indra/newview/English.lproj/InfoPlist.strings
@@ -1,5 +1,5 @@
/* Localized versions of Info.plist keys */
CFBundleName = "Second Life";
-CFBundleShortVersionString = "Second Life version 1.13.2.15";
-CFBundleGetInfoString = "Second Life version 1.13.2.15, Copyright 2004-2006 Linden Research, Inc.";
+CFBundleShortVersionString = "Second Life version 1.13.3.2";
+CFBundleGetInfoString = "Second Life version 1.13.3.2, Copyright 2004-2006 Linden Research, Inc.";
diff --git a/linden/indra/newview/Info-SecondLife.plist b/linden/indra/newview/Info-SecondLife.plist
index 3e6c65e..6e1de8b 100644
--- a/linden/indra/newview/Info-SecondLife.plist
+++ b/linden/indra/newview/Info-SecondLife.plist
@@ -32,7 +32,7 @@
CFBundleVersion
- 1.13.2.15
+ 1.13.3.2
CSResourcesFileMapped
diff --git a/linden/indra/newview/llfloateravatarinfo.cpp b/linden/indra/newview/llfloateravatarinfo.cpp
index a429cc2..959967a 100644
--- a/linden/indra/newview/llfloateravatarinfo.cpp
+++ b/linden/indra/newview/llfloateravatarinfo.cpp
@@ -121,7 +121,7 @@ BOOL LLFloaterAvatarInfo::postBuild()
LLFloaterAvatarInfo::LLFloaterAvatarInfo(const std::string& name, const LLRect &rect, const LLUUID &avatar_id)
: LLPreview(name, rect, FLOATER_TITLE, LLUUID::null, LLUUID::null),
mAvatarID( avatar_id ),
- mSuggestedOnlineStatus(ONLINE_STATUS_UNKNOWN)
+ mSuggestedOnlineStatus(ONLINE_STATUS_NO)
{
mAutoFocus = TRUE;
@@ -182,7 +182,7 @@ void LLFloaterAvatarInfo::showFromObject(const LLUUID &avatar_id, std::string ta
floater = new LLFloaterAvatarInfo("avatarinfo", FAI_RECT,
avatar_id);
floater->center();
- floater->mPanelAvatarp->setAvatarID(avatar_id, "", ONLINE_STATUS_UNKNOWN);
+ floater->mPanelAvatarp->setAvatarID(avatar_id, "", ONLINE_STATUS_NO);
}
@@ -210,7 +210,7 @@ void LLFloaterAvatarInfo::showFromDirectory(const LLUUID &avatar_id)
floater = new LLFloaterAvatarInfo("avatarinfo", FAI_RECT,
avatar_id);
floater->center();
- floater->mPanelAvatarp->setAvatarID(avatar_id, "", ONLINE_STATUS_UNKNOWN);
+ floater->mPanelAvatarp->setAvatarID(avatar_id, "", ONLINE_STATUS_NO);
floater->open();
}
if(floater)
diff --git a/linden/indra/newview/llfloaterland.cpp b/linden/indra/newview/llfloaterland.cpp
index 22686fb..f19baa9 100644
--- a/linden/indra/newview/llfloaterland.cpp
+++ b/linden/indra/newview/llfloaterland.cpp
@@ -1018,8 +1018,8 @@ void LLPanelLandGeneral::onCommitAny(LLUICtrl *ctrl, void *userdata)
}
// Extract data from UI
- std::string name = panelp->mEditName->getText();
- std::string desc = panelp->mEditDesc->getText();
+ std::string name = panelp->mEditName->getText();
+ std::string desc = panelp->mEditDesc->getText();
// Valid data from UI
@@ -1123,7 +1123,7 @@ BOOL LLPanelLandObjects::postBuild()
mCleanOtherObjectsTime = LLUICtrlFactory::getLineEditorByName(this, "clean other time");
mCleanOtherObjectsTime->setFocusLostCallback(onLostFocus);
- childSetPrevalidate("clean other time", LLLineEditor::prevalidatePrintableNotPipe);
+ childSetPrevalidate("clean other time", LLLineEditor::prevalidateNonNegativeS32);
childSetUserData("clean other time", this);
mOwnerListText = LLUICtrlFactory::getTextBoxByName(this, "Object Owners:");
diff --git a/linden/indra/newview/llfloaterproperties.cpp b/linden/indra/newview/llfloaterproperties.cpp
index abae955..8be2ce5 100644
--- a/linden/indra/newview/llfloaterproperties.cpp
+++ b/linden/indra/newview/llfloaterproperties.cpp
@@ -164,6 +164,7 @@ LLFloaterProperties::LLFloaterProperties(const std::string& name, const LLRect&
childSetPrevalidate("LabelItemName",&LLLineEditor::prevalidatePrintableNotPipe);
childSetCommitCallback("LabelItemName",onCommitName,this);
childSetPrevalidate("LabelItemDesc",&LLLineEditor::prevalidatePrintableNotPipe);
+ childSetCommitCallback("LabelItemDesc", onCommitDescription, this);
// Creator information
childSetAction("BtnCreator",onClickCreator,this);
// owner information
diff --git a/linden/indra/newview/llgivemoney.cpp b/linden/indra/newview/llgivemoney.cpp
index ce8cc06..d3c7598 100644
--- a/linden/indra/newview/llgivemoney.cpp
+++ b/linden/indra/newview/llgivemoney.cpp
@@ -153,7 +153,7 @@ LLFloaterPay::LLFloaterPay(const std::string& name,
childSetKeystrokeCallback("amount", &LLFloaterPay::onKeystroke, this);
childSetText("amount", last_amount);
- childSetPrevalidate("desc", LLLineEditor::prevalidatePositiveS32);
+ childSetPrevalidate("amount", LLLineEditor::prevalidatePositiveS32);
info = new LLGiveMoneyInfo(this, 0);
mCallbackData.push_back(info);
@@ -344,7 +344,7 @@ void LLFloaterPay::payDirectly(money_callback callback,
{
LLFloaterPay *floater = new LLFloaterPay("Give Money", callback, target_id, FALSE);
if (!floater) return;
-
+
floater->childSetVisible("amount", TRUE);
floater->childSetVisible("pay btn", TRUE);
floater->childSetVisible("amount text", TRUE);
diff --git a/linden/indra/newview/llhudeffect.cpp b/linden/indra/newview/llhudeffect.cpp
index 6343dc3..090895e 100644
--- a/linden/indra/newview/llhudeffect.cpp
+++ b/linden/indra/newview/llhudeffect.cpp
@@ -57,6 +57,7 @@ LLHUDEffect::~LLHUDEffect()
void LLHUDEffect::packData(LLMessageSystem *mesgsys)
{
mesgsys->addUUIDFast(_PREHASH_ID, mID);
+ mesgsys->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
mesgsys->addU8Fast(_PREHASH_Type, mType);
mesgsys->addF32Fast(_PREHASH_Duration, mDuration);
mesgsys->addBinaryData(_PREHASH_Color, mColor.mV, 4);
diff --git a/linden/indra/newview/llhudmanager.cpp b/linden/indra/newview/llhudmanager.cpp
index 2afdac0..bb1c2da 100644
--- a/linden/indra/newview/llhudmanager.cpp
+++ b/linden/indra/newview/llhudmanager.cpp
@@ -195,9 +195,13 @@ void LLHUDManager::sendEffects()
}
if (hep->getNeedsSendToSim() && hep->getOriginatedHere())
{
- gMessageSystem->newMessageFast(_PREHASH_ViewerEffect);
- gMessageSystem->nextBlockFast(_PREHASH_Effect);
- hep->packData(gMessageSystem);
+ LLMessageSystem* msg = gMessageSystem;
+ msg->newMessageFast(_PREHASH_ViewerEffect);
+ msg->nextBlockFast(_PREHASH_AgentData);
+ msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
+ msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
+ msg->nextBlockFast(_PREHASH_Effect);
+ hep->packData(msg);
hep->setNeedsSendToSim(FALSE);
gAgent.sendMessage();
}
diff --git a/linden/indra/newview/llpanelavatar.cpp b/linden/indra/newview/llpanelavatar.cpp
index 8ba33a9..c7019e0 100644
--- a/linden/indra/newview/llpanelavatar.cpp
+++ b/linden/indra/newview/llpanelavatar.cpp
@@ -419,8 +419,11 @@ BOOL LLPanelAvatarSecondLife::postBuild(void)
childSetVisible("allow_publish",LLPanelAvatar::sAllowFirstLife);
childSetVisible("?",LLPanelAvatar::sAllowFirstLife);
- childSetVisible("online_unknown",TRUE);
childSetVisible("online_yes",FALSE);
+
+ // These are cruft but may still exist in some xml files
+ // TODO: remove the following 2 lines once translators grab these changes
+ childSetVisible("online_unknown",FALSE);
childSetVisible("online_no",FALSE);
childSetAction("Show on Map", LLPanelAvatar::onClickTrack, mPanelAvatar);
@@ -1298,6 +1301,19 @@ void LLPanelAvatar::setAvatar(LLViewerObject *avatarp)
setAvatarID(avatarp->getID(), name, ONLINE_STATUS_YES);
}
+void LLPanelAvatar::setOnlineStatus(EOnlineStatus online_status)
+{
+ // Online status NO could be because they are hidden
+ // If they are a friend, we may know the truth!
+ if ((ONLINE_STATUS_YES != online_status)
+ && mIsFriend
+ && (LLAvatarTracker::instance().isBuddyOnline( mAvatarID )))
+ {
+ online_status = ONLINE_STATUS_YES;
+ }
+
+ mPanelSecondLife->childSetVisible("online_yes", (online_status == ONLINE_STATUS_YES));
+}
void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id, const LLString &name,
EOnlineStatus online_status)
@@ -1314,50 +1330,8 @@ void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id, const LLString &name,
// Determine if we have their calling card.
mIsFriend = is_agent_friend(mAvatarID);
- if (ONLINE_STATUS_UNKNOWN == online_status)
- {
- // Determine if we know that they are online. If we can see them,
- // we know they're online. Likewise, if we have a calling card,
- // we know. Otherwise we don't.
- LLViewerObject* object = gObjectList.findObject( mAvatarID );
- if (object && !object->isDead())
- {
- online_status = ONLINE_STATUS_YES;
- }
- else if (mIsFriend)
- {
- if (LLAvatarTracker::instance().isBuddyOnline( mAvatarID ))
- {
- online_status = ONLINE_STATUS_YES;
- }
- else
- {
- online_status = ONLINE_STATUS_NO;
- }
- }
- else
- {
- // Don't actually know if they are online.
- }
- }
-
- mPanelSecondLife->childSetVisible("online_unknown",FALSE);
- mPanelSecondLife->childSetVisible("online_yes",FALSE);
- mPanelSecondLife->childSetVisible("online_no",FALSE);
-
- switch(online_status)
- {
- case ONLINE_STATUS_YES:
- mPanelSecondLife->childSetVisible("online_yes",TRUE);
- break;
- case ONLINE_STATUS_NO:
- mPanelSecondLife->childSetVisible("online_no",TRUE);
- break;
- case ONLINE_STATUS_UNKNOWN:
- default:
- mPanelSecondLife->childSetVisible("online_unknown",TRUE);
- break;
- }
+ // setOnlineStatus uses mIsFriend
+ setOnlineStatus(online_status);
BOOL own_avatar = (mAvatarID == gAgent.getID() );
@@ -1755,8 +1729,11 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
//BOOL mature = FALSE;
BOOL identified = FALSE;
BOOL transacted = FALSE;
+ BOOL online = FALSE;
char profile_url[DB_USER_PROFILE_URL_BUF_SIZE];
+ U32 flags = 0x0;
+
//llinfos << "properties packet size " << msg->getReceiveSize() << llendl;
msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id);
@@ -1776,7 +1753,6 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
{
self->childSetEnabled("Rate...",TRUE);
}
- lldebugs << "!!!!!!!!!!!!!!!!!!!!!!Enabling drop target" << llendl;
self->childSetEnabled("drop target",TRUE);
self->mHaveProperties = TRUE;
@@ -1788,9 +1764,17 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
msg->getStringFast(_PREHASH_PropertiesData, _PREHASH_AboutText, DB_USER_ABOUT_BUF_SIZE, about_text );
msg->getStringFast(_PREHASH_PropertiesData, _PREHASH_FLAboutText, DB_USER_FL_ABOUT_BUF_SIZE, fl_about_text );
msg->getStringFast(_PREHASH_PropertiesData, _PREHASH_BornOn, DB_BORN_BUF_SIZE, born_on);
- msg->getBOOLFast(_PREHASH_PropertiesData, _PREHASH_Identified, identified);
- msg->getBOOLFast(_PREHASH_PropertiesData, _PREHASH_Transacted, transacted);
msg->getString("PropertiesData","ProfileURL", DB_USER_PROFILE_URL_BUF_SIZE, profile_url);
+ msg->getU32Fast(_PREHASH_PropertiesData, _PREHASH_Flags, flags);
+
+ identified = (flags & AVATAR_IDENTIFIED);
+ transacted = (flags & AVATAR_TRANSACTED);
+ allow_publish = (flags & AVATAR_ALLOW_PUBLISH);
+ online = (flags & AVATAR_ONLINE);
+
+ EOnlineStatus online_status = (online) ? ONLINE_STATUS_YES : ONLINE_STATUS_NO;
+
+ self->setOnlineStatus(online_status);
self->mPanelWeb->setWebURL(std::string(profile_url));
U8 caption_index = 0;
@@ -1868,7 +1852,6 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
{
image_ctrl->setImageAssetID(fl_image_id);
}
- msg->getBOOL("PropertiesData", "AllowPublish", allow_publish);
self->mPanelSecondLife->childSetValue("allow_publish", allow_publish);
diff --git a/linden/indra/newview/llpanelavatar.h b/linden/indra/newview/llpanelavatar.h
index ab08ffb..81cfe02 100644
--- a/linden/indra/newview/llpanelavatar.h
+++ b/linden/indra/newview/llpanelavatar.h
@@ -55,7 +55,6 @@ class LLWebBrowserCtrl;
enum EOnlineStatus
{
- ONLINE_STATUS_UNKNOWN = -1,
ONLINE_STATUS_NO = 0,
ONLINE_STATUS_YES = 1
};
@@ -262,6 +261,8 @@ public:
// Pass one of the ONLINE_STATUS_foo constants above.
void setAvatarID(const LLUUID &avatar_id, const LLString &name, EOnlineStatus online_status);
+ void setOnlineStatus(EOnlineStatus online_status);
+
const LLUUID& getAvatarID() const { return mAvatarID; }
void disableRate();
diff --git a/linden/indra/newview/llpaneldirbrowser.cpp b/linden/indra/newview/llpaneldirbrowser.cpp
index a7a3895..f701bf4 100644
--- a/linden/indra/newview/llpaneldirbrowser.cpp
+++ b/linden/indra/newview/llpaneldirbrowser.cpp
@@ -316,14 +316,8 @@ void LLPanelDirBrowser::onCommitList(LLUICtrl* ctrl, void* data)
switch(type)
{
+ // These are both people searches. Let the panel decide if they are online or offline.
case ONLINE_CODE:
- if (self->mFloaterDirectory && self->mFloaterDirectory->mPanelAvatarp)
- {
- self->mFloaterDirectory->mPanelAvatarp->setVisible(TRUE);
- self->mFloaterDirectory->mPanelAvatarp->setAvatarID(id, name, ONLINE_STATUS_YES);
- self->mFloaterDirectory->mPanelAvatarp->disableRate();
- }
- break;
case OFFLINE_CODE:
if (self->mFloaterDirectory && self->mFloaterDirectory->mPanelAvatarp)
{
@@ -409,7 +403,6 @@ void LLPanelDirBrowser::processDirPeopleReply(LLMessageSystem *msg, void**)
char first_name[DB_FIRST_NAME_BUF_SIZE];
char last_name[DB_LAST_NAME_BUF_SIZE];
LLUUID agent_id;
- U8 online;
msg->getUUIDFast(_PREHASH_QueryData,_PREHASH_QueryID, query_id);
@@ -445,7 +438,7 @@ void LLPanelDirBrowser::processDirPeopleReply(LLMessageSystem *msg, void**)
msg->getStringFast(_PREHASH_QueryReplies,_PREHASH_FirstName, DB_FIRST_NAME_BUF_SIZE, first_name, i);
msg->getStringFast(_PREHASH_QueryReplies,_PREHASH_LastName, DB_LAST_NAME_BUF_SIZE, last_name, i);
msg->getUUIDFast( _PREHASH_QueryReplies,_PREHASH_AgentID, agent_id, i);
- msg->getU8Fast( _PREHASH_QueryReplies,_PREHASH_Online, online, i);
+ // msg->getU8Fast( _PREHASH_QueryReplies,_PREHASH_Online, online, i);
// unused
// msg->getStringFast(_PREHASH_QueryReplies,_PREHASH_Group, DB_GROUP_NAME_BUF_SIZE, group, i);
// msg->getS32Fast( _PREHASH_QueryReplies,_PREHASH_Reputation, reputation, i);
@@ -461,24 +454,14 @@ void LLPanelDirBrowser::processDirPeopleReply(LLMessageSystem *msg, void**)
row["id"] = agent_id;
LLUUID image_id;
- if (online)
- {
- image_id.set( gViewerArt.getString("icon_avatar_online.tga") );
- row["columns"][0]["column"] = "icon";
- row["columns"][0]["type"] = "icon";
- row["columns"][0]["value"] = image_id;
-
- content["type"] = ONLINE_CODE;
- }
- else
- {
- image_id.set( gViewerArt.getString("icon_avatar_offline.tga") );
- row["columns"][0]["column"] = "icon";
- row["columns"][0]["type"] = "icon";
- row["columns"][0]["value"] = image_id;
+ // We don't show online status in the finder anymore,
+ // so just use the 'offline' icon as the generic 'person' icon
+ image_id.set( gViewerArt.getString("icon_avatar_offline.tga") );
+ row["columns"][0]["column"] = "icon";
+ row["columns"][0]["type"] = "icon";
+ row["columns"][0]["value"] = image_id;
- content["type"] = OFFLINE_CODE;
- }
+ content["type"] = OFFLINE_CODE;
LLString fullname = LLString(first_name) + " " + LLString(last_name);
row["columns"][1]["column"] = "name";
@@ -487,19 +470,6 @@ void LLPanelDirBrowser::processDirPeopleReply(LLMessageSystem *msg, void**)
content["name"] = fullname;
- if (online)
- {
- row["columns"][2]["column"] = "online";
- row["columns"][2]["value"] = "yes";
- row["columns"][2]["font"] = "SANSSERIFSMALL";
- }
- else
- {
- row["columns"][2]["column"] = "online";
- row["columns"][2]["value"] = "no";
- row["columns"][2]["font"] = "SANSSERIFSMALL";
- }
-
list->addElement(row);
LLString id_str = agent_id.getString();
diff --git a/linden/indra/newview/llpaneldirpeople.cpp b/linden/indra/newview/llpaneldirpeople.cpp
index 87b3582..1fe1570 100644
--- a/linden/indra/newview/llpaneldirpeople.cpp
+++ b/linden/indra/newview/llpaneldirpeople.cpp
@@ -71,11 +71,6 @@ void LLPanelDirPeople::performQuery()
setupNewSearch();
U32 scope = DFQ_PEOPLE;
- if (childGetValue("online check").asBoolean())
- {
- llinfos << "Online only people search." << llendl;
- scope |= DFQ_ONLINE;
- }
// send the message
sendDirFindQuery(
diff --git a/linden/indra/newview/llprefsim.cpp b/linden/indra/newview/llprefsim.cpp
index 12ca0b1..383fe76 100644
--- a/linden/indra/newview/llprefsim.cpp
+++ b/linden/indra/newview/llprefsim.cpp
@@ -34,7 +34,7 @@
#include "llcheckboxctrl.h"
#include "llstring.h"
#include "lltexteditor.h"
-
+#include "llavatarconstants.h"
#include "llagent.h"
#include "llviewercontrol.h"
#include "llviewernetwork.h"
@@ -42,9 +42,6 @@
#include "lldirpicker.h"
-static const std::string VISIBILITY_DEFAULT("default");
-static const std::string VISIBILITY_HIDDEN("hidden");
-
class LLPrefsIMImpl : public LLPanel
{
public:
@@ -77,7 +74,7 @@ protected:
bool mOriginalIMViaEmail;
// online status info
- bool mOriginalShowOnline;
+ bool mOriginalHideOnlineStatus;
std::string mDirectoryVisibility;
};
@@ -112,7 +109,7 @@ void LLPrefsIMImpl::cancel()
BOOL LLPrefsIMImpl::postBuild()
{
- requires("directory_visibility");
+ requires("online_visibility");
requires("send_im_to_email");
if (!checkRequirements())
{
@@ -121,11 +118,11 @@ BOOL LLPrefsIMImpl::postBuild()
mGotPersonalInfo = false;
mOriginalIMViaEmail = false;
- mOriginalShowOnline = false;
+ mOriginalHideOnlineStatus = true;
childSetLabelArg("send_im_to_email", "[EMAIL]", childGetText("log_in_to_change"));
// Don't enable this until we get personal data
- childDisable("directory_visibility");
+ childDisable("online_visibility");
childDisable("send_im_to_email");
childDisable("log_instant_messages");
childDisable("log_chat");
@@ -189,10 +186,10 @@ void LLPrefsIMImpl::apply()
LLFile::mkdir(gDirUtilp->getPerAccountChatLogsDir().c_str());
bool new_im_via_email = childGetValue("send_im_to_email").asBoolean();
- bool new_show_online = childGetValue("directory_visibility").asBoolean();
+ bool new_hide_online = childGetValue("online_visibility").asBoolean();
if((new_im_via_email != mOriginalIMViaEmail)
- ||(new_show_online != mOriginalShowOnline))
+ ||(new_hide_online != mOriginalHideOnlineStatus))
{
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_UpdateUserInfo);
@@ -206,12 +203,12 @@ void LLPrefsIMImpl::apply()
// can only select between 2 values, we represent it as a
// checkbox. This breaks down a little bit for liaisons, but
// works out in the end.
- if(new_show_online != mOriginalShowOnline)
+ if(new_hide_online != mOriginalHideOnlineStatus)
{
- if(new_show_online) mDirectoryVisibility = VISIBILITY_DEFAULT;
- else mDirectoryVisibility = VISIBILITY_HIDDEN;
+ if(new_hide_online) mDirectoryVisibility = VISIBILITY_HIDDEN;
+ else mDirectoryVisibility = VISIBILITY_DEFAULT;
//Update showonline value, otherwise multiple applys won't work
- mOriginalShowOnline = new_show_online;
+ mOriginalHideOnlineStatus = new_hide_online;
}
msg->addString("DirectoryVisibility", mDirectoryVisibility);
gAgent.sendReliableMessage();
@@ -229,20 +226,20 @@ void LLPrefsIMImpl::setPersonalInfo(
mDirectoryVisibility = visibility;
if(visibility == VISIBILITY_DEFAULT)
{
- mOriginalShowOnline = true;
- childEnable("directory_visibility");
+ mOriginalHideOnlineStatus = false;
+ childEnable("online_visibility");
}
else if(visibility == VISIBILITY_HIDDEN)
{
- mOriginalShowOnline = false;
- childEnable("directory_visibility");
+ mOriginalHideOnlineStatus = true;
+ childEnable("online_visibility");
}
else
{
- mOriginalShowOnline = false;
+ mOriginalHideOnlineStatus = true;
}
- childSetValue("directory_visibility", mOriginalShowOnline);
- childSetLabelArg("directory_visibility", "[DIR_VIS]", mDirectoryVisibility);
+ childSetValue("online_visibility", mOriginalHideOnlineStatus);
+ childSetLabelArg("online_visibility", "[DIR_VIS]", mDirectoryVisibility);
childEnable("send_im_to_email");
childSetValue("send_im_to_email", im_via_email);
childEnable("log_instant_messages");
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 3e5063e..ab400de 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -581,21 +581,21 @@ void init_menus()
// flash when an item is triggered (the flash occurs in the holder)
gViewerWindow->getRootView()->addChild(gMenuHolder);
- gMenuHolder->childSetLabelArg("Upload Image", "[COST]", "10");
- gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", "10");
- gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", "10");
- gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", "10");
+ gMenuHolder->childSetLabelArg("Upload Image", "[COST]", "10");
+ gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", "10");
+ gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", "10");
+ gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", "10");
- gAFKMenu = (LLMenuItemCallGL*)gMenuBarView->getChildByName("Set Away", TRUE);
- gBusyMenu = (LLMenuItemCallGL*)gMenuBarView->getChildByName("Set Busy", TRUE);
- gAttachSubMenu = gMenuBarView->getChildMenuByName("Attach Object", TRUE);
- gDetachSubMenu = gMenuBarView->getChildMenuByName("Detach Object", TRUE);
+ gAFKMenu = (LLMenuItemCallGL*)gMenuBarView->getChildByName("Set Away", TRUE);
+ gBusyMenu = (LLMenuItemCallGL*)gMenuBarView->getChildByName("Set Busy", TRUE);
+ gAttachSubMenu = gMenuBarView->getChildMenuByName("Attach Object", TRUE);
+ gDetachSubMenu = gMenuBarView->getChildMenuByName("Detach Object", TRUE);
- if (gAgent.mAccess < SIM_ACCESS_MATURE)
- {
- gMenuBarView->getChildByName("Menu Underpants", TRUE)->setVisible(FALSE);
- gMenuBarView->getChildByName("Menu Undershirt", TRUE)->setVisible(FALSE);
- }
+ if (gAgent.mAccess < SIM_ACCESS_MATURE)
+ {
+ gMenuBarView->getChildByName("Menu Underpants", TRUE)->setVisible(FALSE);
+ gMenuBarView->getChildByName("Menu Undershirt", TRUE)->setVisible(FALSE);
+ }
// TomY TODO convert these two
LLMenuGL*menu;
@@ -626,23 +626,23 @@ void init_menus()
///
gPieSelf = gUICtrlFactory->buildPieMenu("menu_pie_self.xml", gMenuHolder);
- // TomY TODO: what shall we do about these?
- gDetachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach HUD", true);
- gDetachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach", true);
+ // TomY TODO: what shall we do about these?
+ gDetachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach HUD", true);
+ gDetachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach", true);
- if (gAgent.mAccess < SIM_ACCESS_MATURE)
- {
- gMenuHolder->getChildByName("Self Underpants", TRUE)->setVisible(FALSE);
- gMenuHolder->getChildByName("Self Undershirt", TRUE)->setVisible(FALSE);
- }
+ if (gAgent.mAccess < SIM_ACCESS_MATURE)
+ {
+ gMenuHolder->getChildByName("Self Underpants", TRUE)->setVisible(FALSE);
+ gMenuHolder->getChildByName("Self Undershirt", TRUE)->setVisible(FALSE);
+ }
gPieAvatar = gUICtrlFactory->buildPieMenu("menu_pie_avatar.xml", gMenuHolder);
gPieObject = gUICtrlFactory->buildPieMenu("menu_pie_object.xml", gMenuHolder);
- gAttachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Attach HUD", true);
- gAttachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Attach", true);
- gPieRate = (LLPieMenu*)gMenuHolder->getChildByName("Rate Menu", true);
+ gAttachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Attach HUD", true);
+ gAttachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Attach", true);
+ gPieRate = (LLPieMenu*)gMenuHolder->getChildByName("Rate Menu", true);
gPieAttachment = gUICtrlFactory->buildPieMenu("menu_pie_attachment.xml", gMenuHolder);
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index 124ae13..1b91f9d 100644
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -3906,7 +3906,7 @@ void process_alert_core(const char* buffer, BOOL modal)
{
//XUI:translate
LLString::format_map_t args;
- args["[BUFFER]"] = buffer;
+ args["[ERROR_MESSAGE]"] = buffer;
gViewerWindow->alertXml("ErrorMessage", args);
}
else
diff --git a/linden/indra/newview/releasenotes.txt b/linden/indra/newview/releasenotes.txt
index 4cce794..01f16b3 100644
--- a/linden/indra/newview/releasenotes.txt
+++ b/linden/indra/newview/releasenotes.txt
@@ -1,3 +1,15 @@
+Release Notes for Second Life 1.13.3(2) January 30, 2007
+=====================================
+Changes:
+* It is no longer possible to only search for online residents
+* Online status is no longer indicated in the Search -> People results list
+** The online status inside the profile shows 'Currently Online' or remains blank
+*** Friends can see your Online status if you give permission via the Friends list
+*** Anyone can see your Online status if 'Make my online status visible only to my Friends' is unchecked
+
+Bug fixes:
+* Fixed script email across simulators
+
Release Notes for Second Life 1.13.2(15) January 25, 2007
=====================================
Changes:
diff --git a/linden/indra/newview/res/newViewRes.rc b/linden/indra/newview/res/newViewRes.rc
index cf7b935..41c2af1 100644
--- a/linden/indra/newview/res/newViewRes.rc
+++ b/linden/indra/newview/res/newViewRes.rc
@@ -227,8 +227,8 @@ TOOLPIPETTE CURSOR "toolpipette.cur"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,13,2,15
- PRODUCTVERSION 1,13,2,0
+ FILEVERSION 1,13,3,2
+ PRODUCTVERSION 1,13,3,2
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -245,12 +245,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Linden Lab"
VALUE "FileDescription", "Second Life"
- VALUE "FileVersion", "1.13.2.15"
+ VALUE "FileVersion", "1.13.3.57442"
VALUE "InternalName", "Second Life"
VALUE "LegalCopyright", "Copyright © 2001-2006, Linden Research, Inc."
VALUE "OriginalFilename", "SecondLife.exe"
VALUE "ProductName", "Second Life"
- VALUE "ProductVersion", "1.13.2.0"
+ VALUE "ProductVersion", "1.13.3.57442"
END
END
BLOCK "VarFileInfo"
diff --git a/linden/indra/newview/skins/xui/en-us/floater_directory.xml b/linden/indra/newview/skins/xui/en-us/floater_directory.xml
index 8056aa9..8184fdb 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_directory.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_directory.xml
@@ -464,12 +464,9 @@ To buy direct, visit the land and click on the place name in the title bar.
-
+ max_length="63" mouse_opaque="true" name="name" width="200" />
-
-
+
- Online: Yes
-
-
- Online: No
-
-
- Online: Unknown
+ Currently Online
- Online Status in Search:
+ Profile Online Status:
+ label="Make my online status visible only to my Friends" left="148" mouse_opaque="true"
+ name="online_visibility" radio_style="false" width="350" />