Merge remote-tracking branch 'Lirusaito/Canon' into Cupcake

This commit is contained in:
Drake Arconis
2013-03-04 12:17:41 -05:00
71 changed files with 3341 additions and 1921 deletions

View File

@@ -161,6 +161,7 @@ set(viewer_SOURCE_FILES
lldynamictexture.cpp lldynamictexture.cpp
llemote.cpp llemote.cpp
llenvmanager.cpp llenvmanager.cpp
llestateinfomodel.cpp
lleventinfo.cpp lleventinfo.cpp
lleventnotifier.cpp lleventnotifier.cpp
lleventpoll.cpp lleventpoll.cpp
@@ -663,6 +664,7 @@ set(viewer_HEADER_FILES
lldynamictexture.h lldynamictexture.h
llemote.h llemote.h
llenvmanager.h llenvmanager.h
llestateinfomodel.h
lleventinfo.h lleventinfo.h
lleventnotifier.h lleventnotifier.h
lleventpoll.h lleventpoll.h

View File

@@ -23,6 +23,14 @@
#include <time.h> #include <time.h>
#include <boost/lexical_cast.hpp> #include <boost/lexical_cast.hpp>
bool can_block(const LLUUID& id)
{
if (id.isNull() || gAgent.getID() == id) return false; //Can't block system or self.
if (const LLViewerObject* obj = gObjectList.findObject(id)) //From an object,
return !obj->permYouOwner(); //not own object.
return true;
}
U32 NACLAntiSpamRegistry::globalAmount; U32 NACLAntiSpamRegistry::globalAmount;
U32 NACLAntiSpamRegistry::globalTime; U32 NACLAntiSpamRegistry::globalTime;
bool NACLAntiSpamRegistry::bGlobalQueue; bool NACLAntiSpamRegistry::bGlobalQueue;
@@ -308,10 +316,8 @@ void NACLAntiSpamRegistry::blockGlobalEntry(LLUUID& source)
bool NACLAntiSpamRegistry::checkQueue(U32 name, LLUUID& source, U32 multiplier) bool NACLAntiSpamRegistry::checkQueue(U32 name, LLUUID& source, U32 multiplier)
//returns true if blocked //returns true if blocked
{ {
if(source.isNull() || gAgent.getID() == source) return false; if (!can_block(source)) return false;
LLViewerObject *obj=gObjectList.findObject(source);
if(obj && obj->permYouOwner()) return false;
int result; int result;
if(bGlobalQueue) if(bGlobalQueue)
{ {

View File

@@ -726,6 +726,17 @@ Found in Advanced->Rendering->Info Displays</string>
<key>Value</key> <key>Value</key>
<integer>0</integer> <integer>0</integer>
</map> </map>
<key>InstantMessageLogPathAnyAccount</key>
<map>
<key>Comment</key>
<string>Path to your log files if you've never set the path while logged in on this account.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string/>
</map>
<key>UseConciseIMButtons</key> <key>UseConciseIMButtons</key>
<map> <map>
<key>Comment</key> <key>Comment</key>
@@ -762,7 +773,7 @@ Found in Advanced->Rendering->Info Displays</string>
<key>ShowLocalChatFloaterBar</key> <key>ShowLocalChatFloaterBar</key>
<map> <map>
<key>Comment</key> <key>Comment</key>
<string>Whether or not local chat should have an input bar, requires a restart.</string> <string>Whether or not local chat should have an input bar when undocked.</string>
<key>Persist</key> <key>Persist</key>
<integer>1</integer> <integer>1</integer>
<key>Type</key> <key>Type</key>
@@ -826,6 +837,17 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key> <key>Value</key>
<integer>1</integer> <integer>1</integer>
</map> </map>
<key>ShowDisplayNameChanges</key>
<map>
<key>Comment</key>
<string>Show a notification when someone changes their display name</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>ShowSimChannel</key> <key>ShowSimChannel</key>
<map> <map>
<key>Comment</key> <key>Comment</key>
@@ -837,6 +859,17 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key> <key>Value</key>
<integer>0</integer> <integer>0</integer>
</map> </map>
<key>StatusBarPositionBeforeParcel</key>
<map>
<key>Comment</key>
<string>Show your position coordinates before the name of the parcel in the status bar</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>MoyFastMiniMap</key> <key>MoyFastMiniMap</key>
<map> <map>
<key>Comment</key> <key>Comment</key>
@@ -6301,22 +6334,6 @@ This should be as low as possible, but too low may break functionality</string>
<integer>0</integer> <integer>0</integer>
</array> </array>
</map> </map>
<key>FloaterChatBarlessRect</key>
<map>
<key>Comment</key>
<string>Rectangle for chat history without input bar</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Rect</string>
<key>Value</key>
<array>
<integer>0</integer>
<integer>172</integer>
<integer>500</integer>
<integer>0</integer>
</array>
</map>
<key>FloaterClothingRect</key> <key>FloaterClothingRect</key>
<map> <map>
<key>Comment</key> <key>Comment</key>

View File

@@ -328,6 +328,7 @@ void LLPrefsAscentChat::refreshValues()
mIMAnnounceIncoming = gSavedSettings.getBOOL("AscentInstantMessageAnnounceIncoming"); mIMAnnounceIncoming = gSavedSettings.getBOOL("AscentInstantMessageAnnounceIncoming");
mHideTypingNotification = gSavedSettings.getBOOL("AscentHideTypingNotification"); mHideTypingNotification = gSavedSettings.getBOOL("AscentHideTypingNotification");
mShowGroupNameInChatIM = gSavedSettings.getBOOL("OptionShowGroupNameInChatIM"); mShowGroupNameInChatIM = gSavedSettings.getBOOL("OptionShowGroupNameInChatIM");
mShowDisplayNameChanges = gSavedSettings.getBOOL("ShowDisplayNameChanges");
mPlayTypingSound = gSavedSettings.getBOOL("PlayTypingSound"); mPlayTypingSound = gSavedSettings.getBOOL("PlayTypingSound");
mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat"); mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat");
mEnableMUPose = gSavedSettings.getBOOL("AscentAllowMUpose"); mEnableMUPose = gSavedSettings.getBOOL("AscentAllowMUpose");
@@ -543,6 +544,7 @@ void LLPrefsAscentChat::cancel()
gSavedSettings.setBOOL("AscentInstantMessageAnnounceIncoming", mIMAnnounceIncoming); gSavedSettings.setBOOL("AscentInstantMessageAnnounceIncoming", mIMAnnounceIncoming);
gSavedSettings.setBOOL("AscentHideTypingNotification", mHideTypingNotification); gSavedSettings.setBOOL("AscentHideTypingNotification", mHideTypingNotification);
gSavedSettings.setBOOL("OptionShowGroupNameInChatIM", mShowGroupNameInChatIM); gSavedSettings.setBOOL("OptionShowGroupNameInChatIM", mShowGroupNameInChatIM);
gSavedSettings.setBOOL("ShowDisplayNameChanges", mShowDisplayNameChanges);
gSavedSettings.setBOOL("PlayTypingSound", mPlayTypingSound); gSavedSettings.setBOOL("PlayTypingSound", mPlayTypingSound);
gSavedSettings.setBOOL("HideNotificationsInChat", mHideNotificationsInChat); gSavedSettings.setBOOL("HideNotificationsInChat", mHideNotificationsInChat);
gSavedSettings.setBOOL("AscentAllowMUpose", mEnableMUPose); gSavedSettings.setBOOL("AscentAllowMUpose", mEnableMUPose);

View File

@@ -65,6 +65,7 @@ protected:
BOOL mIMAnnounceIncoming; BOOL mIMAnnounceIncoming;
BOOL mHideTypingNotification; BOOL mHideTypingNotification;
BOOL mShowGroupNameInChatIM; BOOL mShowGroupNameInChatIM;
bool mShowDisplayNameChanges;
BOOL mPlayTypingSound; BOOL mPlayTypingSound;
BOOL mHideNotificationsInChat; BOOL mHideNotificationsInChat;
BOOL mEnableMUPose; BOOL mEnableMUPose;

View File

@@ -172,12 +172,25 @@ BOOL LLAgentUI::buildLocationString(std::string& str, ELocationFormat fmt,const
sim_access_string.c_str()); sim_access_string.c_str());
break; break;
case LOCATION_FORMAT_FULL: case LOCATION_FORMAT_FULL:
static LLCachedControl<bool> position_before_parcel("StatusBarPositionBeforeParcel");
if (!position_before_parcel)
{
buffer = llformat("%s, %s (%d, %d, %d)%s%s", buffer = llformat("%s, %s (%d, %d, %d)%s%s",
parcel_name.c_str(), parcel_name.c_str(),
region_name.c_str(), region_name.c_str(),
pos_x, pos_y, pos_z, pos_x, pos_y, pos_z,
sim_access_string.empty() ? "" : " - ", sim_access_string.empty() ? "" : " - ",
sim_access_string.c_str()); sim_access_string.c_str());
}
else
{
buffer = llformat("%s (%d, %d, %d) - %s%s%s",
region_name.c_str(),
pos_x, pos_y, pos_z,
parcel_name.c_str(),
sim_access_string.empty() ? "" : " - ",
sim_access_string.c_str());
}
break; break;
} }
} }

View File

@@ -695,7 +695,36 @@ bool LLAppViewer::init()
initThreads(); initThreads();
LL_INFOS("InitInfo") << "Threads initialized." << LL_ENDL ; LL_INFOS("InitInfo") << "Threads initialized." << LL_ENDL ;
// Load art UUID information, don't require these strings to be declared in code.
std::string colors_base_filename = gDirUtilp->findSkinnedFilename("colors_base.xml");
LL_DEBUGS("InitInfo") << "Loading base colors from " << colors_base_filename << LL_ENDL;
gColors.loadFromFileLegacy(colors_base_filename, FALSE, TYPE_COL4U);
// Load overrides from user colors file
std::string user_colors_filename = gDirUtilp->findSkinnedFilename("colors.xml");
LL_DEBUGS("InitInfo") << "Loading user colors from " << user_colors_filename << LL_ENDL;
if (gColors.loadFromFileLegacy(user_colors_filename, FALSE, TYPE_COL4U) == 0)
{
LL_DEBUGS("InitInfo") << "Cannot load user colors from " << user_colors_filename << LL_ENDL;
}
// Widget construction depends on LLUI being initialized
LLUI::initClass(&gSavedSettings,
&gSavedSettings,
&gColors,
LLUIImageList::getInstance(),
ui_audio_callback,
&LLUI::getScaleFactor());
LL_INFOS("InitInfo") << "UI initialized." << LL_ENDL ;
LLUICtrlFactory::getInstance()->setupPaths(); // update paths with correct language set
// Setup LLTrans after LLUI::initClass has been called.
LLTrans::parseStrings("strings.xml", default_trans_args);
// Setup notifications after LLUI::initClass() has been called.
LLNotifications::instance();
LL_INFOS("InitInfo") << "Notifications initialized." << LL_ENDL ;
writeSystemInfo(); writeSystemInfo();
@@ -744,37 +773,8 @@ bool LLAppViewer::init()
LLError::setPrintLocation(true); LLError::setPrintLocation(true);
} }
// Load art UUID information, don't require these strings to be declared in code.
std::string colors_base_filename = gDirUtilp->findSkinnedFilename("colors_base.xml");
LL_DEBUGS("InitInfo") << "Loading base colors from " << colors_base_filename << LL_ENDL;
gColors.loadFromFileLegacy(colors_base_filename, FALSE, TYPE_COL4U);
// Load overrides from user colors file
std::string user_colors_filename = gDirUtilp->findSkinnedFilename("colors.xml");
LL_DEBUGS("InitInfo") << "Loading user colors from " << user_colors_filename << LL_ENDL;
if (gColors.loadFromFileLegacy(user_colors_filename, FALSE, TYPE_COL4U) == 0)
{
LL_DEBUGS("InitInfo") << "Cannot load user colors from " << user_colors_filename << LL_ENDL;
}
// Widget construction depends on LLUI being initialized
LLUI::initClass(&gSavedSettings,
&gSavedSettings,
&gColors,
LLUIImageList::getInstance(),
ui_audio_callback,
&LLUI::getScaleFactor()
);
// Setup notifications after LLUI::initClass() has been called.
LLNotifications::instance();
LL_INFOS("InitInfo") << "Notifications initialized." << LL_ENDL ;
LLWeb::initClass(); // do this after LLUI LLWeb::initClass(); // do this after LLUI
LLUICtrlFactory::getInstance()->setupPaths(); // update paths with correct language set
LLTrans::parseStrings("strings.xml", default_trans_args);
LLTextEditor::setURLCallbacks(&LLWeb::loadURL, LLTextEditor::setURLCallbacks(&LLWeb::loadURL,
&LLURLDispatcher::dispatchFromTextEditor, &LLURLDispatcher::dispatchFromTextEditor,
&LLURLDispatcher::dispatchFromTextEditor); &LLURLDispatcher::dispatchFromTextEditor);

View File

@@ -0,0 +1,236 @@
/**
* @file llestateinfomodel.cpp
* @brief Estate info model
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2011, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "llviewerprecompiledheaders.h"
#include "llestateinfomodel.h"
// libs
#include "llhttpclient.h"
#include "llregionflags.h"
#include "message.h"
// viewer
#include "llagent.h"
#include "llfloaterregioninfo.h" // for invoice id
#include "llviewerregion.h"
class AIHTTPTimeoutPolicy;
extern AIHTTPTimeoutPolicy estateChangeInfoResponder_timeout;
LLEstateInfoModel::LLEstateInfoModel()
: mID(0)
, mFlags(0)
, mSunHour(0)
{
}
boost::signals2::connection LLEstateInfoModel::setUpdateCallback(const update_signal_t::slot_type& cb)
{
return mUpdateSignal.connect(cb);
}
boost::signals2::connection LLEstateInfoModel::setCommitCallback(const update_signal_t::slot_type& cb)
{
return mCommitSignal.connect(cb);
}
void LLEstateInfoModel::sendEstateInfo()
{
if (!commitEstateInfoCaps())
{
// the caps method failed, try the old way
LLFloaterRegionInfo::nextInvoice();
commitEstateInfoDataserver();
}
}
bool LLEstateInfoModel::getUseFixedSun() const { return mFlags & REGION_FLAGS_SUN_FIXED; }
bool LLEstateInfoModel::getIsExternallyVisible() const { return mFlags & REGION_FLAGS_EXTERNALLY_VISIBLE; }
bool LLEstateInfoModel::getAllowDirectTeleport() const { return mFlags & REGION_FLAGS_ALLOW_DIRECT_TELEPORT; }
bool LLEstateInfoModel::getDenyAnonymous() const { return mFlags & REGION_FLAGS_DENY_ANONYMOUS; }
bool LLEstateInfoModel::getDenyAgeUnverified() const { return mFlags & REGION_FLAGS_DENY_AGEUNVERIFIED; }
bool LLEstateInfoModel::getAllowVoiceChat() const { return mFlags & REGION_FLAGS_ALLOW_VOICE; }
void LLEstateInfoModel::setUseFixedSun(bool val) { setFlag(REGION_FLAGS_SUN_FIXED, val); }
void LLEstateInfoModel::setIsExternallyVisible(bool val) { setFlag(REGION_FLAGS_EXTERNALLY_VISIBLE, val); }
void LLEstateInfoModel::setAllowDirectTeleport(bool val) { setFlag(REGION_FLAGS_ALLOW_DIRECT_TELEPORT, val); }
void LLEstateInfoModel::setDenyAnonymous(bool val) { setFlag(REGION_FLAGS_DENY_ANONYMOUS, val); }
void LLEstateInfoModel::setDenyAgeUnverified(bool val) { setFlag(REGION_FLAGS_DENY_AGEUNVERIFIED, val); }
void LLEstateInfoModel::setAllowVoiceChat(bool val) { setFlag(REGION_FLAGS_ALLOW_VOICE, val); }
void LLEstateInfoModel::update(const strings_t& strings)
{
// NOTE: LLDispatcher extracts strings with an extra \0 at the
// end. If we pass the std::string direct to the UI/renderer
// it draws with a weird character at the end of the string.
mName = strings[0].c_str();
mOwnerID = LLUUID(strings[1].c_str());
mID = strtoul(strings[2].c_str(), NULL, 10);
mFlags = strtoul(strings[3].c_str(), NULL, 10);
mSunHour = ((F32)(strtod(strings[4].c_str(), NULL)))/1024.0f;
LL_DEBUGS("Windlight Sync") << "Received estate info: "
<< "is_sun_fixed = " << getUseFixedSun()
<< ", sun_hour = " << getSunHour() << LL_ENDL;
lldebugs << getInfoDump() << llendl;
// Update region owner.
LLViewerRegion* regionp = gAgent.getRegion();
regionp->setOwner(mOwnerID);
// Let interested parties know that estate info has been updated.
mUpdateSignal();
}
void LLEstateInfoModel::notifyCommit()
{
mCommitSignal();
}
//== PRIVATE STUFF ============================================================
class LLEstateChangeInfoResponder : public LLHTTPClient::ResponderWithResult
{
public:
// if we get a normal response, handle it here
/*virtual*/ void result(const LLSD& content)
{
llinfos << "Committed estate info" << llendl;
LLEstateInfoModel::instance().notifyCommit();
}
// if we get an error response
/*virtual*/ void error(U32 status, const std::string& reason)
{
llwarns << "Failed to commit estate info (" << status << "): " << reason << llendl;
}
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return estateChangeInfoResponder_timeout; }
/*virtual*/ char const* getName(void) const { return "LLEstateChangeInfoResponder"; }
};
// tries to send estate info using a cap; returns true if it succeeded
bool LLEstateInfoModel::commitEstateInfoCaps()
{
std::string url = gAgent.getRegion()->getCapability("EstateChangeInfo");
if (url.empty())
{
// whoops, couldn't find the cap, so bail out
return false;
}
LLSD body;
body["estate_name" ] = getName();
body["sun_hour" ] = getSunHour();
body["is_sun_fixed" ] = getUseFixedSun();
body["is_externally_visible"] = getIsExternallyVisible();
body["allow_direct_teleport"] = getAllowDirectTeleport();
body["deny_anonymous" ] = getDenyAnonymous();
body["deny_age_unverified" ] = getDenyAgeUnverified();
body["allow_voice_chat" ] = getAllowVoiceChat();
body["invoice" ] = LLFloaterRegionInfo::getLastInvoice();
LL_DEBUGS("Windlight Sync") << "Sending estate caps: "
<< "is_sun_fixed = " << getUseFixedSun()
<< ", sun_hour = " << getSunHour() << LL_ENDL;
lldebugs << body << LL_ENDL;
// we use a responder so that we can re-get the data after committing to the database
LLHTTPClient::post(url, body, new LLEstateChangeInfoResponder);
return true;
}
/* This is the old way of doing things, is deprecated, and should be
deleted when the dataserver model can be removed */
// key = "estatechangeinfo"
// strings[0] = str(estate_id) (added by simulator before relay - not here)
// strings[1] = estate_name
// strings[2] = str(estate_flags)
// strings[3] = str((S32)(sun_hour * 1024.f))
void LLEstateInfoModel::commitEstateInfoDataserver()
{
LL_DEBUGS("Windlight Sync") << "Sending estate info: "
<< "is_sun_fixed = " << getUseFixedSun()
<< ", sun_hour = " << getSunHour() << LL_ENDL;
lldebugs << getInfoDump() << LL_ENDL;
LLMessageSystem* msg = gMessageSystem;
msg->newMessage("EstateOwnerMessage");
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->addUUIDFast(_PREHASH_TransactionID, LLUUID::null); //not used
msg->nextBlock("MethodData");
msg->addString("Method", "estatechangeinfo");
msg->addUUID("Invoice", LLFloaterRegionInfo::getLastInvoice());
msg->nextBlock("ParamList");
msg->addString("Parameter", getName());
msg->nextBlock("ParamList");
msg->addString("Parameter", llformat("%u", getFlags()));
msg->nextBlock("ParamList");
msg->addString("Parameter", llformat("%d", (S32) (getSunHour() * 1024.0f)));
gAgent.sendMessage();
}
void LLEstateInfoModel::setFlag(U32 flag, bool val)
{
if (val)
{
mFlags |= flag;
}
else
{
mFlags &= ~flag;
}
}
std::string LLEstateInfoModel::getInfoDump()
{
LLSD dump;
dump["estate_name" ] = getName();
dump["sun_hour" ] = getSunHour();
dump["is_sun_fixed" ] = getUseFixedSun();
dump["is_externally_visible"] = getIsExternallyVisible();
dump["allow_direct_teleport"] = getAllowDirectTeleport();
dump["deny_anonymous" ] = getDenyAnonymous();
dump["deny_age_unverified" ] = getDenyAgeUnverified();
dump["allow_voice_chat" ] = getAllowVoiceChat();
std::stringstream dump_str;
dump_str << dump;
return dump_str.str();
}

View File

@@ -0,0 +1,103 @@
/**
* @file llestateinfomodel.h
* @brief Estate info model
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2011, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LL_LLESTATEINFOMODEL_H
#define LL_LLESTATEINFOMODEL_H
class LLMessageSystem;
#include "llsingleton.h"
/**
* Contains estate info, notifies interested parties of its changes.
*/
class LLEstateInfoModel : public LLSingleton<LLEstateInfoModel>
{
LOG_CLASS(LLEstateInfoModel);
public:
typedef boost::signals2::signal<void()> update_signal_t;
boost::signals2::connection setUpdateCallback(const update_signal_t::slot_type& cb); /// the model has been externally updated
boost::signals2::connection setCommitCallback(const update_signal_t::slot_type& cb); /// our changes have been applied
void sendEstateInfo(); /// send estate info to the simulator
// getters
bool getUseFixedSun() const;
bool getIsExternallyVisible() const;
bool getAllowDirectTeleport() const;
bool getDenyAnonymous() const;
bool getDenyAgeUnverified() const;
bool getAllowVoiceChat() const;
const std::string& getName() const { return mName; }
const LLUUID& getOwnerID() const { return mOwnerID; }
U32 getID() const { return mID; }
F32 getSunHour() const { return getUseFixedSun() ? mSunHour : 0.f; }
// setters
void setUseFixedSun(bool val);
void setIsExternallyVisible(bool val);
void setAllowDirectTeleport(bool val);
void setDenyAnonymous(bool val);
void setDenyAgeUnverified(bool val);
void setAllowVoiceChat(bool val);
void setSunHour(F32 sun_hour) { mSunHour = sun_hour; }
protected:
typedef std::vector<std::string> strings_t;
friend class LLSingleton<LLEstateInfoModel>;
friend class LLDispatchEstateUpdateInfo;
friend class LLEstateChangeInfoResponder;
LLEstateInfoModel();
/// refresh model with data from the incoming server message
void update(const strings_t& strings);
void notifyCommit();
private:
bool commitEstateInfoCaps();
void commitEstateInfoDataserver();
U32 getFlags() const { return mFlags; }
void setFlag(U32 flag, bool val);
std::string getInfoDump();
// estate info
std::string mName; /// estate name
LLUUID mOwnerID; /// estate owner id
U32 mID; /// estate id
U32 mFlags; /// estate flags
F32 mSunHour; /// estate sun hour
update_signal_t mUpdateSignal; /// emitted when we receive update from sim
update_signal_t mCommitSignal; /// emitted when our update gets applied to sim
};
#endif // LL_LLESTATEINFOMODEL_H

View File

@@ -107,9 +107,7 @@ LLFloaterChat::LLFloaterChat(const LLSD& seed)
mFactoryMap["chat_panel"] = LLCallbackMap(createChatPanel, NULL); mFactoryMap["chat_panel"] = LLCallbackMap(createChatPanel, NULL);
mFactoryMap["active_speakers_panel"] = LLCallbackMap(createSpeakersPanel, NULL); mFactoryMap["active_speakers_panel"] = LLCallbackMap(createSpeakersPanel, NULL);
// do not automatically open singleton floaters (as result of getInstance()) // do not automatically open singleton floaters (as result of getInstance())
BOOL no_open = FALSE; LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chat_history.xml", &getFactoryMap(), /*no_open =*/false);
bool show_bar = gSavedSettings.getBOOL("ShowLocalChatFloaterBar");
LLUICtrlFactory::getInstance()->buildFloater(this, (show_bar ? "floater_chat_history.xml" : "floater_chat_history_barless.xml"), &getFactoryMap(), no_open);
childSetCommitCallback("show mutes",onClickToggleShowMute,this); //show mutes childSetCommitCallback("show mutes",onClickToggleShowMute,this); //show mutes
childSetCommitCallback("translate chat",onClickToggleTranslateChat,this); childSetCommitCallback("translate chat",onClickToggleTranslateChat,this);
@@ -182,6 +180,8 @@ void LLFloaterChat::handleVisibilityChange(BOOL new_visibility)
if (new_visibility) if (new_visibility)
{ {
LLFloaterChatterBox::getInstance()->setFloaterFlashing(this, FALSE); LLFloaterChatterBox::getInstance()->setFloaterFlashing(this, FALSE);
// Work around the chat bar no longer focusing from within the layout_stack
gFocusMgr.setKeyboardFocus(getChildView("Chat Editor"));
} }
LLFloater::handleVisibilityChange(new_visibility); LLFloater::handleVisibilityChange(new_visibility);

View File

@@ -44,6 +44,15 @@
#include "llimview.h" #include "llimview.h"
#include "llimpanel.h" #include "llimpanel.h"
#include "llstring.h" #include "llstring.h"
namespace
{
void handleLocalChatBar(LLFloaterChat* floater_chat, bool show_bar)
{
floater_chat->childSetVisible("chat_layout_panel", show_bar || !gSavedSettings.getBOOL("ChatHistoryTornOff"));
}
}
// //
// LLFloaterMyFriends // LLFloaterMyFriends
// //
@@ -119,9 +128,9 @@ LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
addFloater(LLFloaterMyFriends::getInstance(0), TRUE); addFloater(LLFloaterMyFriends::getInstance(0), TRUE);
} }
LLFloaterChat* floater_chat = LLFloaterChat::getInstance();
if (gSavedSettings.getBOOL("ChatHistoryTornOff")) if (gSavedSettings.getBOOL("ChatHistoryTornOff"))
{ {
LLFloaterChat* floater_chat = LLFloaterChat::getInstance();
// add then remove to set up relationship for re-attach // add then remove to set up relationship for re-attach
addFloater(floater_chat, FALSE); addFloater(floater_chat, FALSE);
removeFloater(floater_chat); removeFloater(floater_chat);
@@ -130,8 +139,9 @@ LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
} }
else else
{ {
addFloater(LLFloaterChat::getInstance(LLSD()), FALSE); addFloater(floater_chat, FALSE);
} }
gSavedSettings.getControl("ShowLocalChatFloaterBar")->getSignal()->connect(boost::bind(handleLocalChatBar, floater_chat, _2));
mTabContainer->lockTabs(); mTabContainer->lockTabs();
} }
@@ -235,6 +245,7 @@ void LLFloaterChatterBox::removeFloater(LLFloater* floaterp)
// only my friends floater now locked // only my friends floater now locked
mTabContainer->lockTabs(mTabContainer->getNumLockedTabs() - 1); mTabContainer->lockTabs(mTabContainer->getNumLockedTabs() - 1);
gSavedSettings.setBOOL("ChatHistoryTornOff", TRUE); gSavedSettings.setBOOL("ChatHistoryTornOff", TRUE);
if (!gSavedSettings.getBOOL("ShowLocalChatFloaterBar")) floaterp->childSetVisible("chat_layout_panel", false);
floaterp->setCanClose(TRUE); floaterp->setCanClose(TRUE);
} }
else if (floaterp->getName() == "floater_my_friends") else if (floaterp->getName() == "floater_my_friends")
@@ -276,6 +287,7 @@ void LLFloaterChatterBox::addFloater(LLFloater* floaterp,
// make sure first two tabs are now locked // make sure first two tabs are now locked
mTabContainer->lockTabs(num_locked_tabs + 1); mTabContainer->lockTabs(num_locked_tabs + 1);
gSavedSettings.setBOOL("ChatHistoryTornOff", FALSE); gSavedSettings.setBOOL("ChatHistoryTornOff", FALSE);
floaterp->childSetVisible("chat_layout_panel", true);
floaterp->setCanClose(FALSE); floaterp->setCanClose(FALSE);
} }
else if (floaterp->getName() == "floater_my_friends") else if (floaterp->getName() == "floater_my_friends")

View File

@@ -66,6 +66,12 @@
#include "lluictrlfactory.h" #include "lluictrlfactory.h"
#include "hippogridmanager.h" #include "hippogridmanager.h"
#include "llenvmanager.h"
#include "llnotificationsutil.h"
#include "llviewerregion.h"
#include "llwindow.h"
const char* market_panel = "market_panel";
class LLPanelDirMarket : public LLPanelDirFind class LLPanelDirMarket : public LLPanelDirFind
{ {
@@ -81,13 +87,82 @@ public:
/*virtual*/ void navigateToDefaultPage() /*virtual*/ void navigateToDefaultPage()
{ {
if (mWebBrowser) mWebBrowser->navigateTo(getString("default_search_page")); if (mWebBrowser && !mMarketplaceURL.empty()) mWebBrowser->navigateTo(mMarketplaceURL);
}
/*virtual*/ BOOL postBuild()
{
if (gHippoGridManager->getConnectedGrid()->isSecondLife())
mMarketplaceURL = getString("default_search_page");
else
getChild<LLUICtrl>("reset_btn")->setCommitCallback(boost::bind(&LLPanelDirMarket::navigateToDefaultPage, this));
return LLPanelDirFind::postBuild();
}
void handleRegionChange(LLTabContainer* container)
{
if (LLViewerRegion* region = gAgent.getRegion())
if (region->getFeaturesReceived())
setMarketplaceURL(container);
else
region->setFeaturesReceivedCallback(boost::bind(&LLPanelDirMarket::setMarketplaceURL, this, container));
}
void setMarketplaceURL(LLTabContainer* container)
{
if (LLViewerRegion* region = gAgent.getRegion())
{
LLSD info;
region->getSimulatorFeatures(info);
if (info.has("MarketplaceURL"))
{
std::string url = info["MarketplaceURL"].asString();
if (mMarketplaceURL == url) return;
if (mMarketplaceURL.empty())
{
container->addTabPanel(this, getLabel());
mMarketplaceURL = url;
navigateToDefaultPage();
}
else
{
LLNotificationsUtil::add("MarketplaceURLChanged", LLSD(), LLSD(),
boost::bind(&LLPanelDirMarket::onConfirmChangeMarketplaceURL, this, boost::bind(LLNotification::getSelectedOption, _1, _2), url));
}
}
else if (!mMarketplaceURL.empty())
{
if (gFloaterView->getParentFloater(this)->getVisible()) // Notify the user that they're no longer on the region with the marketplace when search is open
{
LLNotificationsUtil::add("MarketplaceURLGone");
}
else // Search is not in use, remove the marketplace
{
mMarketplaceURL = "";
container->removeTabPanel(this);
}
}
}
}
void onConfirmChangeMarketplaceURL(const S32 option, const std::string& url)
{
if (option == 1) return; //no
else //yes
{
mMarketplaceURL = url;
if (option == 2) navigateToDefaultPage();
}
} }
static void* create(void* data) static void* create(void* data)
{ {
return new LLPanelDirMarket("market_panel", static_cast<LLFloaterDirectory*>(data)); return new LLPanelDirMarket(market_panel, static_cast<LLFloaterDirectory*>(data));
} }
private:
std::string mMarketplaceURL;
}; };
LLFloaterDirectory* LLFloaterDirectory::sInstance = NULL; LLFloaterDirectory* LLFloaterDirectory::sInstance = NULL;
@@ -128,13 +203,12 @@ LLFloaterDirectory::LLFloaterDirectory(const std::string& name)
factory_map["land_sales_panel"] = LLCallbackMap(createLand, this); factory_map["land_sales_panel"] = LLCallbackMap(createLand, this);
factory_map["people_panel"] = LLCallbackMap(createPeople, this); factory_map["people_panel"] = LLCallbackMap(createPeople, this);
factory_map["groups_panel"] = LLCallbackMap(createGroups, this); factory_map["groups_panel"] = LLCallbackMap(createGroups, this);
factory_map[market_panel] = LLCallbackMap(LLPanelDirMarket::create, this);
if (enableWebSearch) if (enableWebSearch)
{ {
// web search and showcase only for SecondLife // web search and showcase only for SecondLife
factory_map["find_all_panel"] = LLCallbackMap(createFindAll, this); factory_map["find_all_panel"] = LLCallbackMap(createFindAll, this);
factory_map["showcase_panel"] = LLCallbackMap(createShowcase, this); factory_map["showcase_panel"] = LLCallbackMap(createShowcase, this);
if (!enableClassicAllSearch)
factory_map["market_panel"] = LLCallbackMap(LLPanelDirMarket::create, this);
} }
if (enableClassicAllSearch) if (enableClassicAllSearch)
@@ -169,7 +243,15 @@ LLFloaterDirectory::LLFloaterDirectory(const std::string& name)
mPanelAvatarp->selectTab(0); mPanelAvatarp->selectTab(0);
} }
getChild<LLTabContainer>("Directory Tabs")->setCommitCallback(boost::bind(&LLFloaterDirectory::onTabChanged,_2)); LLTabContainer* container = getChild<LLTabContainer>("Directory Tabs");
if (enableClassicAllSearch)
{
LLPanelDirMarket* marketp = static_cast<LLPanelDirMarket*>(container->getPanelByName(market_panel));
container->removeTabPanel(marketp); // Until we get a MarketPlace URL, tab is removed.
marketp->handleRegionChange(container);
LLEnvManagerNew::instance().setRegionChangeCallback(boost::bind(&LLPanelDirMarket::handleRegionChange, marketp, container));
}
container->setCommitCallback(boost::bind(&LLFloaterDirectory::onTabChanged,_2));
} }
LLFloaterDirectory::~LLFloaterDirectory() LLFloaterDirectory::~LLFloaterDirectory()

File diff suppressed because it is too large Load Diff

View File

@@ -38,6 +38,8 @@
#include "llfloater.h" #include "llfloater.h"
#include "llpanel.h" #include "llpanel.h"
#include "llenvmanager.h" // for LLEnvironmentSettings
class LLAvatarName; class LLAvatarName;
struct LLEstateAccessChangeInfo; struct LLEstateAccessChangeInfo;
class LLLineEditor; class LLLineEditor;
@@ -50,6 +52,7 @@ class LLInventoryItem;
class LLCheckBoxCtrl; class LLCheckBoxCtrl;
class LLComboBox; class LLComboBox;
class LLNameListCtrl; class LLNameListCtrl;
class LLRadioGroup;
class LLSliderCtrl; class LLSliderCtrl;
class LLSpinCtrl; class LLSpinCtrl;
class LLTextBox; class LLTextBox;
@@ -57,16 +60,16 @@ class AIFilePicker;
class LLPanelRegionGeneralInfo; class LLPanelRegionGeneralInfo;
class LLPanelRegionDebugInfo; class LLPanelRegionDebugInfo;
class LLPanelRegionTextureInfo;
class LLPanelRegionTerrainInfo; class LLPanelRegionTerrainInfo;
class LLPanelEstateInfo; class LLPanelEstateInfo;
class LLPanelEstateCovenant; class LLPanelEstateCovenant;
class LLFloaterRegionInfo : public LLFloater, public LLFloaterSingleton<LLFloaterRegionInfo> class LLFloaterRegionInfo : public LLFloater, public LLFloaterSingleton<LLFloaterRegionInfo>
{ {
friend class LLUISingleton<LLFloaterRegionInfo, VisibilityPolicy<LLFloater> >; friend class LLUISingleton<LLFloaterRegionInfo, VisibilityPolicy<LLFloater> >;
public: public:
~LLFloaterRegionInfo();
/*virtual*/ void onOpen(); /*virtual*/ void onOpen();
/*virtual*/ BOOL postBuild(); /*virtual*/ BOOL postBuild();
@@ -86,14 +89,18 @@ public:
static LLPanelEstateInfo* getPanelEstate(); static LLPanelEstateInfo* getPanelEstate();
static LLPanelEstateCovenant* getPanelCovenant(); static LLPanelEstateCovenant* getPanelCovenant();
static LLPanelRegionTerrainInfo* getPanelRegionTerrain();
// from LLPanel // from LLPanel
virtual void refresh(); virtual void refresh();
static void requestRegionInfo(); void requestRegionInfo();
protected: protected:
LLFloaterRegionInfo(const LLSD& seed); LLFloaterRegionInfo(const LLSD& seed);
~LLFloaterRegionInfo();
void onTabSelected(const LLSD& param);
void refreshFromRegion(LLViewerRegion* region); void refreshFromRegion(LLViewerRegion* region);
// member data // member data
@@ -109,10 +116,11 @@ protected:
class LLPanelRegionInfo : public LLPanel class LLPanelRegionInfo : public LLPanel
{ {
public: public:
LLPanelRegionInfo() : LLPanel(std::string("Region Info Panel")) {} LLPanelRegionInfo();
static void onBtnSet(void* user_data);
static void onChangeChildCtrl(LLUICtrl* ctrl, void* user_data); void onBtnSet();
static void onChangeAnything(LLUICtrl* ctrl, void* user_data); void onChangeChildCtrl(LLUICtrl* ctrl);
void onChangeAnything();
static void onChangeText(LLLineEditor* caller, void* user_data); static void onChangeText(LLLineEditor* caller, void* user_data);
virtual bool refreshFromRegion(LLViewerRegion* region); virtual bool refreshFromRegion(LLViewerRegion* region);
@@ -120,16 +128,19 @@ public:
virtual BOOL postBuild(); virtual BOOL postBuild();
virtual void updateChild(LLUICtrl* child_ctrl); virtual void updateChild(LLUICtrl* child_ctrl);
virtual void onOpen(const LLSD& key) {}
void enableButton(const std::string& btn_name, BOOL enable = TRUE); void enableButton(const std::string& btn_name, BOOL enable = TRUE);
void disableButton(const std::string& btn_name); void disableButton(const std::string& btn_name);
void onClickManageTelehub();
protected: protected:
void initCtrl(const std::string& name); void initCtrl(const std::string& name);
void initHelpBtn(const std::string& name, const std::string& xml_alert); void initHelpBtn(const std::string& name, const std::string& xml_alert);
// Callback for all help buttons, data is name of XML alert to show. // Callback for all help buttons, xml_alert is the name of XML alert to show.
static void onClickHelp(void* data); void onClickHelp(const std::string& xml_alert);
// Returns TRUE if update sent and apply button should be // Returns TRUE if update sent and apply button should be
// disabled. // disabled.
@@ -153,6 +164,7 @@ protected:
class LLPanelRegionGeneralInfo : public LLPanelRegionInfo class LLPanelRegionGeneralInfo : public LLPanelRegionInfo
{ {
public: public:
LLPanelRegionGeneralInfo() LLPanelRegionGeneralInfo()
: LLPanelRegionInfo() {} : LLPanelRegionInfo() {}
@@ -162,16 +174,16 @@ public:
// LLPanel // LLPanel
virtual BOOL postBuild(); virtual BOOL postBuild();
protected: protected:
virtual BOOL sendUpdate(); virtual BOOL sendUpdate();
void onClickKick();
static void onClickKick(void* userdata);
void onKickCommit(const uuid_vec_t& ids); void onKickCommit(const uuid_vec_t& ids);
static void onClickKickAll(void* userdata); static void onClickKickAll(void* userdata);
bool onKickAllCommit(const LLSD& notification, const LLSD& response); bool onKickAllCommit(const LLSD& notification, const LLSD& response);
static void onClickMessage(void* userdata); static void onClickMessage(void* userdata);
bool onMessageCommit(const LLSD& notification, const LLSD& response); bool onMessageCommit(const LLSD& notification, const LLSD& response);
static void onClickManageTelehub(void* data);
}; };
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@@ -190,14 +202,14 @@ public:
protected: protected:
virtual BOOL sendUpdate(); virtual BOOL sendUpdate();
static void onClickChooseAvatar(void*); void onClickChooseAvatar();
void callbackAvatarID(const uuid_vec_t& ids, const std::vector<LLAvatarName>& names); void callbackAvatarID(const uuid_vec_t& ids, const std::vector<LLAvatarName>& names);
static void onClickReturn(void *); static void onClickReturn(void *);
bool callbackReturn(const LLSD& notification, const LLSD& response); bool callbackReturn(const LLSD& notification, const LLSD& response);
static void onClickTopColliders(void*); static void onClickTopColliders(void*);
static void onClickTopScripts(void*); static void onClickTopScripts(void*);
static void onClickRestart(void* data); static void onClickRestart(void* data);
bool callbackRestart(const LLSD& notification, const LLSD& response, S32 seconds); bool callbackRestart(const LLSD& notification, const LLSD& response);
static void onClickCancelRestart(void* data); static void onClickCancelRestart(void* data);
private: private:
@@ -206,43 +218,25 @@ private:
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
class LLPanelRegionTextureInfo : public LLPanelRegionInfo
{
public:
LLPanelRegionTextureInfo();
~LLPanelRegionTextureInfo() {}
virtual bool refreshFromRegion(LLViewerRegion* region);
// LLPanel && LLView
virtual BOOL postBuild();
protected:
virtual BOOL sendUpdate();
static void onClickDump(void* data);
BOOL validateTextureSizes();
};
/////////////////////////////////////////////////////////////////////////////
class LLPanelRegionTerrainInfo : public LLPanelRegionInfo class LLPanelRegionTerrainInfo : public LLPanelRegionInfo
{ {
public: LOG_CLASS(LLPanelRegionTerrainInfo);
LLPanelRegionTerrainInfo()
: LLPanelRegionInfo() {}
~LLPanelRegionTerrainInfo() {}
// LLPanel
virtual BOOL postBuild();
virtual bool refreshFromRegion(LLViewerRegion* region);
protected:
virtual BOOL sendUpdate();
static void onChangeUseEstateTime(LLUICtrl* ctrl, void* user_data); public:
static void onChangeFixedSun(LLUICtrl* ctrl, void* user_data); LLPanelRegionTerrainInfo() : LLPanelRegionInfo() {}
static void onChangeSunHour(LLUICtrl* ctrl, void*); ~LLPanelRegionTerrainInfo() {}
virtual BOOL postBuild(); // LLPanel
virtual bool refreshFromRegion(LLViewerRegion* region); // refresh local settings from region update from simulator
BOOL validateTextureSizes();
protected:
//static void onChangeAnything(LLUICtrl* ctrl, void* userData); // callback for any change, to enable commit button
virtual BOOL sendUpdate();
static void onClickDownloadRaw(void*); static void onClickDownloadRaw(void*);
void onClickDownloadRaw_continued(AIFilePicker* filepicker); void onClickDownloadRaw_continued(AIFilePicker* filepicker);
@@ -259,27 +253,27 @@ class LLPanelEstateInfo : public LLPanelRegionInfo
public: public:
static void initDispatch(LLDispatcher& dispatch); static void initDispatch(LLDispatcher& dispatch);
static void onChangeFixedSun(LLUICtrl* ctrl, void* user_data); void onChangeFixedSun();
static void onChangeUseGlobalTime(LLUICtrl* ctrl, void* user_data); void onChangeUseGlobalTime();
static void onClickEditSky(void* userdata); void onClickEditSky();
static void onClickEditSkyHelp(void* userdata); void onClickEditSkyHelp();
static void onClickEditDayCycle(void* userdata); void onClickEditDayCycle();
static void onClickEditDayCycleHelp(void* userdata); void onClickEditDayCycleHelp();
static void onClickAddAllowedAgent(void* user_data); void onClickAddAllowedAgent();
static void onClickRemoveAllowedAgent(void* user_data); void onClickRemoveAllowedAgent();
static void onClickAddAllowedGroup(void* user_data); void onClickAddAllowedGroup();
static void onClickRemoveAllowedGroup(void* user_data); void onClickRemoveAllowedGroup();
static void onClickAddBannedAgent(void* user_data); void onClickAddBannedAgent();
static void onClickRemoveBannedAgent(void* user_data); void onClickRemoveBannedAgent();
static void onClickAddEstateManager(void* user_data); void onClickAddEstateManager();
static void onClickRemoveEstateManager(void* user_data); void onClickRemoveEstateManager();
static void onClickKickUser(void* userdata); void onClickKickUser();
// Group picker callback is different, can't use core methods below // Group picker callback is different, can't use core methods below
bool addAllowedGroup(const LLSD& notification, const LLSD& response); bool addAllowedGroup(const LLSD& notification, const LLSD& response);
static void addAllowedGroup2(LLUUID id, void* data); static void addAllowedGroup2(LLUUID id, void*);
// Core methods for all above add/remove button clicks // Core methods for all above add/remove button clicks
static void accessAddCore(U32 operation_flag, const std::string& dialog_name); static void accessAddCore(U32 operation_flag, const std::string& dialog_name);
@@ -305,6 +299,9 @@ public:
void updateControls(LLViewerRegion* region); void updateControls(LLViewerRegion* region);
static void updateEstateName(const std::string& name);
static void updateEstateOwnerName(const std::string& name);
virtual bool refreshFromRegion(LLViewerRegion* region); virtual bool refreshFromRegion(LLViewerRegion* region);
virtual bool estateUpdate(LLMessageSystem* msg); virtual bool estateUpdate(LLMessageSystem* msg);
@@ -313,53 +310,23 @@ public:
virtual void updateChild(LLUICtrl* child_ctrl); virtual void updateChild(LLUICtrl* child_ctrl);
virtual void refresh(); virtual void refresh();
U32 computeEstateFlags(); void refreshFromEstate();
void setEstateFlags(U32 flags);
BOOL getGlobalTime();
void setGlobalTime(bool b);
BOOL getFixedSun();
F32 getSunHour();
void setSunHour(F32 sun_hour);
const std::string getEstateName() const;
void setEstateName(const std::string& name);
U32 getEstateID() const { return mEstateID; }
void setEstateID(U32 estate_id) { mEstateID = estate_id; }
static bool isLindenEstate(); static bool isLindenEstate();
const std::string getOwnerName() const; const std::string getOwnerName() const;
void setOwnerName(const std::string& name); void setOwnerName(const std::string& name);
void setOwnerPNSName(const LLUUID& agent_id, const LLAvatarName& av_name);
const std::string getAbuseEmailAddress() const;
void setAbuseEmailAddress(const std::string& address);
// If visible from mainland, allowed agent and allowed groups
// are ignored, so must disable UI.
void setAccessAllowedEnabled(bool enable_agent, bool enable_group, bool enable_ban);
// this must have the same function signature as
// llmessage/llcachename.h:LLCacheNameCallback
static void callbackCacheName(
const LLUUID& id,
const std::string& full_name,
bool is_group);
protected: protected:
virtual BOOL sendUpdate(); virtual BOOL sendUpdate();
// confirmation dialog callback // confirmation dialog callback
bool callbackChangeLindenEstate(const LLSD& notification, const LLSD& response); bool callbackChangeLindenEstate(const LLSD& notification, const LLSD& response);
void commitEstateInfoDataserver();
bool commitEstateInfoCaps();
void commitEstateAccess(); void commitEstateAccess();
void commitEstateManagers(); void commitEstateManagers();
void clearAccessLists(); void clearAccessLists();
BOOL checkRemovalButton(std::string name);
BOOL checkSunHourSlider(LLUICtrl* child_ctrl); BOOL checkSunHourSlider(LLUICtrl* child_ctrl);
U32 mEstateID; U32 mEstateID;
@@ -427,4 +394,68 @@ protected:
EAssetStatus mAssetStatus; EAssetStatus mAssetStatus;
}; };
/////////////////////////////////////////////////////////////////////////////
class LLPanelEnvironmentInfo : public LLPanelRegionInfo
{
LOG_CLASS(LLPanelEnvironmentInfo);
public:
LLPanelEnvironmentInfo();
// LLPanel
/*virtual*/ BOOL postBuild();
// LLPanelRegionInfo
/*virtual*/ void onOpen(const LLSD& key);
// LLView
/*virtual*/ void handleVisibilityChange(BOOL new_visibility);
// LLPanelRegionInfo
/*virtual*/ bool refreshFromRegion(LLViewerRegion* region);
private:
void refresh();
void setControlsEnabled(bool enabled);
void setApplyProgress(bool started);
void setDirty(bool dirty);
void sendRegionSunUpdate();
void fixEstateSun();
void populateWaterPresetsList();
void populateSkyPresetsList();
void populateDayCyclesList();
bool getSelectedWaterParams(LLSD& water_params);
bool getSelectedSkyParams(LLSD& sky_params, std::string& preset_name);
bool getSelectedDayCycleParams(LLSD& day_cycle, LLSD& sky_map, short& scope);
void onSwitchRegionSettings();
void onSwitchDayCycle();
void onSelectWaterPreset();
void onSelectSkyPreset();
void onSelectDayCycle();
void onBtnApply();
void onBtnCancel();
void onRegionSettingschange();
void onRegionSettingsApplied(bool ok);
/// New environment settings that are being applied to the region.
LLEnvironmentSettings mNewRegionSettings;
bool mEnableEditing;
LLRadioGroup* mRegionSettingsRadioGroup;
LLRadioGroup* mDayCycleSettingsRadioGroup;
LLComboBox* mWaterPresetCombo;
LLComboBox* mSkyPresetCombo;
LLComboBox* mDayCyclePresetCombo;
};
#endif #endif

View File

@@ -113,7 +113,9 @@ BOOL LLPanelGeneral::postBuild()
childSetVisible("maturity_desired_combobox", can_choose); childSetVisible("maturity_desired_combobox", can_choose);
childSetVisible("maturity_desired_textbox", !can_choose); childSetVisible("maturity_desired_textbox", !can_choose);
childSetEnabled("afk_timeout_spinner", gSavedSettings.getBOOL("AllowIdleAFK")); bool allow_idle = gSavedSettings.getBOOL("AllowIdleAFK");
childSetEnabled("afk_timeout_spinner", allow_idle);
childSetEnabled("seconds_textbox", allow_idle);
childSetCommitCallback("away_when_idle_checkbox", &onClickCheckbox, this); childSetCommitCallback("away_when_idle_checkbox", &onClickCheckbox, this);
childSetEnabled("no_transaction_clutter_checkbox", gSavedSettings.getBOOL("NotifyMoneyChange")); childSetEnabled("no_transaction_clutter_checkbox", gSavedSettings.getBOOL("NotifyMoneyChange"));
@@ -179,7 +181,10 @@ void LLPanelGeneral::onClickCheckbox(LLUICtrl* ctrl, void* data)
LLPanelGeneral* self = (LLPanelGeneral*)data; LLPanelGeneral* self = (LLPanelGeneral*)data;
bool enabled = ctrl->getValue().asBoolean(); bool enabled = ctrl->getValue().asBoolean();
if(ctrl->getName() == "away_when_idle_checkbox") if(ctrl->getName() == "away_when_idle_checkbox")
{
self->childSetEnabled("afk_timeout_spinner", enabled); self->childSetEnabled("afk_timeout_spinner", enabled);
self->childSetEnabled("seconds_textbox", enabled);
}
else if(ctrl->getName() == "notify_money_change_checkbox") else if(ctrl->getName() == "notify_money_change_checkbox")
self->childSetEnabled("no_transaction_clutter_checkbox", enabled); self->childSetEnabled("no_transaction_clutter_checkbox", enabled);
} }

View File

@@ -1085,8 +1085,7 @@ void LLPanelGroupMembersSubTab::handleMemberSelect()
// Extract the checkbox that was created. // Extract the checkbox that was created.
LLScrollListCheck* check_cell = (LLScrollListCheck*) item->getColumn(0); LLScrollListCheck* check_cell = (LLScrollListCheck*) item->getColumn(0);
LLCheckBoxCtrl* check = check_cell->getCheckBox(); LLCheckBoxCtrl* check = check_cell->getCheckBox();
check->setCommitCallback(onRoleCheck); check->setCommitCallback(onRoleCheck, this);
check->setCallbackUserData(this);
check->set( count > 0 ); check->set( count > 0 );
check->setTentative( check->setTentative(
(0 != count) (0 != count)
@@ -1098,6 +1097,7 @@ void LLPanelGroupMembersSubTab::handleMemberSelect()
//last owner. We should check for this special case //last owner. We should check for this special case
// -jwolk // -jwolk
check->setEnabled(cb_enable); check->setEnabled(cb_enable);
item->setEnabled(cb_enable);
} }
} }
else else

View File

@@ -113,7 +113,7 @@ BOOL LLPrefsIMImpl::postBuild()
childDisable("log_instant_messages"); childDisable("log_instant_messages");
childDisable("log_chat"); childDisable("log_chat");
childDisable("log_show_history"); childDisable("log_show_history");
childDisable("log_path_button"); //childDisable("log_path_button");
childDisable("busy_response"); childDisable("busy_response");
childDisable("log_instant_messages_timestamp"); childDisable("log_instant_messages_timestamp");
childDisable("log_chat_timestamp"); childDisable("log_chat_timestamp");
@@ -127,7 +127,8 @@ BOOL LLPrefsIMImpl::postBuild()
childSetValue("show_timestamps_check", gSavedSettings.getBOOL("IMShowTimestamps")); childSetValue("show_timestamps_check", gSavedSettings.getBOOL("IMShowTimestamps"));
childSetValue("friends_online_notify_checkbox", gSavedSettings.getBOOL("ChatOnlineNotification")); childSetValue("friends_online_notify_checkbox", gSavedSettings.getBOOL("ChatOnlineNotification"));
childSetText("log_path_string", gSavedPerAccountSettings.getString("InstantMessageLogPath")); const std::string log_path = gSavedPerAccountSettings.getString("InstantMessageLogPath");
childSetText("log_path_string", log_path.empty() ? gSavedSettings.getString("InstantMessageLogPathAnyAccount") : log_path);
childSetValue("log_instant_messages", gSavedPerAccountSettings.getBOOL("LogInstantMessages")); childSetValue("log_instant_messages", gSavedPerAccountSettings.getBOOL("LogInstantMessages"));
childSetValue("log_chat", gSavedPerAccountSettings.getBOOL("LogChat")); childSetValue("log_chat", gSavedPerAccountSettings.getBOOL("LogChat"));
childSetValue("log_show_history", gSavedPerAccountSettings.getBOOL("LogShowHistory")); childSetValue("log_show_history", gSavedPerAccountSettings.getBOOL("LogShowHistory"));
@@ -229,6 +230,12 @@ void LLPrefsIMImpl::apply()
gAgent.sendReliableMessage(); gAgent.sendReliableMessage();
} }
} }
else
{
const std::string log_path = childGetText("log_path_string");
gSavedPerAccountSettings.setString("InstantMessageLogPathAnyAccount", log_path);
gDirUtilp->setChatLogsDir(log_path);
}
} }
void LLPrefsIMImpl::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email) void LLPrefsIMImpl::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email)

View File

@@ -1046,7 +1046,8 @@ bool idle_startup()
//Default the path if one isn't set. //Default the path if one isn't set.
if (gSavedPerAccountSettings.getString("InstantMessageLogPath").empty()) if (gSavedPerAccountSettings.getString("InstantMessageLogPath").empty())
{ {
gDirUtilp->setChatLogsDir(gDirUtilp->getOSUserAppDir()); const std::string dir = gSavedSettings.getString("InstantMessageLogPathAnyAccount");
gDirUtilp->setChatLogsDir(dir.empty() ? gDirUtilp->getOSUserAppDir() : dir);
gSavedPerAccountSettings.setString("InstantMessageLogPath",gDirUtilp->getChatLogsDir()); gSavedPerAccountSettings.setString("InstantMessageLogPath",gDirUtilp->getChatLogsDir());
} }
else else

View File

@@ -3137,8 +3137,6 @@ TFReqSendMetrics::~TFReqSendMetrics()
bool bool
TFReqSendMetrics::doWork(LLTextureFetch * fetcher) TFReqSendMetrics::doWork(LLTextureFetch * fetcher)
{ {
static const U32 report_priority(1);
if (! gViewerAssetStatsThread1) if (! gViewerAssetStatsThread1)
return true; return true;

View File

@@ -85,7 +85,6 @@
#include "aicurl.h" #include "aicurl.h"
#include "aihttptimeoutpolicy.h" #include "aihttptimeoutpolicy.h"
#include "NACLantispam.h" // for NaCl Antispam Registry
#ifdef TOGGLE_HACKED_GODLIKE_VIEWER #ifdef TOGGLE_HACKED_GODLIKE_VIEWER
BOOL gHackGodmode = FALSE; BOOL gHackGodmode = FALSE;

View File

@@ -192,11 +192,14 @@ class LLDisplayNameUpdate : public LLHTTPNode
// force name tag to update // force name tag to update
LLVOAvatar::invalidateNameTag(agent_id); LLVOAvatar::invalidateNameTag(agent_id);
LLSD args; if (gSavedSettings.getBOOL("ShowDisplayNameChanges"))
args["OLD_NAME"] = old_display_name; {
args["SLID"] = av_name.mUsername; LLSD args;
args["NEW_NAME"] = av_name.mDisplayName; args["OLD_NAME"] = old_display_name;
LLNotificationsUtil::add("DisplayNameUpdate", args); args["SLID"] = av_name.mUsername;
args["NEW_NAME"] = av_name.mDisplayName;
LLNotificationsUtil::add("DisplayNameUpdate", args);
}
if (agent_id == gAgent.getID()) if (agent_id == gAgent.getID())
{ {
LLViewerDisplayName::sNameChangedSignal(); LLViewerDisplayName::sNameChangedSignal();

View File

@@ -9796,5 +9796,18 @@ void custom_selected(void* user_data)
LLSD menuAction = LLSD::emptyMap(); LLSD menuAction = LLSD::emptyMap();
menuAction["action"] = LLSD(custom->getName()); menuAction["action"] = LLSD(custom->getName());
LLSD selection = LLSD::emptyArray();
for (LLObjectSelection::iterator iter = LLSelectMgr::getInstance()->getSelection()->begin();
iter != LLSelectMgr::getInstance()->getSelection()->end(); iter++)
{
LLSelectNode* selectNode = *iter;
LLViewerObject*cur = selectNode->getObject();
selection.append(LLSD((S32)cur->getLocalID()));
}
menuAction["selection"] = selection;
LLHTTPClient::post(url, menuAction, new LLHTTPClient::ResponderIgnore); LLHTTPClient::post(url, menuAction, new LLHTTPClient::ResponderIgnore);
} }

View File

@@ -182,6 +182,7 @@
// NaCl - Antispam Registry // NaCl - Antispam Registry
#include "NACLantispam.h" #include "NACLantispam.h"
bool can_block(const LLUUID& id);
// NaCl - Newline flood protection // NaCl - Newline flood protection
#include <boost/regex.hpp> #include <boost/regex.hpp>
static const boost::regex NEWLINES("\\n{1}"); static const boost::regex NEWLINES("\\n{1}");
@@ -211,7 +212,7 @@ extern bool gShiftFrame;
// function prototypes // function prototypes
bool check_offer_throttle(const std::string& from_name, bool check_only); bool check_offer_throttle(const std::string& from_name, bool check_only);
void callbackCacheEstateOwnerName(const LLUUID& id, const std::string& full_name, bool is_group); void callbackCacheEstateOwnerName(const LLUUID& id, const LLAvatarName& av_name);
static void process_money_balance_reply_extended(LLMessageSystem* msg); static void process_money_balance_reply_extended(LLMessageSystem* msg);
//inventory offer throttle globals //inventory offer throttle globals
@@ -1956,27 +1957,22 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
msg->getStringFast(_PREHASH_MessageBlock, _PREHASH_Message, message); msg->getStringFast(_PREHASH_MessageBlock, _PREHASH_Message, message);
// NaCl - Newline flood protection // NaCl - Newline flood protection
static LLCachedControl<bool> AntiSpamEnabled(gSavedSettings,"AntiSpamEnabled",false); static LLCachedControl<bool> AntiSpamEnabled(gSavedSettings,"AntiSpamEnabled",false);
if(AntiSpamEnabled){ if (AntiSpamEnabled && can_block(from_id))
LLViewerObject* obj=gObjectList.findObject(from_id); {
if(!from_id.isNull() //Not from nothing. static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines");
&& gAgent.getID() != from_id //Not from self. boost::sregex_iterator iter(message.begin(), message.end(), NEWLINES);
&& !(obj && obj->permYouOwner())) //Not from own object. if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
{ {
static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines"); NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_IM,from_id);
boost::sregex_iterator iter(message.begin(), message.end(), NEWLINES); llinfos << "[antispam] blocked owner due to too many newlines: " << from_id << llendl;
if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines) if(gSavedSettings.getBOOL("AntiSpamNotify"))
{ {
NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_IM,from_id); LLSD args;
llinfos << "[antispam] blocked owner due to too many newlines: " << from_id << llendl; args["SOURCE"] = from_id.asString();
if(gSavedSettings.getBOOL("AntiSpamNotify")) args["AMOUNT"] = boost::lexical_cast<std::string>(SpamNewlines);
{ LLNotificationsUtil::add("AntiSpamNewlineFlood", args);
LLSD args;
args["SOURCE"] = from_id.asString();
args["AMOUNT"] = boost::lexical_cast<std::string>(SpamNewlines);
LLNotificationsUtil::add("AntiSpamNewlineFlood", args);
}
return;
} }
return;
} }
} }
// NaCl End // NaCl End
@@ -3540,25 +3536,20 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
// NaCl - Newline flood protection // NaCl - Newline flood protection
static LLCachedControl<bool> AntiSpamEnabled(gSavedSettings,"AntiSpamEnabled",false); static LLCachedControl<bool> AntiSpamEnabled(gSavedSettings,"AntiSpamEnabled",false);
if(AntiSpamEnabled){ if (AntiSpamEnabled && can_block(from_id))
LLViewerObject* obj=gObjectList.findObject(from_id); {
if(!(from_id.isNull()) //Not from nothing. static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines");
|| !(gAgent.getID() != from_id) //Not from self. boost::sregex_iterator iter(mesg.begin(), mesg.end(), NEWLINES);
|| !(obj && obj->permYouOwner())) //Not from own object. if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
{ {
static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines"); NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_CHAT,owner_id);
boost::sregex_iterator iter(mesg.begin(), mesg.end(), NEWLINES); if(gSavedSettings.getBOOL("AntiSpamNotify"))
if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
{ {
NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_CHAT,owner_id); LLSD args;
if(gSavedSettings.getBOOL("AntiSpamNotify")) args["MESSAGE"] = "Chat: Blocked newline flood from "+owner_id.asString();
{ LLNotificationsUtil::add("SystemMessageTip", args);
LLSD args;
args["MESSAGE"] = "Chat: Blocked newline flood from "+owner_id.asString();
LLNotificationsUtil::add("SystemMessageTip", args);
}
return;
} }
return;
} }
} }
// NaCl End // NaCl End
@@ -7657,8 +7648,11 @@ void process_covenant_reply(LLMessageSystem* msg, void**)
LLPanelEstateCovenant::updateEstateName(estate_name); LLPanelEstateCovenant::updateEstateName(estate_name);
LLPanelLandCovenant::updateEstateName(estate_name); LLPanelLandCovenant::updateEstateName(estate_name);
LLPanelEstateInfo::updateEstateName(estate_name);
LLFloaterBuyLand::updateEstateName(estate_name); LLFloaterBuyLand::updateEstateName(estate_name);
LLAvatarNameCache::get(estate_owner_id, boost::bind(&callbackCacheEstateOwnerName, _1, _2));
// standard message, not from system // standard message, not from system
std::string last_modified; std::string last_modified;
if (covenant_timestamp == 0) if (covenant_timestamp == 0)
@@ -7673,9 +7667,6 @@ void process_covenant_reply(LLMessageSystem* msg, void**)
LLPanelEstateCovenant::updateLastModified(last_modified); LLPanelEstateCovenant::updateLastModified(last_modified);
LLPanelLandCovenant::updateLastModified(last_modified); LLPanelLandCovenant::updateLastModified(last_modified);
LLFloaterBuyLand::updateLastModified(last_modified); LLFloaterBuyLand::updateLastModified(last_modified);
gCacheName->get(estate_owner_id, false,
boost::bind(&callbackCacheEstateOwnerName, _1, _2, _3));
// load the actual covenant asset data // load the actual covenant asset data
const BOOL high_priority = TRUE; const BOOL high_priority = TRUE;
@@ -7709,22 +7700,14 @@ void process_covenant_reply(LLMessageSystem* msg, void**)
} }
} }
void callbackCacheEstateOwnerName(const LLUUID& id, void callbackCacheEstateOwnerName(const LLUUID& id, const LLAvatarName& av_name)
const std::string& full_name,
bool is_group)
{ {
std::string name; std::string name;
LLAvatarNameCache::getPNSName(av_name, name);
if (id.isNull())
{
name = "(none)";
}
else
{
name = full_name;
}
LLPanelEstateCovenant::updateEstateOwnerName(name); LLPanelEstateCovenant::updateEstateOwnerName(name);
LLPanelLandCovenant::updateEstateOwnerName(name); LLPanelLandCovenant::updateEstateOwnerName(name);
LLPanelEstateInfo::updateEstateOwnerName(name);
LLFloaterBuyLand::updateEstateOwnerName(name); LLFloaterBuyLand::updateEstateOwnerName(name);
} }

View File

@@ -78,7 +78,7 @@
<texture name="color_swatch_alpha.tga" preload="true"/> <texture name="color_swatch_alpha.tga" preload="true"/>
<texture name="eye_button_active.tga" preload="true" /> <texture name="eye_button_active.tga" preload="true" />
<texture name="eye_button_inactive.tga" preload="true""/> <texture name="eye_button_inactive.tga" preload="true"/>
<texture name="active_voice_tab.tga"/> <texture name="active_voice_tab.tga"/>
<texture name="button_anim_pause.tga"/> <texture name="button_anim_pause.tga"/>

View File

@@ -78,7 +78,7 @@
<texture name="color_swatch_alpha.tga" preload="true"/> <texture name="color_swatch_alpha.tga" preload="true"/>
<texture name="eye_button_active.tga" preload="true" /> <texture name="eye_button_active.tga" preload="true" />
<texture name="eye_button_inactive.tga" preload="true""/> <texture name="eye_button_inactive.tga" preload="true"/>
<texture name="active_voice_tab.tga"/> <texture name="active_voice_tab.tga"/>
<texture name="button_anim_pause.tga"/> <texture name="button_anim_pause.tga"/>

View File

@@ -78,7 +78,7 @@
<texture name="color_swatch_alpha.tga" preload="true"/> <texture name="color_swatch_alpha.tga" preload="true"/>
<texture name="eye_button_active.tga" preload="true" /> <texture name="eye_button_active.tga" preload="true" />
<texture name="eye_button_inactive.tga" preload="true""/> <texture name="eye_button_inactive.tga" preload="true"/>
<texture name="active_voice_tab.tga"/> <texture name="active_voice_tab.tga"/>
<texture name="button_anim_pause.tga"/> <texture name="button_anim_pause.tga"/>

View File

@@ -12,7 +12,7 @@
<panel border="false" label="Credits" height="386" name="credits_panel"> <panel border="false" label="Credits" height="386" name="credits_panel">
<!--Note to Translators: Please do not translate the following text_editor--> <!--Note to Translators: Please do not translate the following text_editor-->
<text_editor enabled="false" follows="left|top" bg_readonly_color="transparent" left="3" max_length="65536" name="credits_editor" top="-1" bottom="0" width="443" word_wrap="true"> <text_editor enabled="false" follows="left|top" bg_readonly_color="transparent" left="3" max_length="65536" name="credits_editor" top="-1" bottom="0" width="443" word_wrap="true">
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer and Latif Khalifa, with contributions by Damian Zhaoying, Fractured Crystal, Franxisco Romano, Fritigern Gothly, Henri Beauchamp, Knolan Falconer, Kadah Coba, Kitty Barnett, McCabe Maxsted, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Wolfspirit Magic, Zauber Parecelsus and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code. Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer and Latif Khalifa, with contributions by Damian Zhaoying, Fractured Crystal, Franxisco Romano, Fritigern Gothly, Henri Beauchamp, Kadah Coba, Kitty Barnett, Knolan Falconer, McCabe Maxsted, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Wolfspirit Magic, Zauber Parecelsus and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso, maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, and Zipherius Turas. Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso, maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, and Zipherius Turas.

View File

@@ -23,7 +23,9 @@
<string name="TeleportYourAgent">Teleport you</string> <string name="TeleportYourAgent">Teleport you</string>
<string name="ControlYourCamera">Control your camera</string> <string name="ControlYourCamera">Control your camera</string>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="260" left="0" orientation="horizontal" width="430" name="panels"> <layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="260" left="0" orientation="horizontal" width="430" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" height="135" left="0" min_width="275" name="im_contents_panel" width="305"> <layout_panel border="false" bottom="0" height="260" left="0" min_width="275" name="im_contents_panel" width="305">
<layout_stack border="false" bottom="0" default_tab_group="1" follows="all" height="260" left="0" orientation="vertical" name="im_contents_stack" width="305">
<layout_panel border="false" bottom="10" follows="all" height="235" left="0" name="history_panel" width="305">
<combo_box follows="left|top" height="18" label="Gestures" left="6" name="Gesture" width="120"> <combo_box follows="left|top" height="18" label="Gestures" left="6" name="Gesture" width="120">
<combo_item name="Gestures">Gestures</combo_item> <combo_item name="Gestures">Gestures</combo_item>
</combo_box> </combo_box>
@@ -31,9 +33,11 @@
<!--check_box bottom_delta="-15" enabled="true" follows="left|top" font="SansSerifSmall" height="20" initial_value="false" label="Translate Chat (powered by Google)" name="translate chat" width="100"/--> <!--check_box bottom_delta="-15" enabled="true" follows="left|top" font="SansSerifSmall" height="20" initial_value="false" label="Translate Chat (powered by Google)" name="translate chat" width="100"/-->
<button bottom_delta="2" left_delta="120" follows="left|top" font="SansSerifSmall" height="20" width="100" label="Open History" name="chat_history_open" tool_tip="Click here to open chat history in external editor."/> <button bottom_delta="2" left_delta="120" follows="left|top" font="SansSerifSmall" height="20" width="100" label="Open History" name="chat_history_open" tool_tip="Click here to open chat history in external editor."/>
<button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="272" name="toggle_active_speakers_btn" right="305" tool_tip="Click here to show a list of active participants in this IM session." width="80"/> <button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="272" name="toggle_active_speakers_btn" right="305" tool_tip="Click here to show a list of active participants in this IM session." width="80"/>
<text_editor type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" bottom="28" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="81" left="5" max_length="2147483647" name="Chat History Editor" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/> <text_editor type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" bottom="0" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="207" left="5" max_length="2147483647" name="Chat History Editor" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/>
<text_editor type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" bottom="28" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="81" max_length="2147483647" name="Chat History Editor with mute" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/> <text_editor type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" bottom="0" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="207" max_length="2147483647" name="Chat History Editor with mute" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/>
<panel bottom="5" follows="left|right|bottom" left="5" name="chat_panel" right="-5" tab_group="1" top="25"> </layout_panel>
<layout_panel user_resize="false" auto_resize="false" bottom_delta="-25" follows="left|right|bottom" left="5" name="chat_layout_panel" right="-5" tab_group="1" height="25">
<panel bottom="5" follows="left|right|bottom" left="5" name="chat_panel" right="-5" top="25">
<string name="gesture_label">Gestures</string> <string name="gesture_label">Gestures</string>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="0" follows="left|right|bottom" font="SansSerif" handle_edit_keys_directly="false" height="20" label="Click here to chat." left="0" max_length="2147483647" name="Chat Editor" right="-60" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" spell_check="true"/> <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="0" follows="left|right|bottom" font="SansSerif" handle_edit_keys_directly="false" height="20" label="Click here to chat." left="0" max_length="2147483647" name="Chat Editor" right="-60" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" spell_check="true"/>
<flyout_button bottom_delta="0" follows="right|bottom" height="20" label="Say" left="-57" list_position="above" name="Say" tool_tip="(Enter)" width="60"> <flyout_button bottom_delta="0" follows="right|bottom" height="20" label="Say" left="-57" list_position="above" name="Say" tool_tip="(Enter)" width="60">
@@ -42,6 +46,8 @@
<flyout_button_item value="whisper" name="whisper_item">Whisper</flyout_button_item> <flyout_button_item value="whisper" name="whisper_item">Whisper</flyout_button_item>
</flyout_button> </flyout_button>
</panel> </panel>
</layout_panel>
</layout_stack>
</layout_panel> </layout_panel>
<layout_panel auto_resize="false" bottom="0" can_resize="true" filename="panel_speaker_controls.xml" height="120" left="0" min_width="140" name="active_speakers_panel" top_delta="0" visible="false" width="140"/> <layout_panel auto_resize="false" bottom="0" can_resize="true" filename="panel_speaker_controls.xml" height="120" left="0" min_width="140" name="active_speakers_panel" top_delta="0" visible="false" width="140"/>
</layout_stack> </layout_stack>

View File

@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater bottom="27" can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="true" can_tear_off="true" enabled="true" height="275" left="15"
min_height="150" min_width="425" name="chat floater" rect_control="FloaterChatBarlessRect" title="Local Chat" width="435">
<string name="ringing">Connecting to in-world Voice Chat...</string>
<string name="connected">Connected</string>
<string name="unavailable">Voice not available at your current location</string>
<string name="hang_up">Disconnected from in-world Voice Chat</string>
<string name="voice_icon">icn_voice-localchat.tga</string>
<string name="IM_logging_string">-- Instant message logging enabled --</string>
<string name="IM_end_log_string">-- End of Log --</string>
<string name="ScriptQuestionCautionChatGranted">'[OBJECTNAME]', an object owned by '[OWNERNAME]', located in [REGIONNAME] at [REGIONPOS], has been granted permission to: [PERMISSIONS].</string>
<string name="ScriptQuestionCautionChatDenied">'[OBJECTNAME]', an object owned by '[OWNERNAME]', located in [REGIONNAME] at [REGIONPOS], has been denied permission to: [PERMISSIONS].</string>
<string name="ScriptTakeMoney">Take in-world money ([CURRENCY]) from you</string>
<string name="ActOnControlInputs">Act on your control inputs</string>
<string name="RemapControlInputs">Remap your control inputs</string>
<string name="AnimateYourAvatar">Animate your avatar</string>
<string name="AttachToYourAvatar">Attach to your avatar</string>
<string name="ReleaseOwnership">Release ownership and become public</string>
<string name="LinkAndDelink">Link and delink from other objects</string>
<string name="AddAndRemoveJoints">Add and remove joints with other objects</string>
<string name="ChangePermissions">Change its permissions</string>
<string name="TrackYourCamera">Track your camera</string>
<string name="TeleportYourAgent">Teleport you</string>
<string name="ControlYourCamera">Control your camera</string>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="260" left="0" orientation="horizontal" width="430" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" height="135" left="0" min_width="275" name="im_contents_panel" width="305">
<combo_box follows="left|top" height="18" label="Gestures" left="6" name="Gesture" width="120">
<combo_item name="Gestures">Gestures</combo_item>
</combo_box>
<check_box bottom_delta="-2" enabled="true" follows="left|top" font="SansSerifSmall" height="20" initial_value="false" label="Show Muted Text" left_delta="124" name="show mutes" width="116"/>
<!--check_box bottom_delta="-15" enabled="true" follows="left|top" font="SansSerifSmall" height="20" initial_value="false" label="Translate Chat (powered by Google)" name="translate chat" width="100"/-->
<button bottom_delta="2" left_delta="120" follows="left|top" font="SansSerifSmall" height="20" width="100" label="Open History" name="chat_history_open" tool_tip="Click here to open chat history in external editor."/>
<button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="272" name="toggle_active_speakers_btn" right="305" tool_tip="Click here to show a list of active participants in this IM session." width="80"/>
<text_editor type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" bottom="5" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="104" left="5" max_length="2147483647" name="Chat History Editor" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/>
<text_editor type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" bottom="5" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="104" max_length="2147483647" name="Chat History Editor with mute" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/>
<panel bottom="0" left="0" name="chat_panel" height="0" width="0" visible="false">
<string name="gesture_label">Gestures</string>
</panel>
</layout_panel>
<layout_panel auto_resize="false" bottom="0" can_resize="true" filename="panel_speaker_controls.xml" height="120" left="0" min_width="140" name="active_speakers_panel" top_delta="0" visible="false" width="140"/>
</layout_stack>
</floater>

View File

@@ -625,6 +625,17 @@ To buy direct, visit the land and click on the place name in the title bar.
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4" font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" /> mouse_opaque="true" name="result_text" v_pad="0" width="328" />
</panel> </panel>
<panel bottom="-549" follows="all" height="533" label="Marketplace" left="1" mouse_opaque="false" name="market_panel" width="778">
<button bottom="-30" follows="top|left" height="25" label="" left="10" name="back_btn" width="25" image_overlay="go-previous-4.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="forward_btn" width="25" image_overlay="go-next-4.png" />
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="reload_btn" width="25" image_overlay="view-refresh-5.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" tooltip="reset" left_delta="27" name="reset_btn" width="25" image_overlay="go-home-4.png"/>
<web_browser name="market_browser" bottom="25" follows="all" left="10" right="-10" top="-40"/>
<text bottom="5" follows="bottom|left" left="10" height="16" name="status_text"/>
<string name="loading_text">Loading...</string>
<string name="done_text">Done</string>
<string name="redirect_404_url">http://www.singularityviewer.org/404</string>
</panel>
</tab_container> </tab_container>
<panel bottom="-560" follows="right|top" height="470" left="340" <panel bottom="-560" follows="right|top" height="470" left="340"
name="classified_details_panel" width="440" /> name="classified_details_panel" width="440" />

View File

@@ -746,6 +746,17 @@ To buy direct, visit the land and click on the place name in the title bar.
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom" bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4" font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" /> mouse_opaque="true" name="result_text" v_pad="0" width="328" />
</panel>
<panel bottom="-549" follows="all" height="533" label="Marketplace" left="1" mouse_opaque="false" name="market_panel" width="778">
<button bottom="-30" follows="top|left" height="25" label="" left="10" name="back_btn" width="25" image_overlay="go-previous-4.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="forward_btn" width="25" image_overlay="go-next-4.png" />
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="reload_btn" width="25" image_overlay="view-refresh-5.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" tooltip="reset" left_delta="27" name="reset_btn" width="25" image_overlay="go-home-4.png"/>
<web_browser name="market_browser" bottom="25" follows="all" left="10" right="-10" top="-40"/>
<text bottom="5" follows="bottom|left" left="10" height="16" name="status_text"/>
<string name="loading_text">Loading...</string>
<string name="done_text">Done</string>
<string name="redirect_404_url">http://www.singularityviewer.org/404</string>
</panel> </panel>
</tab_container> </tab_container>
<panel bottom="-560" follows="right|top" height="470" left="340" <panel bottom="-560" follows="right|top" height="470" left="340"

View File

@@ -392,6 +392,30 @@ Initialization with the Marketplace failed because of a system or network error.
yestext="OK"/> yestext="OK"/>
</notification> </notification>
<notification
icon="alertmodal.tga"
name="MarketplaceURLChanged"
type="alertmodal">
The region you have entered has a different marketplace page, would you like to change the marketplace's default page?
Furthermore, would you like your marketplace browser to be reset to this region's page now?
<usetemplate
name="yesnocancelbuttons"
notext="No"
canceltext="Reset"
yestext="Yes"/>
</notification>
<notification
icon="notify.tga"
name="MarketplaceURLGone"
type="notify">
There is no marketplace on the region you've moved to.
<usetemplate
ignoretext="MarketplaceURL is empty on region change"
name="okignore"
yestext="OK"/>
</notification>
<notification <notification
icon="alertmodal.tga" icon="alertmodal.tga"
@@ -5126,6 +5150,46 @@ You cannot edit or delete a default preset.
This day cycle file references a missing sky file: [SKY]. This day cycle file references a missing sky file: [SKY].
</notification> </notification>
<notification
icon="alertmodal.tga"
name="WLRegionApplyFail"
type="alertmodal">
Sorry, the settings couldn't be applied to the region. Leaving the region and then returning may help rectify the problem. The reason given was: [FAIL_REASON]
</notification>
<notification
functor="GenericAcknowledge"
icon="alertmodal.tga"
name="EnvCannotDeleteLastDayCycleKey"
type="alertmodal">
Unable to delete the last key in this day cycle because you cannot have an empty day cycle. You should modify the last remaining key instead of attempting to delete it and then to create a new one.
<usetemplate
name="okbutton"
yestext="OK"/>
</notification>
<notification
functor="GenericAcknowledge"
icon="alertmodal.tga"
name="DayCycleTooManyKeyframes"
type="alertmodal">
You cannot add any more keyframes to this day cycle. The maximum number of keyframes for day cycles of [SCOPE] scope is [MAX].
<usetemplate
name="okbutton"
yestext="OK"/>
</notification>
<notification
functor="GenericAcknowledge"
icon="alertmodal.tga"
name="EnvUpdateRate"
type="alertmodal">
You may only update region environmental settings every [WAIT] seconds. Wait at least that long and then try again.
<usetemplate
name="okbutton"
yestext="OK"/>
</notification>
<notification <notification
icon="alertmodal.tga" icon="alertmodal.tga"
name="PPSaveEffectAlert" name="PPSaveEffectAlert"

View File

@@ -34,10 +34,10 @@ Resident Chooser&apos; to start.
</string> </string>
<string name="already_in_group"> <string name="already_in_group">
Some Residents you chose are already in the group, and so were not sent an invitation. Some Residents you chose are already in the group, and so were not sent an invitation.
<string> </string>
<string name="invite_selection_too_large"> <string name="invite_selection_too_large">
Group Invitations not sent: too many Residents selected. Group Invitations are limited to 100 per request. Group Invitations not sent: too many Residents selected. Group Invitations are limited to 100 per request.
<string> </string>
<!--button bottom="25" font="SansSerifSmall" halign="center" height="20" <!--button bottom="25" font="SansSerifSmall" halign="center" height="20"
label="Send Invitations" left="65" name="ok_button" width="140" /> label="Send Invitations" left="65" name="ok_button" width="140" />
<button bottom_delta="-22" font="SansSerifSmall" halign="center" height="20" <button bottom_delta="-22" font="SansSerifSmall" halign="center" height="20"

View File

@@ -23,6 +23,7 @@
label="Do not echo/log notifications in chat" name="hide_notifications_in_chat_check"/> label="Do not echo/log notifications in chat" name="hide_notifications_in_chat_check"/>
<check_box bottom_delta="-20" follows="left|top" control_name="OptionShowGroupNameInChatIM" initial_value="false" <check_box bottom_delta="-20" follows="left|top" control_name="OptionShowGroupNameInChatIM" initial_value="false"
label="Show group name in chat" tool_tip="The name of the group will also be displayed if the IM is from group chat." name="append_group_name_check"/> label="Show group name in chat" tool_tip="The name of the group will also be displayed if the IM is from group chat." name="append_group_name_check"/>
<check_box bottom_delta="-20" follows="left|top" control_name="ShowDisplayNameChanges" label="Show display name changes" tool_tip="When checked, a notification will come up in chat whenever someone's display name changes." name="display_name_change"/>
<text bottom="-150" left="10" follows="left|top" name="objects_link_text_box3">Show links on chatting object names in chat history for:</text> <text bottom="-150" left="10" follows="left|top" name="objects_link_text_box3">Show links on chatting object names in chat history for:</text>
<radio_group bottom_delta="-26" control_name="LinksForChattingObjects" tool_tip="Enables a link to show you the owner of the speaking object." <radio_group bottom_delta="-26" control_name="LinksForChattingObjects" tool_tip="Enables a link to show you the owner of the speaking object."
follows="top" height="20" left="20" name="objects_link" width="350"> follows="top" height="20" left="20" name="objects_link" width="350">
@@ -70,7 +71,7 @@
<check_box bottom_delta="-25" left="10" follows="top" initial_value="false" control_name="WoLfVerticalIMTabs" <check_box bottom_delta="-25" left="10" follows="top" initial_value="false" control_name="WoLfVerticalIMTabs"
label="Use Vertical IMs (Requires a restart)" name="use_vertical_ims_check"/> label="Use Vertical IMs (Requires a restart)" name="use_vertical_ims_check"/>
<check_box bottom_delta="-20" follows="top" control_name="OtherChatsTornOff" label="Open new IMs in separate floaters" name="chats_torn_off"/> <check_box bottom_delta="-20" follows="top" control_name="OtherChatsTornOff" label="Open new IMs in separate floaters" name="chats_torn_off"/>
<check_box bottom_delta="-20" follows="left|top" control_name="ShowLocalChatFloaterBar" label="Show local chat bar in floater (Needs restart)" tool_tip="Whether or not to display the input bar at the bottom of the local chat floater." name="show_local_chat_floater_bar"/> <check_box bottom_delta="-20" follows="left|top" control_name="ShowLocalChatFloaterBar" label="Show chat bar in torn-off local chat floater" name="show_local_chat_floater_bar"/>
<check_box bottom_delta="-20" control_name="ContactsUseHorizontalButtons" follows="top" height="16" label="Use horizontal buttons for contacts floater (Needs restart)" tool_tip="When enabled, the buttons on the Friends and Groups panels will be at the bottom, horizontally arranged, instead of vertically arranged on the right." name="horiz_butt"/> <check_box bottom_delta="-20" control_name="ContactsUseHorizontalButtons" follows="top" height="16" label="Use horizontal buttons for contacts floater (Needs restart)" tool_tip="When enabled, the buttons on the Friends and Groups panels will be at the bottom, horizontally arranged, instead of vertically arranged on the right." name="horiz_butt"/>
<check_box bottom_delta="-20" control_name="UseConciseIMButtons" follows="top" height="16" label="Buttons on the same line as name for IMs (Affects new IMs)" name="im_concise_butt"/> <check_box bottom_delta="-20" control_name="UseConciseIMButtons" follows="top" height="16" label="Buttons on the same line as name for IMs (Affects new IMs)" name="im_concise_butt"/>
<check_box bottom_delta="-20" control_name="UseConciseGroupChatButtons" follows="top" height="16" label="Buttons on group chat name line (Affects new group chats)" name="group_concise_butt"/> <check_box bottom_delta="-20" control_name="UseConciseGroupChatButtons" follows="top" height="16" label="Buttons on group chat name line (Affects new group chats)" name="group_concise_butt"/>

View File

@@ -45,9 +45,10 @@
<combo_box allow_text_entry="true" bottom="-361" follows="top" height="16" left="103" name="language_combobox" max_chars="32" width="140"> <combo_box allow_text_entry="true" bottom="-361" follows="top" height="16" left="103" name="language_combobox" max_chars="32" width="140">
<combo_item name="System Default Language" value="default">System Default</combo_item> <combo_item name="System Default Language" value="default">System Default</combo_item>
<combo_item name="English" value="en-us">English</combo_item> <combo_item name="English" value="en-us">English</combo_item>
<!-- After "System Default" and "English", please keep the rest of these combo_items in alphabetical order by the first character in the string.--> <!-- After "System Default" and "English", please keep the rest of these combo_items in alphabetical order by the first character in the string.-->
<combo_item name="Spanish" value="es">Español(Spanish)</combo_item> <combo_item name="Spanish" value="es">Español(Spanish)</combo_item>
<combo_item name="French" value="fr">Français(French)</combo_item> <combo_item name="French" value="fr">Français(French)</combo_item>
<combo_item name="Portugese" value="pt">Portugués(Portuguese)</combo_item>
<!-- Also, with the above advice in mind, keep completed UI translations above this line.--> <!-- Also, with the above advice in mind, keep completed UI translations above this line.-->
<combo_item name="Danish" value="da">Dansk(Danish)*</combo_item> <combo_item name="Danish" value="da">Dansk(Danish)*</combo_item>
<combo_item name="Deutsch(German)" value="de">Deutsch(German)*</combo_item> <combo_item name="Deutsch(German)" value="de">Deutsch(German)*</combo_item>
@@ -55,7 +56,6 @@
<combo_item name="Hungarian" value="hu">Magyar(Hungarian)*</combo_item> <combo_item name="Hungarian" value="hu">Magyar(Hungarian)*</combo_item>
<combo_item name="Dutch" value="nl">Nederlands(Dutch)*</combo_item> <combo_item name="Dutch" value="nl">Nederlands(Dutch)*</combo_item>
<combo_item name="Polish" value="pl">Polski(Polish)*</combo_item> <combo_item name="Polish" value="pl">Polski(Polish)*</combo_item>
<combo_item name="Portugese" value="pt">Portugués(Portuguese)</combo_item>
<combo_item name="Russian" value="ru">Русский(Russian)*</combo_item> <combo_item name="Russian" value="ru">Русский(Russian)*</combo_item>
<combo_item name="Turkish" value="tr">Türkçe(Turkish)*</combo_item> <combo_item name="Turkish" value="tr">Türkçe(Turkish)*</combo_item>
<combo_item name="Ukrainian" value="uk">Українська(Ukrainian)*</combo_item> <combo_item name="Ukrainian" value="uk">Українська(Ukrainian)*</combo_item>

View File

@@ -3,7 +3,7 @@
<text bottom="-20" follows="top" height="10" left="12" name="text_box">Maximum Bandwidth:</text> <text bottom="-20" follows="top" height="10" left="12" name="text_box">Maximum Bandwidth:</text>
<slider bottom_delta="-4" left_delta="110" can_edit_text="true" decimal_digits="0" follows="top" height="15" increment="10" initial_val="50" max_val="5000" min_val="50" name="max_bandwidth" show_text="true" value="500" width="180"/> <slider bottom_delta="-4" left_delta="110" can_edit_text="true" decimal_digits="0" follows="top" height="15" increment="10" initial_val="50" max_val="5000" min_val="50" name="max_bandwidth" show_text="true" value="500" width="180"/>
<text bottom_delta="4" follows="top" height="10" left_delta="186" name="text_box2">kbps (kilobits per second)</text> <text bottom_delta="4" follows="top" height="10" left_delta="186" name="text_box2">kbps (kilobits per second)</text>
<text bottom_delta="-20" follows="top" height="10" left="12" name="text_box">Texture Bandwidth:</text> <text bottom_delta="-20" follows="top" height="10" left="12" name="text_box3">Texture Bandwidth:</text>
<slider bottom_delta="-4" left_delta="110" can_edit_text="true" decimal_digits="0" follows="top" height="15" increment="10" initial_val="50" max_val="5000" min_val="50" name="tex_bandwidth" show_text="true" value="500" width="180"/> <slider bottom_delta="-4" left_delta="110" can_edit_text="true" decimal_digits="0" follows="top" height="15" increment="10" initial_val="50" max_val="5000" min_val="50" name="tex_bandwidth" show_text="true" value="500" width="180"/>
<text bottom_delta="4" follows="top" height="10" left_delta="186" name="text_box2">kbps (kilobits per second)</text> <text bottom_delta="4" follows="top" height="10" left_delta="186" name="text_box2">kbps (kilobits per second)</text>
<text bottom_delta="-25" follows="top" height="10" left="12" name="use_http_for">Use HTTP for:</text> <text bottom_delta="-25" follows="top" height="10" left="12" name="use_http_for">Use HTTP for:</text>

View File

@@ -16,7 +16,7 @@
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-45" drop_shadow_visible="true" enabled="true" follows="left|top" bottom="-45" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="20" left="120" font="SansSerifSmall" h_pad="0" halign="left" height="20" left="120"
mouse_opaque="false" name="estate_name_text" v_pad="0" width="150"> mouse_opaque="false" name="estate_name_text" v_pad="0">
mainland mainland
</text> </text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
@@ -28,7 +28,7 @@
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-65" drop_shadow_visible="true" enabled="true" follows="left|top" bottom="-65" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="20" left="120" font="SansSerifSmall" h_pad="0" halign="left" height="20" left="120"
mouse_opaque="false" name="estate_owner_text" v_pad="0" width="150"> mouse_opaque="false" name="estate_owner_text" v_pad="0">
(none) (none)
</text> </text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
@@ -47,8 +47,8 @@
name="covenant_help" right="462" width="18" /> name="covenant_help" right="462" width="18" />
<text_editor type="string" length="1" bottom="-279" embedded_items="false" enabled="false" <text_editor type="string" length="1" bottom="-279" embedded_items="false" enabled="false"
follows="left|top" font="SansSerifSmall" height="194" follows="left|top" font="SansSerifSmall" height="194"
left="120" max_length="65535" mouse_opaque="true" name="covenant_editor" left="15" max_length="65535" mouse_opaque="true" name="covenant_editor"
width="340" word_wrap="true" spell_check="true"> width="443" word_wrap="true" spell_check="true">
There is no Covenant provided for this Estate. There is no Covenant provided for this Estate.
</text_editor> </text_editor>
<button bottom_delta="-25" follows="left|top" font="SansSerifSmall" height="18" <button bottom_delta="-25" follows="left|top" font="SansSerifSmall" height="18"

View File

@@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
border="true"
follows="top|left"
height="300"
label="Environment"
layout="topleft"
help_topic="panel_region_environment_tab"
name="panel_env_info"
width="530">
<text
name="water_settings_title"
follows="top|left"
height="30"
layout="topleft"
left="20"
top_pad="20"
width="430"
wrap="true">
Select the Water and Sky/Day Cycle Settings you would like all visitors to your
region to see. More info
</text>
<view_border
bevel_style="none"
follows="top|left"
height="217"
layout="topleft"
left="20"
name="border"
bottom="-277"
width="430"/>
<radio_group
follows="top|left"
height="45"
layout="topleft"
draw_border="false"
left_delta="10"
name="region_settings_radio_group"
bottom="-112"
width="200">
<radio_item
layout="topleft"
bottom="30"
name="use_sl_default_settings">
Use Second Life default
</radio_item>
<radio_item
layout="topleft"
name="use_my_settings"
bottom_delta="-15">
Use the following settings
</radio_item>
</radio_group>
<panel
follows="top|left"
height="217"
layout="topleft"
left="20"
name="user_environment_settings"
bottom_delta="-217"
width="430">
<text
name="water_settings_title"
follows="top|left"
height="16"
layout="topleft"
left="50"
bottom_delta="-37"
width="160">
Water Setting
</text>
<combo_box
follows="top|left"
height="20"
left_delta="162"
name="water_settings_preset_combo"
bottom_delta="0"
width="200">
<combo_item
name="item0">
-Select a preset-
</combo_item>
</combo_box>
<text
name="sky_dayc_settings_title"
follows="top|left"
height="16"
layout="topleft"
left="50"
bottom_delta="-35"
width="100">
Sky / Day Cycle
</text>
<radio_group
layout="topleft"
draw_border="false"
left_delta="50"
name="sky_dayc_settings_radio_group"
bottom_delta="-60"
height="50"
width="110">
<radio_item
layout="topleft"
bottom="30"
name="my_sky_settings">
Fixed sky
</radio_item>
<radio_item
layout="topleft"
name="my_dayc_settings"
bottom_delta="-15">
Day cycle
</radio_item>
</radio_group>
<combo_box
follows="top|left"
height="20"
left_delta="112"
name="sky_settings_preset_combo"
bottom_delta="30"
width="200">
<combo_item
name="item0">
-Select a preset-
</combo_item>
</combo_box>
<combo_box
follows="top|left"
height="20"
name="dayc_settings_preset_combo"
bottom_delta="-30"
width="200">
<combo_item
name="item0">
-Select a preset-
</combo_item>
</combo_box>
</panel>
<button
follows="left|top"
height="23"
label="Apply"
layout="topleft"
left="240"
name="apply_btn"
bottom_delta="23"
width="100" />
<button
follows="left|top"
height="23"
label="Cancel"
layout="topleft"
left_delta="110"
name="cancel_btn"
bottom_delta="0"
width="100" />
<loading_indicator
width="23" />
<text
follows="left|top"
font="SansSerifHuge"
height="23"
left="50"
name="progress_indicator"
bottom_delta="0"
visible="false"
>
Applying
</text>
</panel>

View File

@@ -1,145 +1,455 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel border="true" bottom="0" follows="top|left" height="320" label="Estate" <panel
left="0" name="Estate" width="480"> border="true"
<text bottom="-46" follows="left|top" font="SansSerifSmall" height="32" left="10" follows="top|left"
name="estate_help_text" width="300"> help_topic="panel_region_estate_tab"
Changes to settings on this tab will affect all label="Estate"
regions in the estate. layout="topleft"
</text> left="0"
<text bottom_delta="-22" follows="left|top" font="SansSerif" height="20" left="10" name="Estate"
name="estate_text" width="80"> bottom="0"
Estate: height="320"
</text> width="480">
<text bottom_delta="-16" follows="left|top" <text
font="SansSerif" height="20" left_delta="0" name="estate_name" type="string"
width="150"> length="1"
(unknown) follows="left|top"
</text> font="SansSerifSmall"
<text bottom_delta="-22" follows="left|top" font="SansSerif" height="20" left="10" height="32"
name="owner_text" width="80"> layout="topleft"
Owner: left="10"
</text> name="estate_help_text"
<text bottom_delta="-16" follows="left|top" bottom="-46"
font="SansSerif" height="20" left_delta="0" name="estate_owner" word_wrap="true"
width="150"> >
(unknown) Changes to settings on this tab will affect all regions in the estate.
</text> </text>
<view_border bevel_style="in" border="true" border_thickness="1" bottom_delta="-295" <text
follows="top|left" height="290" left="6" width="250" /> type="string"
<check_box bottom_delta="265" follows="left|top" height="20" label="Use Global Time" length="1"
left="12" name="use_global_time_check" width="200" /> follows="left|top"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" font="SansSerif"
name="use_global_time_help" right="250" width="18" /> height="20"
<check_box bottom_delta="-20" follows="left|top" height="20" label="Fixed Sun" left="12" layout="topleft"
name="fixed_sun_check" width="100" /> right="160"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" name="estate_text"
name="fixed_sun_help" right="250" width="18" /> bottom_delta="-12"
<icon bottom_delta="-25" follows="left|top" height="20" halign="right"
image_name="icon_day_cycle.tga" left="47" name="daycycle" width="165" /> width="140">
<slider bottom_delta="-25" follows="left|top" height="20" increment="0.001" Estate:
label="Phase" left="12" max_val="30" min_val="6" name="sun_hour_slider" </text>
show_text="false" width="200" /> <text
<check_box bottom_delta="-26" follows="left|top" height="20" label="Allow Public Access" type="string"
left="12" name="externally_visible_check" width="200" /> length="1"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" follows="left|top"
name="externally_visible_help" right="250" width="18" /> font="SansSerif"
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" height="20"
bottom_delta="-18" drop_shadow_visible="true" enabled="true" layout="topleft"
follows="top|left" font="SansSerifSmall" h_pad="0" halign="left" bottom_delta="0"
height="16" left="32" mouse_opaque="true" name="Only Allow" v_pad="0" name="estate_name"
width="278"> left_delta="146">
Restrict Access To: (unknown)
</text> </text>
<check_box bottom_delta="-18" enabled="true" follows="top|left" font="SansSerifSmall" <text
height="16" initial_value="false" type="string"
label="Residents with payment info on file" left_delta="0" length="1"
mouse_opaque="true" name="limit_payment" radio_style="false" follows="left|top"
tool_tip="Ban unidentified residents." width="278" /> font="SansSerif"
<check_box bottom_delta="-18" enabled="true" follows="top|left" font="SansSerifSmall" height="20"
height="16" initial_value="false" label="Age-verified adults" layout="topleft"
left_delta="0" mouse_opaque="true" name="limit_age_verified" left="10"
radio_style="false" name="owner_text"
tool_tip="Ban residents who have not verified their age. See support.secondlife.com for more information." bottom_delta="-21"
width="278" /> halign="right"
<check_box bottom_delta="-22" follows="left|top" height="20" label="Allow Voice Chat" width="150">
left="12" name="voice_chat_check" width="200" /> Estate owner:
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" </text>
name="voice_chat_help" right="250" width="18" /> <text
<check_box bottom_delta="-20" follows="left|top" height="20" label="Allow Direct Teleport" type="string"
left="12" name="allow_direct_teleport" width="80" /> length="1"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" follows="left|top"
name="allow_direct_teleport_help" right="250" width="18" /> font="SansSerif"
<text bottom_delta="-26" follows="left|top" font="SansSerifSmall" height="20" height="20"
left="10" name="abuse_email_text" width="180"> layout="topleft"
Abuse email address: bottom_delta="0"
</text> name="estate_owner"
<line_editor bottom_delta="-16" follows="top|left" height="19" left="15" max_length="254" left_delta="156"
name="abuse_email_address" width="205" /> use_ellipses="true"
<string name="email_unsupported">Feature unsupported</string> width="290">
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" (unknown)
name="abuse_email_address_help" right="250" width="18" /> </text>
<button bottom_delta="-26" enabled="false" follows="left|top" height="20" label="Apply"
name="apply_btn" right="250" width="90" /> <view_border
<button bottom="-468" enabled="true" follows="left|top" height="20" bevel_style="none"
label="Kick User from Estate..." left="8" name="kick_user_from_estate_btn" follows="top|left"
width="250" /> height="95"
<button bottom_delta="23" follows="left|top" height="20" layout="topleft"
label="Send Message To Estate..." left="8" name="message_estate_btn" left="10"
width="250" /> bottom_delta="-100"
<text bottom="-34" follows="left|top" height="20" name="estate_manager_label" width="460" />
right="470" width="200">
Estate Managers: <check_box
</text> follows="left|top"
<button bottom_delta="3" follows="left|top" font="SansSerifSmall" height="18" label="?" height="20"
name="estate_manager_help" right="470" width="18" /> label="Allow Public Access"
<view_border bevel_style="none" border_thickness="1" bottom_delta="-60" follows="top|left" layout="topleft"
height="60" right="470" width="200" /> left="20"
<name_list bottom_delta="0" follows="left|top" height="60" left_delta="0" multi_select="true" name="externally_visible_check"
name="estate_manager_name_list" width="200" /> bottom_delta="70"
<button bottom_delta="-26" enabled="true" follows="left|top" height="20" width="200" />
label="Remove..." name="remove_estate_manager_btn" right="470" width="90" /> <button
<button bottom_delta="0" enabled="true" follows="left|top" height="20" label="Add..." bottom_delta="0"
left="270" name="add_estate_manager_btn" width="90" /> follows="left|top"
<text bottom_delta="-34" follows="left|top" height="20" left_delta="0" font="SansSerifSmall"
name="allow_resident_label" width="200"> height="18"
Allowed Residents: label="?"
</text> name="externally_visible_help"
<button bottom_delta="3" follows="left|top" font="SansSerifSmall" height="18" label="?" left_delta="200"
name="allow_resident_help" right="470" width="18" /> width="18" />
<view_border bevel_style="none" border_thickness="1" bottom_delta="-60" follows="top|left"
height="60" right="470" width="200" /> <check_box
<name_list bottom_delta="0" follows="left|top" height="60" left_delta="0" multi_select="true" follows="left|top"
name="allowed_avatar_name_list" width="200" /> height="20"
<button bottom_delta="-26" enabled="true" follows="left|top" height="20" label="Allow Voice Chat"
label="Remove..." name="remove_allowed_avatar_btn" right="470" width="90" /> layout="topleft"
<button bottom_delta="0" enabled="true" follows="left|top" height="20" label="Add..." left="250"
left="270" name="add_allowed_avatar_btn" width="90" /> name="voice_chat_check"
<text bottom_delta="-34" follows="left|top" height="20" left_delta="0" bottom_delta="0"
name="allow_group_label" width="200"> width="200" />
Allowed Groups: <button
</text> bottom_delta="0"
<button bottom_delta="3" follows="left|top" font="SansSerifSmall" height="18" label="?" follows="left|top"
name="allow_group_help" right="470" width="18" /> font="SansSerifSmall"
<view_border bevel_style="none" border_thickness="1" bottom_delta="-60" follows="top|left" height="18"
height="60" right="470" width="200" /> label="?"
<name_list bottom_delta="0" follows="left|top" height="60" left_delta="0" multi_select="true" name="voice_chat_help"
name="allowed_group_name_list" width="200" /> left_delta="200"
<button bottom_delta="-26" enabled="true" follows="left|top" height="20" width="18" />
label="Remove..." name="remove_allowed_group_btn" right="470" width="90" />
<button bottom_delta="0" enabled="true" follows="left|top" height="20" label="Add..." <check_box
left="270" name="add_allowed_group_btn" width="90" /> follows="left|top"
<text bottom_delta="-34" follows="left|top" height="20" left_delta="0" height="20"
name="ban_resident_label" width="200"> label="Allow Direct Teleport"
Banned Residents: layout="topleft"
</text> left_delta="-200"
<button bottom_delta="3" follows="left|top" font="SansSerifSmall" height="18" label="?" name="allow_direct_teleport"
name="ban_resident_help" right="470" width="18" /> bottom_delta="-20"
<view_border bevel_style="none" border_thickness="1" bottom_delta="-60" follows="top|left" width="80" />
height="60" right="470" width="200" /> <button
<name_list bottom_delta="0" follows="left|top" height="60" left_delta="0" multi_select="true" bottom_delta="0"
name="banned_avatar_name_list" width="200" /> follows="left|top"
<button bottom_delta="-26" enabled="true" follows="left|top" height="20" font="SansSerifSmall"
label="Remove..." name="remove_banned_avatar_btn" right="470" width="90" /> height="18"
<button bottom_delta="0" enabled="true" follows="left|top" height="20" label="Add..." label="?"
left="270" name="add_banned_avatar_btn" width="90" /> name="allow_direct_teleport_help"
left_delta="200"
width="18" />
<button
enabled="false"
follows="left|top"
height="23"
label="Apply"
layout="topleft"
name="apply_btn"
bottom_delta="-38"
left_delta="-200"
width="97" />
<text
type="string"
length="1"
follows="top|left"
font="SansSerifSmall"
height="16"
layout="topleft"
left="20"
name="Only Allow"
bottom_delta="38"
width="278">
Allow access only to Residents who:
</text>
<check_box
follows="top|left"
font="SansSerifSmall"
height="16"
label="Have payment information on file"
layout="topleft"
left_delta="0"
name="limit_payment"
tool_tip="Residents must have payment information on file to access this estate."
bottom_delta="-18"
width="278" />
<check_box
follows="top|left"
font="SansSerifSmall"
height="16"
label="Are age 18 or older"
layout="topleft"
left_delta="0"
name="limit_age_verified"
tool_tip="Residents must be age 18 or older to access this estate. See support.secondlife.com for more information."
bottom_delta="-18"
width="278" />
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
name="estate_manager_label"
bottom_delta="-40"
left="10"
width="200">
Estate Managers:
</text>
<button
bottom_delta="3"
follows="left|top"
font="SansSerifSmall"
height="18"
label="?"
name="estate_manager_help"
left_delta="202"
width="18" />
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left="250"
name="allow_resident_label"
bottom_delta="0"
width="200">
Allowed Residents:
</text>
<button
bottom_delta="3"
follows="left|top"
font="SansSerifSmall"
height="18"
label="?"
name="allow_resident_help"
left_delta="202"
width="18" />
<!-- Estate Managers box -->
<view_border
bevel_style="none"
follows="top|left"
height="71"
layout="topleft"
left="10"
bottom_delta="-76"
width="220" />
<name_list
follows="left|top"
height="71"
layout="topleft"
left_delta="0"
multi_select="true"
name="estate_manager_name_list"
bottom_delta="0"
width="220" />
<!-- Allowed Residents box -->
<view_border
bevel_style="none"
follows="top|left"
height="71"
layout="topleft"
left="250"
bottom_delta="0"
width="220" />
<name_list
follows="left|top"
height="71"
layout="topleft"
left_delta="0"
multi_select="true"
name="allowed_avatar_name_list"
bottom_delta="0"
width="220" />
<!-- Estate Managers buttons -->
<button
follows="left|top"
height="23"
label="Add..."
layout="topleft"
left="10"
name="add_estate_manager_btn"
bottom_delta="-26"
width="97" />
<button
bottom_delta="0"
follows="left|top"
height="23"
label="Remove..."
layout="topleft"
name="remove_estate_manager_btn"
left_delta="123"
width="97" />
<!-- Allowed Residents buttons -->
<button
follows="left|top"
height="23"
left="250"
label="Add..."
layout="topleft"
name="add_allowed_avatar_btn"
bottom_delta="0"
width="97" />
<button
follows="left|top"
height="20"
label="Remove..."
layout="topleft"
name="remove_allowed_avatar_btn"
left_delta="123"
bottom_delta="0"
width="97" />
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left="10"
name="allow_group_label"
bottom_delta="-30"
width="200">
Allowed Groups:
</text>
<button
bottom_delta="3"
follows="left|top"
font="SansSerifSmall"
height="18"
label="?"
name="allow_group_help"
left_delta="202"
width="18" />
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left="250"
name="ban_resident_label"
bottom_delta="0"
width="200">
Banned Residents:
</text>
<button
bottom_delta="3"
follows="left|top"
font="SansSerifSmall"
height="18"
label="?"
name="ban_resident_help"
left_delta="202"
width="18" />
<!-- Allowed Groups box -->
<view_border
bevel_style="none"
follows="top|left"
height="71"
layout="topleft"
left="10"
bottom_delta="-76"
width="220" />
<name_list
follows="left|top"
height="71"
layout="topleft"
left_delta="0"
multi_select="true"
name="allowed_group_name_list"
bottom_delta="0"
width="220" />
<!-- Banned Residents box -->
<view_border
bevel_style="none"
follows="top|left"
height="71"
layout="topleft"
left="250"
bottom_delta="0"
width="220" />
<name_list
follows="left|top"
height="71"
layout="topleft"
left_delta="0"
multi_select="true"
name="banned_avatar_name_list"
bottom_delta="0"
width="220" />
<!-- Allowed Groups buttons -->
<button
follows="left|top"
height="23"
label="Add..."
layout="topleft"
left="10"
name="add_allowed_group_btn"
bottom_delta="-26"
width="97" />
<button
follows="left|top"
height="23"
label="Remove..."
layout="topleft"
name="remove_allowed_group_btn"
left_delta="123"
bottom_delta="0"
width="97" />
<!-- Banned Residents buttons -->
<button
follows="left|top"
height="23"
label="Add..."
layout="topleft"
left="250"
name="add_banned_avatar_btn"
bottom_delta="0"
width="97" />
<button
follows="left|top"
height="23"
label="Remove..."
layout="topleft"
name="remove_banned_avatar_btn"
bottom_delta="0"
left_delta="123"
width="97" />
<button
follows="left|top"
height="23"
label="Send Message To Estate..."
layout="topleft"
left="10"
name="message_estate_btn"
bottom_delta="-43"
width="220" />
<button
follows="left|top"
height="23"
label="Kick Resident from Estate..."
layout="topleft"
left="250"
name="kick_user_from_estate_btn"
bottom_delta="0"
width="220" />
</panel> </panel>

View File

@@ -14,7 +14,7 @@
Version: Version:
</text> </text>
<text bottom_delta="0" follows="left|top" font="SansSerif" height="20" left="60" <text bottom_delta="0" follows="left|top" font="SansSerif" height="20" left="60"
name="version_channel_text" width="200"> name="version_channel_text">
unknown unknown
</text> </text>
<text bottom="-70" follows="left|top" font="SansSerif" height="20" left="10" <text bottom="-70" follows="left|top" font="SansSerif" height="20" left="10"
@@ -22,7 +22,7 @@
Type: Type:
</text> </text>
<text bottom_delta="0" follows="left|top" font="SansSerif" height="20" left="60" <text bottom_delta="0" follows="left|top" font="SansSerif" height="20" left="60"
name="region_type" width="200"> name="region_type">
unknown unknown
</text> </text>
<check_box bottom_delta="-20" follows="left|top" height="20" label="Block Terraform" <check_box bottom_delta="-20" follows="left|top" height="20" label="Block Terraform"

View File

@@ -1,60 +1,466 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel border="true" bottom="0" follows="top|left" height="320" label="Terrain" <panel
left="0" name="Terrain" width="480"> border="true"
<text bottom="-30" follows="left|top" font="SansSerif" height="20" left="10" follows="top|left"
name="region_text_lbl" width="100"> help_topic="panel_region_terrain_tab"
Region: label="Terrain"
</text> layout="topleft"
<text bottom_delta="0" follows="left|top" font="SansSerif" height="20" left="60" left="0"
name="region_text" width="400"> name="Terrain"
unknown bottom="0"
</text> height="320"
<spinner bottom_delta="-30" follows="left|top" height="20" increment=".1" width="480">
label="Water Height" label_width="120" left="15" max_val="100" min_val="0" <text
name="water_height_spin" width="180" /> follows="left|top"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" font="SansSerif"
left="200" name="water_height_help" width="18" /> height="20"
<spinner bottom_delta="-20" follows="left|top" height="20" increment=".2" layout="topleft"
label="Terrain Raise Limit" label_width="120" left="15" max_val="100" left="10"
min_val="0" name="terrain_raise_spin" width="180" /> name="region_text_lbl"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" bottom="-30"
left="200" name="terrain_raise_help" width="18" /> width="100">
<spinner bottom_delta="-20" follows="left|top" height="20" increment=".2" Region:
label="Terrain Lower Limit" label_width="120" left="15" max_val="0" </text>
min_val="-100" name="terrain_lower_spin" width="180" /> <text
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" follows="left|top"
left="200" name="terrain_lower_help" width="18" /> font="SansSerif"
<check_box bottom="-55" follows="left|top" height="20" label="Use Estate Sun" left="250" height="20"
name="use_estate_sun_check" width="100" /> layout="topleft"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" left="60"
left="420" name="use_estate_sun_help" width="18" /> name="region_text"
<check_box bottom_delta="-20" follows="left|top" height="20" label="Fixed Sun" left="250" bottom_delta="0"
name="fixed_sun_check" width="100" /> width="400">
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" unknown
left="420" name="fixed_sun_help" width="18" /> </text>
<icon bottom_delta="-25" follows="left|top" height="20" <spinner
image_name="icon_day_cycle.tga" left="285" name="daycycle" width="165" /> follows="left|top"
<slider bottom_delta="-25" follows="left|top" height="20" increment="0.001" height="20"
label="Phase" left="250" max_val="30" min_val="6" name="sun_hour_slider" increment=".1"
show_text="false" width="200" /> label="Water Height"
<button bottom_delta="-30" enabled="false" follows="left|top" height="20" label="Apply" label_width="120"
left="350" name="apply_btn" width="90" /> layout="topleft"
<view_border bevel_style="none" border_thickness="1" bottom_delta="-5" follows="top|left" left="15"
height="130" left="8" width="460" /> max_val="100"
<button bottom_delta="-80" follows="left|top" height="20" min_val="0"
label="Download RAW terrain..." left="10" name="download_raw_btn" name="water_height_spin"
tool_tip="Available only to estate owners, not managers" width="170" /> bottom="-60"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" width="180" />
left="190" name="download_raw_help" width="18" /> <button
<button bottom_delta="-23" follows="left|top" height="20" label="Upload RAW terrain..." bottom_delta="3"
left="10" name="upload_raw_btn" follows="left|top"
tool_tip="Available only to estate owners, not managers" width="170" /> font="SansSerifSmall"
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" height="18"
left="190" name="upload_raw_help" width="18" /> label="?"
<button bottom_delta="-40" follows="left|top" height="20" label="Bake Terrain" left_delta="182"
left="10" name="bake_terrain_btn" name="water_height_help"
tool_tip="Set current terrain as mid-point for raise/lower limits" width="18" />
width="100" /> <spinner
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?" follows="left|top"
left="120" name="bake_terrain_help" width="18" /> height="20"
increment="0.2"
label="Terrain Raise Limit"
label_width="120"
layout="topleft"
left="240"
max_val="100"
min_val="0"
name="terrain_raise_spin"
bottom="-60"
width="180" />
<button
bottom_delta="3"
follows="left|top"
font="SansSerifSmall"
height="18"
label="?"
left_delta="182"
name="terrain_raise_help"
width="18" />
<spinner
follows="left|top"
height="20"
increment="0.2"
label="Terrain Lower Limit"
label_width="120"
layout="topleft"
left="240"
max_val="0"
min_val="-100"
name="terrain_lower_spin"
bottom_delta="-25"
width="180" />
<button
bottom_delta="3"
follows="left|top"
font="SansSerifSmall"
height="18"
label="?"
left_delta="182"
name="terrain_lower_help"
width="18" />
<view_border
bevel_style="none"
follows="top|left"
height="60"
layout="topleft"
left="8"
bottom_delta="-10"
top="30"
width="460" />
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left="10"
name="detail_texture_text"
bottom_delta="-30"
width="300">
Terrain Textures
</text>
<texture_picker
follows="left|top"
height="100"
layout="topleft"
left_delta="0"
name="texture_detail_0"
bottom_delta="-100"
width="100" />
<texture_picker
follows="left|top"
height="100"
layout="topleft"
left_delta="110"
name="texture_detail_1"
bottom_delta="0"
width="100" />
<texture_picker
follows="left|top"
height="100"
layout="topleft"
left_delta="110"
name="texture_detail_2"
bottom_delta="0"
width="100" />
<texture_picker
follows="left|top"
height="100"
layout="topleft"
left_delta="110"
name="texture_detail_3"
bottom_delta="0"
width="100" />
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left="10"
name="height_text_lbl"
bottom_delta="-10"
width="65">
1 (Low)
</text>
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left_delta="110"
name="height_text_lbl2"
bottom_delta="0"
width="100">
2
</text>
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left_delta="110"
name="height_text_lbl3"
bottom_delta="0"
width="100">
3
</text>
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left_delta="110"
name="height_text_lbl4"
bottom_delta="0"
width="100">
4 (High)
</text>
<text
type="string"
length="1"
follows="left|top"
height="20"
layout="topleft"
left="10"
name="height_text_lbl5"
bottom_delta="-30"
top_delta="30"
width="300">
Texture Elevation Ranges
</text>
<text
follows="left|top"
height="20"
layout="topleft"
left="10"
name="height_text_lbl10"
top_delta="30"
width="200"
word_wrap="true">
These values represent the blend
range for the textures above.
</text>
<text
follows="left|top"
height="60"
layout="topleft"
left_delta="0"
name="height_text_lbl11"
bottom_delta="-80"
top_delta="32"
width="200"
word_wrap="true">
Measured in meters, the LOW value
is the MAXIMUM height of Texture #1,
and the HIGH value is the
MINIMUM height of Texture #4.
</text>
<text
follows="left|top"
height="20"
layout="topleft"
left="270"
name="height_text_lbl6"
bottom="-260"
width="100">
Northwest
</text>
<text
follows="left|top"
height="20"
layout="topleft"
left_delta="110"
name="height_text_lbl7"
bottom_delta="0"
width="100">
Northeast
</text>
<!-- northwest low-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="Low"
label_width="37"
layout="topleft"
left="230"
max_val="500"
min_val="-500"
name="height_start_spin_1"
bottom_delta="-20"
width="100" />
<!-- northeast low-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="Low"
label_width="37"
layout="topleft"
left_delta="110"
max_val="500"
min_val="-500"
name="height_start_spin_3"
bottom_delta="0"
width="100" />
<!-- northwest high-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="High"
label_width="37"
layout="topleft"
left="230"
max_val="500"
min_val="-500"
name="height_range_spin_1"
bottom_delta="-20"
width="100" />
<!-- northeast high-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="High"
label_width="37"
layout="topleft"
left_delta="110"
max_val="500"
min_val="-500"
name="height_range_spin_3"
bottom_delta="0"
width="100" />
<text
follows="left|top"
height="20"
layout="topleft"
left="270"
name="height_text_lbl8"
bottom_delta="-20"
top_pad="10"
width="100">
Southwest
</text>
<text
follows="left|top"
height="20"
layout="topleft"
left_delta="110"
name="height_text_lbl9"
bottom_delta="0"
width="100">
Southeast
</text>
<!-- southwest low-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="Low"
label_width="37"
layout="topleft"
left="230"
max_val="500"
min_val="-500"
name="height_start_spin_0"
bottom_delta="-20"
width="100" />
<!-- southeast low-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="Low"
label_width="37"
layout="topleft"
left_delta="110"
max_val="500"
min_val="-500"
name="height_start_spin_2"
bottom_delta="0"
width="100" />
<!--southwest high-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="High"
label_width="37"
layout="topleft"
left="230"
max_val="500"
min_val="-500"
name="height_range_spin_0"
bottom_delta="-20"
width="100" />
<!-- southeast high-->
<spinner
follows="left|top"
height="20"
increment="0.5"
label="High"
label_width="37"
layout="topleft"
left_delta="110"
max_val="500"
min_val="-500"
name="height_range_spin_2"
bottom_delta="0"
width="100" />
<!-- Terrain Download/Upload/Bake buttons -->
<button
follows="left|top"
height="20"
label="Download RAW terrain..."
font="SansSerifSmall"
layout="topleft"
left="10"
name="download_raw_btn"
tool_tip="Available only to estate owners, not managers"
bottom_delta="-35"
width="140" />
<button
bottom_delta="0"
follows="left|top"
font="SansSerifSmall"
height="20"
label="?"
left_delta="140"
name="download_raw_help"
width="20" />
<button
follows="left|top"
height="20"
label="Upload RAW terrain..."
font="SansSerifSmall"
layout="topleft"
left_delta="30"
bottom_delta="0"
name="upload_raw_btn"
tool_tip="Available only to estate owners, not managers"
width="130" />
<button
bottom_delta="0"
follows="left|top"
font="SansSerifSmall"
height="20"
label="?"
left_delta="130"
name="upload_raw_help"
width="20" />
<button
bottom_delta="0"
follows="left|top"
height="20"
label="Bake Terrain"
font="SansSerifSmall"
layout="topleft"
left_delta="30"
name="bake_terrain_btn"
tool_tip="Set current terrain as mid-point for raise/lower limits"
width="80" />
<button
bottom_delta="0"
follows="left|top"
font="SansSerifSmall"
height="20"
label="?"
left_delta="80"
name="bake_terrain_help"
width="20" />
<button
enabled="true"
follows="left|top"
height="20"
label="Apply"
layout="topleft"
left_delta="-80"
name="apply_btn"
bottom_delta="-40"
width="100" />
</panel> </panel>

View File

@@ -1,98 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel border="true" bottom="0" follows="top|left" height="320"
label="Ground Textures" left="0" name="Textures" width="480">
<text bottom="-30" follows="left|top" font="SansSerif" height="20" left="10"
name="region_text_lbl" width="100">
Region:
</text>
<text bottom_delta="0" follows="left|top" font="SansSerif" height="20" left="60"
name="region_text" width="400">
unknown
</text>
<text bottom_delta="-26" follows="left|top" height="20" left="10"
name="detail_texture_text" width="300">
Terrain Textures
</text>
<texture_picker bottom_delta="-100" follows="left|top" height="100" left="10"
name="texture_detail_0" width="100" />
<texture_picker bottom_delta="0" follows="left|top" height="100" left="120"
name="texture_detail_1" width="100" />
<texture_picker bottom_delta="0" follows="left|top" height="100" left="230"
name="texture_detail_2" width="100" />
<texture_picker bottom_delta="0" follows="left|top" height="100" left="340"
name="texture_detail_3" width="100" />
<text bottom_delta="-10" follows="left|top" height="20" left="10"
name="height_text_lbl" width="65">
1 (Low)
</text>
<text bottom_delta="0" follows="left|top" height="20" left="120"
name="height_text_lbl2" width="100">
2
</text>
<text bottom_delta="0" follows="left|top" height="20" left="230"
name="height_text_lbl3" width="100">
3
</text>
<text bottom_delta="0" follows="left|top" height="20" left="340"
name="height_text_lbl4" width="100">
4 (High)
</text>
<text bottom_delta="-40" follows="left|top" height="20" left="10"
name="height_text_lbl5" width="300">
Texture Elevation Ranges
</text>
<text bottom_delta="-15" follows="left|top" height="20" left="51"
name="height_text_lbl6" width="100">
Southwest
</text>
<text bottom_delta="0" follows="left|top" height="20" left="161"
name="height_text_lbl7" width="100">
Northwest
</text>
<text bottom_delta="0" follows="left|top" height="20" left="271"
name="height_text_lbl8" width="100">
Southeast
</text>
<text bottom_delta="0" follows="left|top" height="20" left="381"
name="height_text_lbl9" width="100">
Northeast
</text>
<spinner bottom_delta="-20" follows="left|top" height="20" increment="0.5" label="Low"
label_width="37" left="10" max_val="500" min_val="-500"
name="height_start_spin_0" width="100" />
<spinner bottom_delta="0" follows="left|top" height="20" increment="0.5" label="Low"
label_width="37" left="120" max_val="500" min_val="-500"
name="height_start_spin_1" width="100" />
<spinner bottom_delta="0" follows="left|top" height="20" increment="0.5" label="Low"
label_width="37" left="230" max_val="500" min_val="-500"
name="height_start_spin_2" width="100" />
<spinner bottom_delta="0" follows="left|top" height="20" increment="0.5" label="Low"
label_width="37" left="340" max_val="500" min_val="-500"
name="height_start_spin_3" width="100" />
<spinner bottom_delta="-20" follows="left|top" height="20" increment="0.5" label="High"
label_width="37" left="10" max_val="500" min_val="-500"
name="height_range_spin_0" width="100" />
<spinner bottom_delta="0" follows="left|top" height="20" increment="0.5" label="High"
label_width="37" left="120" max_val="500" min_val="-500"
name="height_range_spin_1" width="100" />
<spinner bottom_delta="0" follows="left|top" height="20" increment="0.5" label="High"
label_width="37" left="230" max_val="500" min_val="-500"
name="height_range_spin_2" width="100" />
<spinner bottom_delta="0" follows="left|top" height="20" increment="0.5" label="High"
label_width="37" left="340" max_val="500" min_val="-500"
name="height_range_spin_3" width="100" />
<text bottom_delta="-40" follows="left|top" height="20" left="25"
name="height_text_lbl10" width="480">
These values represent the blend range for the textures above.
</text>
<text bottom_delta="-16" follows="left|top" height="20" left="25"
name="height_text_lbl11" width="450">
Measured in meters, the LOW value is the MAXIMUM height of Texture #1,
</text>
<text bottom_delta="-16" follows="left|top" height="20" left="25"
name="height_text_lbl12" width="480">
and the HIGH value is the MINIMUM height of Texture #4.
</text>
<button bottom="10" enabled="false" follows="left|bottom" height="20" label="Apply"
left="350" name="apply_btn" width="100" />
</panel>

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="chat floater" title="Chat Local">
<string name="ringing">
Conectándose con el Chat de Voz...
</string>
<string name="connected">
Conectado
</string>
<string name="unavailable">
El Chat de Voz no está disponible en esta ubicación
</string>
<string name="hang_up">
Desconectado del Chat de Voz
</string>
<string name="IM_logging_string">
-- Habilitado el registro de Mensajes Instantáneos --
</string>
<string name="IM_end_log_string">
-- Fin del Registro --
</string>
<string name="ScriptQuestionCautionChatGranted">
'[OBJECTNAME]', al objeto, propiedad de '[OWNERNAME]', ubicado en [REGIONNAME]: [REGIONPOS], se le ha concedido permiso para: [PERMISSIONS].
</string>
<string name="ScriptQuestionCautionChatDenied">
'[OBJECTNAME]', al objeto, propiedad de '[OWNERNAME]', ubicado en [REGIONNAME]: [REGIONPOS], se le ha denegado permiso para: [PERMISSIONS].
</string>
<string name="ScriptTakeMoney">
Transferir dinero ([CURRENCY]) de tu cuenta
</string>
<string name="ActOnControlInputs">
Actuar en tus controles de entrada
</string>
<string name="RemapControlInputs">
Reconfigurar tus controles de entrada
</string>
<string name="AnimateYourAvatar">
Animar tu Avatar
</string>
<string name="AttachToYourAvatar">
Anexarse a tu Avatar
</string>
<string name="ReleaseOwnership">
Liberar propiedad y volverse público
</string>
<string name="LinkAndDelink">
Enlazar y desenlazar de otros objetos
</string>
<string name="AddAndRemoveJoints">
Agregar y quitar uniones con otros objetos
</string>
<string name="ChangePermissions">
Cambiar sus propios permisos
</string>
<string name="TrackYourCamera">
Seguir tu cámara
</string>
<string name="TeleportYourAgent">
Teleportarte
</string>
<string name="ControlYourCamera">
Controlar tu cámara
</string>
<layout_stack name="panels">
<layout_panel name="im_contents_panel">
<combo_box label="Gestos" name="Gesture">
<combo_item name="Gestures">
Gestos
</combo_item>
</combo_box>
<check_box label="Mostrar Texto Ignorado" left_delta="124" name="show mutes" width="116"/>
<!--check_box bottom_delta="-15" enabled="true" follows="left|top" font="SansSerifSmall" height="20" initial_value="false" label="Translate Chat (powered by Google)" name="translate chat" width="100"/-->
<button label="Abrir Historial" name="chat_history_open" tool_tip="Pulsa aquí para abrir el historial en un editor externo."/>
<button label="&lt; &lt;" label_selected="&gt; &gt;" name="toggle_active_speakers_btn" tool_tip="Pulsa aquí para mostrar/ocultar la lista de participantes activos en esta sesión de MI." width="80"/>
<panel name="chat_panel">
<string name="gesture_label">
Gestos
</string>
</panel>
</layout_panel>
<layout_panel name="active_speakers_panel"/>
</layout_stack>
</floater>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<multi_floater name="floater_chatterbox" title="Comunicarse"> <multi_floater name="floater_chatterbox" title="Comunicarse">
<tab_container name="chatterbox_tabs"/> <tab_container name="chatterbox_tabs"/>
</multi_floater>1 </multi_floater>

View File

@@ -6,6 +6,7 @@ que puedes descargar desde el sitio de Imprudence.
Selecciona el diccionario que deseas tener para instalar Selecciona el diccionario que deseas tener para instalar
y luego presiona el botón Descargar y luego presiona el botón Descargar
</text>
<combo_box name="Emerald_combo_dics" tool_tip=""/> <combo_box name="Emerald_combo_dics" tool_tip=""/>
<button label="Descargar" name="Emerald_dic_download"/> <button label="Descargar" name="Emerald_dic_download"/>
</floater> </floater>

View File

@@ -82,7 +82,7 @@
"http://secondlife.com/app/search/index.php?" "http://secondlife.com/app/search/index.php?"
</string> </string>
</panel> </panel>
<panel label="Clasificadosname="classified_panel"> <panel label="Clasificados" name="classified_panel">
<string name="searching_text"> <string name="searching_text">
Buscando... Buscando...
</string> </string>
@@ -95,7 +95,6 @@
<check_box label="Contenido PG" name="incpg"/> <check_box label="Contenido PG" name="incpg"/>
<check_box label="Contenido Mature" name="incmature"/> <check_box label="Contenido Mature" name="incmature"/>
<check_box label="Contenido Adult" name="incadult"/> <check_box label="Contenido Adult" name="incadult"/>
<combo_box name="Category">
<combo_box name="Category"> <combo_box name="Category">
<combo_item name="AnyCategory"> <combo_item name="AnyCategory">
Cualquier Categoría Cualquier Categoría

View File

@@ -36,6 +36,7 @@
<layout_panel name="im_contents_panel" width="495"> <layout_panel name="im_contents_panel" width="495">
<button label="Enviar" left="435" name="send_btn" width="60"/> <button label="Enviar" left="435" name="send_btn" width="60"/>
</layout_panel> </layout_panel>
</layout_stack>
<string name="live_help_dialog"> <string name="live_help_dialog">
*** Bienvenido a la Petición de Ayuda *** *** Bienvenido a la Petición de Ayuda ***
Por favor, en primer lugar revisa nuestras páginas de ayuda de SL pulsando F1, o accede a la Base de Conocimientos http://secondlife.com/knowledgebase/ Por favor, en primer lugar revisa nuestras páginas de ayuda de SL pulsando F1, o accede a la Base de Conocimientos http://secondlife.com/knowledgebase/

View File

@@ -73,7 +73,7 @@
<text name="MaxAltText"> <text name="MaxAltText">
Altitud Máx. Altitud Máx.
</text> </text>
<button label="?" name="WLMaxAltitudeHelp"> <button label="?" name="WLMaxAltitudeHelp"/>
<slider label="" name="WLMaxAltitude"/> <slider label="" name="WLMaxAltitude"/>
</panel> </panel>
<panel label="Iluminación" name="Lighting"> <panel label="Iluminación" name="Lighting">
@@ -93,7 +93,7 @@
<text name="BHText4"> <text name="BHText4">
I I
</text> </text>
<slider label=""name="WLSunlightR"/> <slider label="" name="WLSunlightR"/>
<slider label="" name="WLSunlightG"/> <slider label="" name="WLSunlightG"/>
<slider label="" name="WLSunlightB"/> <slider label="" name="WLSunlightB"/>
<slider label="" name="WLSunlightI"/> <slider label="" name="WLSunlightI"/>
@@ -115,7 +115,7 @@
<text name="BHText7"> <text name="BHText7">
B B
</text> </text>
<textname="BHText8"> <text name="BHText8">
I I
</text> </text>
<slider label="" name="WLAmbientR" /> <slider label="" name="WLAmbientR" />

View File

@@ -20,10 +20,10 @@ residentes'.
</string> </string>
<string name="already_in_group"> <string name="already_in_group">
Algunos de los residentes que has seleccionado ya están en el grupo y no se les ha enviado la invitación. Algunos de los residentes que has seleccionado ya están en el grupo y no se les ha enviado la invitación.
<string> </string>
<string name="invite_selection_too_large"> <string name="invite_selection_too_large">
No se han enviado las invitaciones al grupo: Demasiados residentes seleccionados. Las invitaciones al Grupo están limitadas a 100 por envío. No se han enviado las invitaciones al grupo: Demasiados residentes seleccionados. Las invitaciones al Grupo están limitadas a 100 por envío.
<string> </string>
<string name="loading"> <string name="loading">
(cargando...) (cargando...)
</string> </string>

View File

@@ -88,13 +88,16 @@
<combo_item name="English"> <combo_item name="English">
English(Inglés) English(Inglés)
</combo_item> </combo_item>
<!-- After "System Default" and "English", please keep the rest of these combo_items in alphabetical order by the first character in the string.--> <!-- After "System Default" and "English", please keep the rest of these combo_items in alphabetical order by the first character in the string.-->
<combo_item name="Spanish"> <combo_item name="Spanish">
Español Español
</combo_item> </combo_item>
<combo_item name="French"> <combo_item name="French">
Français(Francés) Français(Francés)
</combo_item> </combo_item>
<combo_item name="Portugese">
Portugués(Portugués)
</combo_item>
<!-- Also, with the above advice in mind, keep completed UI translations above this line.--> <!-- Also, with the above advice in mind, keep completed UI translations above this line.-->
<combo_item name="Danish"> <combo_item name="Danish">
Dansk(Danés)* Dansk(Danés)*
@@ -114,9 +117,6 @@
<combo_item name="Polish"> <combo_item name="Polish">
Polski(Polaco)* Polski(Polaco)*
</combo_item> </combo_item>
<combo_item name="Portugese">
Portugués(Portugués)
</combo_item>
<combo_item name="Russian"> <combo_item name="Russian">
Русский(Ruso)* Русский(Ruso)*
</combo_item> </combo_item>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Entorno" name="panel_env_info">
<text name="water_settings_title">
Selecciona la configuración de agua y cielo/ciclo del día que deseas que vean todos los visitantes de tu región. Más información
</text>
<radio_group name="region_settings_radio_group">
<radio_item name="use_sl_default_settings">Usar los valores predeterminados de Second Life</radio_item>
<radio_item name="use_my_settings">Usar la configuración siguiente</radio_item>
</radio_group>
<panel name="user_environment_settings">
<text name="water_settings_title">
Configuración de agua
</text>
<combo_box name="water_settings_preset_combo">
<combo_item name="item0">-Selecciona un valor predefinido-</combo_item>
</combo_box>
<text name="sky_dayc_settings_title">
Cielo/Ciclo del día
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item name="my_sky_settings">Cielo invariable</radio_item>
<radio_item name="my_dayc_settings">Ciclo del día</radio_item>
</radio_group>
<combo_box name="sky_settings_preset_combo">
<combo_item name="item0">-Selecciona un valor predefinido-</combo_item>
</combo_box>
<combo_box name="dayc_settings_preset_combo">
<combo_item name="item0">-Selecciona un valor predefinido-</combo_item>
</combo_box>
</panel>
<button label="Aplicar" name="apply_btn"/>
<button label="Cancelar" name="cancel_btn"/>
</panel>

View File

@@ -1,69 +1,68 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Estado" name="Estate"> <panel label="Estado" name="Estate">
<text name="estate_help_text"> <text name="estate_help_text">
Los cambios de configuración en esta pestaña En esta pestaña, los cambios en la configuración afectarán a todas las regiones del estado.
afectarán a todas las regiones en este estado.
</text> </text>
<text name="estate_text"> <text name="estate_text">
Estado: Estado:
</text> </text>
<text name="estate_name"> <text name="estate_name">
(ninguno) (desconocido)
</text> </text>
<text name="owner_text"> <text name="owner_text">
Propietario: Propietario del estado:
</text> </text>
<text name="estate_owner"> <text name="estate_owner">
(desconocido) (desconocido)
</text> </text>
<check_box label="Usar Tiempo Global" name="use_global_time_check"/> <check_box label="Usar el horario global" name="use_global_time_check"/>
<button label="?" name="use_global_time_help"/> <button label="?" name="use_global_time_help"/>
<check_box label="Sol Fijo" name="fixed_sun_check"/> <check_box label="Fijar el Sol" name="fixed_sun_check"/>
<button label="?" name="fixed_sun_help"/> <button label="?" name="fixed_sun_help"/>
<slider label="Fase" name="sun_hour_slider"/> <slider label="Fase" name="sun_hour_slider"/>
<check_box label="Permitir Acceso Público" name="externally_visible_check"/> <check_box label="Permitir el acceso público" name="externally_visible_check"/>
<button label="?" name="externally_visible_help"/> <button label="?" name="externally_visible_help"/>
<text name="Only Allow"> <text name="Only Allow">
Acceso Restringido para: Permitir únicamente el acceso a los Residentes que:
</text> </text>
<check_box label="Residentes con información de pago en Archivo" name="limit_payment" tool_tip="Prohibir residentes sin identificar"/> <check_box label="Han aportado la información de pago." name="limit_payment" tool_tip="Para poder acceder a este estado los Residentes deben haber aportado información de pago en su cuenta. Para más información, ver support.secondlife.com."/>
<check_box label="Adultos con edad verificada" name="limit_age_verified" tool_tip="Prohibir residentes que no hayan verificado su edad. Ver support.secondlife.com para mayor información."/> <check_box label="Son mayores de 18 años" name="limit_age_verified" tool_tip="Para poder acceder a este estado, los Residentes deben ser mayores de 18 años. Para más información, consulta support.secondlife.com."/>
<check_box label="Permitir Chat de Voz" name="voice_chat_check"/> <check_box label="Permitir el chat de voz" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/> <button label="?" name="voice_chat_help"/>
<check_box label="Permitir Teleporte Directo" name="allow_direct_teleport"/> <check_box label="Permitir el teleporte a cualquier punto" name="allow_direct_teleport"/>
<button label="?" name="allow_direct_teleport_help"/> <button label="?" name="allow_direct_teleport_help"/>
<text name="abuse_email_text"> <text name="abuse_email_text" width="260">
Dirección de email par Reportes: Dirección de correo-e para infracciones:
</text> </text>
<string name="email_unsupported"> <string name="email_unsupported">
Característica no soportada Característica no disponible
</string> </string>
<button label="?" name="abuse_email_address_help"/> <button label="?" name="abuse_email_address_help"/>
<button label="Aplicar" name="apply_btn"/> <button label="Aplicar" name="apply_btn"/>
<button label="Expulsar usuario del estado..." name="kick_user_from_estate_btn"/> <button label="Expulsar a un Residente del estado..." name="kick_user_from_estate_btn"/>
<button label="Enviar Mensaje al Estado..." name="message_estate_btn"/> <button label="Enviar un mensaje al estado..." name="message_estate_btn"/>
<text name="estate_manager_label"> <text name="estate_manager_label">
Administradores del Estado: Administradores del estado:
</text> </text>
<button label="?" name="estate_manager_help"/> <button label="?" name="estate_manager_help"/>
<button label="Quitar..." name="remove_estate_manager_btn"/> <button label="Quitar..." name="remove_estate_manager_btn"/>
<button label="Añadir..." name="add_estate_manager_btn"/> <button label="Añadir..." name="add_estate_manager_btn"/>
<text name="allow_resident_label"> <text name="allow_resident_label">
Residentes Permitidos: Residentes autorizados:
</text> </text>
<button label="?" name="allow_resident_help"/> <button label="?" name="allow_resident_help"/>
<button label="Quitar..." name="remove_allowed_avatar_btn"/> <button label="Quitar..." name="remove_allowed_avatar_btn"/>
<button label="Add..." name="add_allowed_avatar_btn"/> <button label="Añadir..." name="add_allowed_avatar_btn"/>
<text name="allow_group_label"> <text name="allow_group_label">
Grupos Permitidos: Grupos autorizados:
</text> </text>
<button label="?" name="allow_group_help"/> <button label="?" name="allow_group_help"/>
<button label="Quitar..." name="remove_allowed_group_btn"/> <button label="Quitar..." name="remove_allowed_group_btn"/>
<button label="Añadir..." name="add_allowed_group_btn"/> <button label="Añadir..." name="add_allowed_group_btn"/>
<text name="ban_resident_label"> <text name="ban_resident_label">
Residentes Prohibidos: Residentes con el acceso prohibido:
</text> </text>
<button label="?" name="ban_resident_help"/> <button label="?" name="ban_resident_help" right="476"/>
<button label="Quitar..." name="remove_banned_avatar_btn"/> <button label="Quitar..." name="remove_banned_avatar_btn"/>
<button label="Añadir..." name="add_banned_avatar_btn"/> <button label="Añadir..." name="add_banned_avatar_btn"/>
</panel> </panel>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Terreno" name="Terrain"> <panel label="Terreno" name="Terrain">
<text name="region_text_lbl"> <text name="region_text_lbl">
Región: Región:
@@ -6,22 +6,61 @@
<text name="region_text"> <text name="region_text">
desconocida desconocida
</text> </text>
<spinner label="Altura del Agua" name="water_height_spin"/> <spinner label="Nivel del agua" name="water_height_spin"/>
<button label="?" name="water_height_help"/> <spinner label="Límite de elevación
<spinner label="Límite de elevación del Terreno" label_width="120" name="terrain_raise_spin"/> del terreno" name="terrain_raise_spin"/>
<button label="?" name="terrain_raise_help"/> <spinner bottom_delta="-34" label="Límite de bajada del
<spinner label="Límite de bajada del Terreno" label_width="120" name="terrain_lower_spin"/> terreno" name="terrain_lower_spin"/>
<button label="?" name="terrain_lower_help"/> <text name="detail_texture_text">
<check_box label="Usar Sol del Estado" name="use_estate_sun_check"/> Texturas del terreno
<button label="?" name="use_estate_sun_help"/> </text>
<check_box label="Sol Fijo" name="fixed_sun_check"/> <text name="height_text_lbl">
<button label="?" name="fixed_sun_help"/> 1 (bajo)
<slider label="Fase" name="sun_hour_slider"/> </text>
<text name="height_text_lbl2">
2
</text>
<text name="height_text_lbl3">
3
</text>
<text name="height_text_lbl4">
4 (alto)
</text>
<text name="height_text_lbl5">
Intervalos de elevación de textura
</text>
<text name="height_text_lbl10">
Estos valores representan la gama
de mezclas para las texturas anteriores.
</text>
<text name="height_text_lbl11">
El valor BAJA mide en metros
la altura MÁXIMA de la textura n.º 1,
y el valor ALTA es la altura
MÍNIMA de la textura n.º 4.
</text>
<text name="height_text_lbl6">
Noroeste
</text>
<text name="height_text_lbl7">
Noreste
</text>
<spinner label="Bajo" name="height_start_spin_1"/>
<spinner label="Bajo" name="height_start_spin_3"/>
<spinner label="Alto" name="height_range_spin_1"/>
<spinner label="Alto" name="height_range_spin_3"/>
<text name="height_text_lbl8">
Suroeste
</text>
<text name="height_text_lbl9">
Sureste
</text>
<spinner label="Bajo" name="height_start_spin_0"/>
<spinner label="Bajo" name="height_start_spin_2"/>
<spinner label="Alto" name="height_range_spin_0"/>
<spinner label="Alto" name="height_range_spin_2"/>
<button label="Descargar el RAW del terreno..." name="download_raw_btn" tool_tip="Disponible sólo para los propietarios del estado, no para los administradores" width="230"/>
<button label="Subir un RAW para el terreno..." name="upload_raw_btn" tool_tip="Disponible sólo para los propietarios del estado, no para los administradores" width="230"/>
<button label="Predeterminar este terreno" name="bake_terrain_btn" tool_tip="Definir el terreno actual como punto medio para los límites de elevación/bajada" width="230"/>
<button label="Aplicar" name="apply_btn"/> <button label="Aplicar" name="apply_btn"/>
<button label="Descargar el RAW del terreno..." name="download_raw_btn" tool_tip="Disponible sólo para propietarios de estado, no para los administradores"/>
<button label="?" name="download_raw_help"/>
<button label="Subir un RAW de terreno..." name="upload_raw_btn" tool_tip="Disponible sólo para propietarios de estado, no para los administradores"/>
<button label="?" name="upload_raw_help"/>
<button label="Predeterminar Terreno" name="bake_terrain_btn" tool_tip="Definir el terreno actual como punto medio para los límites de elevación/bajada"/>
<button label="?" name="bake_terrain_help"/>
</panel> </panel>

View File

@@ -1,57 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel label="Texturas del Terreno" name="Textures">
<text name="region_text_lbl">
Región:
</text>
<text name="region_text">
desconocida
</text>
<text name="detail_texture_text">
Texturas del Terreno
</text>
<text name="height_text_lbl">
1 (baja)
</text>
<text name="height_text_lbl2">
2
</text>
<text name="height_text_lbl3">
3
</text>
<text name="height_text_lbl4">
4 (Alta)
</text>
<text name="height_text_lbl5">
Rangos de elevación de la Textura
</text>
<text name="height_text_lbl6">
Suroeste
</text>
<text name="height_text_lbl7">
Noroeste
</text>
<text name="height_text_lbl8">
Sudeste
</text>
<text name="height_text_lbl9">
Noreste
</text>
<spinner label="Baja" name="height_start_spin_0"/>
<spinner label="Baja" name="height_start_spin_1"/>
<spinner label="Baja" name="height_start_spin_2"/>
<spinner label="Baja" name="height_start_spin_3"/>
<spinner label="Alta" name="height_range_spin_0"/>
<spinner label="Alta" name="height_range_spin_1"/>
<spinner label="Alta" name="height_range_spin_2"/>
<spinner label="Alta" name="height_range_spin_3"/>
<text name="height_text_lbl10">
Estos valores representan la gama de mezclas para las texturas superiores.
</text>
<text name="height_text_lbl11">
Medido en metros, el valor BAJA es la altura MÁXIMA de la textura #1,
</text>
<text name="height_text_lbl12">
y el valor ALTA es la altura MÍNIMA de la textura #4.
</text>
<button label="Aplicar" name="apply_btn"/>
</panel>

View File

@@ -3319,7 +3319,7 @@ Si continuas recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Butt Gravity">Gravedad de Nalgas</string> <string name="Butt Gravity">Gravedad de Nalgas</string>
<string name="bustle skirt">Movimiento de Falda</string> <string name="bustle skirt">Movimiento de Falda</string>
<string name="no bustle">Sin Movimiento</string> <string name="no bustle">Sin Movimiento</string>
<string name="more bustle">Más MovimientoMore Bustlestring> <string name="more bustle">Más Movimiento</string>
<string name="Chaplin">Chaplin</string> <string name="Chaplin">Chaplin</string>
<string name="Cheek Bones">Huesos de la Mejilla</string> <string name="Cheek Bones">Huesos de la Mejilla</string>
@@ -3924,7 +3924,7 @@ Denuncia</string>
<string name="New Shape">Nuevo Cuerpo</string> <string name="New Shape">Nuevo Cuerpo</string>
<string name="New Skin">Nueva Piel</string> <string name="New Skin">Nueva Piel</string>
<string name="New Hair">Nuevo Pelo</string> <string name="New Hair">Nuevo Pelo</string>
<string name="New Eyes">Nuevos OjosNew Eyesstring> <string name="New Eyes">Nuevos Ojos</string>
<string name="New Shirt">Nueva Camisa</string> <string name="New Shirt">Nueva Camisa</string>
<string name="New Pants">Nuevos Pantalones</string> <string name="New Pants">Nuevos Pantalones</string>
<string name="New Shoes">Nuevos Zapatos</string> <string name="New Shoes">Nuevos Zapatos</string>

View File

@@ -17,6 +17,6 @@
<check_box label="Entorno de Región" control_name="UseEnvironmentFromRegion" name="use_estate_wl" tool_tip="Usar la configuración de entorno de la región/parcela cuando esté disponible."/> <check_box label="Entorno de Región" control_name="UseEnvironmentFromRegion" name="use_estate_wl" tool_tip="Usar la configuración de entorno de la región/parcela cuando esté disponible."/>
<!-- <check_box label="¿Siempre?" control_name="UseEnvironmentFromRegionAlways" name="Always" tool_tip="Usar siempre la configuración de la región/parcela, cuando exista, en forma automática."/> --> <!-- <check_box label="¿Siempre?" control_name="UseEnvironmentFromRegionAlways" name="Always" tool_tip="Usar siempre la configuración de la región/parcela, cuando exista, en forma automática."/> -->
<check_box label="¿Transición?" name="Crossfade" tool_tip="Si está desmarcado, los cambios del cielo en Windlight se aplicarán inmediatamente, sin transiciones."/> <check_box label="¿Transición?" name="Crossfade" tool_tip="Si está desmarcado, los cambios del cielo en Windlight se aplicarán inmediatamente, sin transiciones."/>
<slider control_name="EnvTimeSlider" label=""name="EnvTimeSlider"/> <slider control_name="EnvTimeSlider" label="" name="EnvTimeSlider"/>
<button label="" name="expand" tool_tip="Ocultar el Panel de Configuraciones"/> <button label="" name="expand" tool_tip="Ocultar el Panel de Configuraciones"/>
</panel> </panel>

View File

@@ -136,7 +136,7 @@
En train de voler En train de voler
</combo_item> </combo_item>
</combo_box> </combo_box>
<spinner label="Transition &#10;début (s)"label_width="65" name="ease_in_time" tool_tip="Durée (en secondes) pendant laquelle l'animation s'intègre au mouvement."/> <spinner label="Transition &#10;début (s)" label_width="65" name="ease_in_time" tool_tip="Durée (en secondes) pendant laquelle l'animation s'intègre au mouvement."/>
<spinner label="Transition &#10;fin (s)" label_width="65" name="ease_out_time" tool_tip="Durée (en secondes) pendant laquelle l'animation disparaît du mouvement." left="160" width="125"/> <spinner label="Transition &#10;fin (s)" label_width="65" name="ease_out_time" tool_tip="Durée (en secondes) pendant laquelle l'animation disparaît du mouvement." left="160" width="125"/>
<button label="" name="play_btn" tool_tip="Jouer/Arrêter votre animation." bottom_delta="-48"/> <button label="" name="play_btn" tool_tip="Jouer/Arrêter votre animation." bottom_delta="-48"/>
<button label="" name="stop_btn" tool_tip="Arrêter le playback"/> <button label="" name="stop_btn" tool_tip="Arrêter le playback"/>

View File

@@ -110,8 +110,8 @@
Extraction des donn&#xE9;es du r&#xE9;sident en cours... Extraction des donn&#xE9;es du r&#xE9;sident en cours...
</string> </string>
<string name="confirm_group_create_str"> <string name="confirm_group_create_str">
La cr&#xE9;ation de ce groupe co<EFBFBD>te [GROUPCREATEFEE]. La cr&#xE9;ation de ce groupe co&#251;te [GROUPCREATEFEE].
Etes-vous sûr(e) des chez sûr mais vraimeeeeent SUR de vouloir d&#xE9;penser [GROUPCREATEFEE] pour cr&#xE9;er ce groupe? Etes-vous sûr(e) des chez sûr mais vraimeeeeent SUR de vouloir d&#xE9;penser [GROUPCREATEFEE] pour cr&#xE9;er ce groupe?
Sachez que si personne ne rejoint ce groupe sous 48h, il sera d&#xE9;mantel&#xE9; et ne pourra plus <EFBFBD>tre utilis&#xE9;. Sachez que si personne ne rejoint ce groupe sous 48h, il sera d&#xE9;mantel&#xE9; et ne pourra plus &#234;tre utilis&#xE9;.
</string> </string>
</panel> </panel>

View File

@@ -222,6 +222,6 @@ ou abstenez-vous en cliquant sur M&apos;abstenir.
Votre vote a bien &#xE9;t&#xE9; re&#xE7;u. Votre vote a bien &#xE9;t&#xE9; re&#xE7;u.
</string> </string>
<string name="vote_previously_recorded"> <string name="vote_previously_recorded">
Vous avez d&#xE9;j<EFBFBD> vot&#xE9;. Vous ne pouvez voter qu&apos;une seule fois par proposition. Vous avez d&#xE9;j&#224; vot&#xE9;. Vous ne pouvez voter qu&apos;une seule fois par proposition.
</string> </string>
</panel> </panel>

View File

@@ -48,15 +48,17 @@ de sélection :
<combo_box name="language_combobox" width="166"> <combo_box name="language_combobox" width="166">
<combo_item name="System Default Language">Choix par défaut</combo_item> <combo_item name="System Default Language">Choix par défaut</combo_item>
<combo_item name="English">English (Anglais)</combo_item> <combo_item name="English">English (Anglais)</combo_item>
<combo_item name="Danish">Dansk (Danois) - Bêta</combo_item> <!-- After "System Default" and "English", please keep the rest of these combo_items in alphabetical order by the first character in the string.-->
<combo_item name="Deutsch(German)">Deutsch (Allemand) - Bêta</combo_item>
<combo_item name="Spanish">Español (Espagnol)</combo_item> <combo_item name="Spanish">Español (Espagnol)</combo_item>
<combo_item name="French">Français</combo_item> <combo_item name="French">Français</combo_item>
<combo_item name="Portugese">Portugués (Portugais)</combo_item>
<!-- Also, with the above advice in mind, keep completed UI translations above this line.-->
<combo_item name="Danish">Dansk (Danois) - Bêta</combo_item>
<combo_item name="Deutsch(German)">Deutsch (Allemand) - Bêta</combo_item>
<combo_item name="Italian">Italiano (Italien) - Bêta</combo_item> <combo_item name="Italian">Italiano (Italien) - Bêta</combo_item>
<combo_item name="Hungarian">Magyar (Hongrois) - Bêta</combo_item> <combo_item name="Hungarian">Magyar (Hongrois) - Bêta</combo_item>
<combo_item name="Dutch">Nederlands (Néerlandais) - Bêta</combo_item> <combo_item name="Dutch">Nederlands (Néerlandais) - Bêta</combo_item>
<combo_item name="Polish">Polski (Polonais) - Bêta</combo_item> <combo_item name="Polish">Polski (Polonais) - Bêta</combo_item>
<combo_item name="Portugese">Portugués (Portugais)</combo_item>
<combo_item name="Russian">Русский (Russe) - Bêta</combo_item> <combo_item name="Russian">Русский (Russe) - Bêta</combo_item>
<combo_item name="Turkish">Türkçe (Turc) - Bêta</combo_item> <combo_item name="Turkish">Türkçe (Turc) - Bêta</combo_item>
<combo_item name="Ukrainian">Українська (Ukrainien) - Bêta</combo_item> <combo_item name="Ukrainian">Українська (Ukrainien) - Bêta</combo_item>

View File

@@ -1,44 +1,38 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Réseau" name="network"> <panel label="Réseau" name="network">
<text name="text_box"> <text name="text_box">Bande passante max:</text>
Bande passante maximale: <text name="text_box2">kbps (kilobits par seconde)</text>
</text> <text name="text_box3">Bande passante de la texture:</text>
<text name="text_box2"> <slider left_delta="150" name="tex_bandwidth" width="140"/>
kbps (kilobits par seconde) <text left_delta="146" name="text_box2">kbps (kilobits par seconde)</text>
</text> <text name="use_http_for">Utiliser HTTP pour:</text>
<text name="cache_size_label_l"> <check_box left_delta="100" label="Textures" name="http_textures"/>
Taille de la mémoire cache: <check_box label="Inventaire" name="http_inventory"/>
</text> <text name="cache_size_label_l">Taille du cache:</text>
<text name="text_box5"> <text name="text_box5">Mo</text>
Mo
</text>
<button label="Vider la mémoire cache" label_selected="Vider le cache" name="clear_cache" width="150"/> <button label="Vider la mémoire cache" label_selected="Vider le cache" name="clear_cache" width="150"/>
<text name="cache_location_label"> <text name="cache_location_label">Emplacement du cache:</text>
Emplacement du cache:
</text>
<button label="Modifier" label_selected="Modifier" name="set_cache"/> <button label="Modifier" label_selected="Modifier" name="set_cache"/>
<button label="Réinitialiser" label_selected="Réinitialiser" name="reset_cache"/> <button label="Réinitialiser" label_selected="Réinitialiser" name="reset_cache"/>
<check_box label="Port de connexion personnalisé" name="connection_port_enabled"/> <check_box label="Port de connexion personnalisé" name="connection_port_enabled"/>
<spinner label="Numéro de port:" label_width="95" name="connection_port" width="170"/> <spinner label="Numéro de port:" label_width="95" name="connection_port" width="170"/>
<text name="socks5_auth_label">Proxy Http:</text>
<radio_group name="socks5_http_proxy_type">
<text bottom_delta="-24" height="10" left="12" name="socks5_auth_label">Proxy Http:</text> <radio_item name="None">aucun</radio_item>
<radio_group bottom_delta="-8" height="20" left="12" name="socks5_http_proxy_type" width="380" > <radio_item name="Socks">Socks</radio_item>
<radio_item left="100" name="None" width="50">aucun</radio_item> <radio_item name="Web">Web</radio_item>
<radio_item left="170" name="Socks" width="50">Socks</radio_item>
<radio_item left="250" name="Web" width="50">Web</radio_item>
</radio_group> </radio_group>
<check_box bottom_delta="-24" height="16" label="Activer SOCKS 5 Proxy" left="6" name="socks5_proxy_enabled" width="256"/> <check_box label="Activer SOCKS 5 Proxy" name="socks5_proxy_enabled"/>
<text bottom_delta="-26" height="10" left="12" name="socks5_host_label">H&#xF4;te Socks 5:</text> <text name="socks5_host_label">H&#xF4;te Socks 5:</text>
<line_editor bottom_delta="-6" left="90" name="socks5_proxy_host" tool_tip="" width="311"/> <line_editor name="socks5_proxy_host" tool_tip=""/>
<spinner bottom_delta="-30" height="16" label="Numéro de port:" label_width="80" name="socks5_proxy_port" width="140"/> <spinner label="Numéro de port:" label_width="80" name="socks5_proxy_port"/>
<text bottom_delta="-20" height="10" left="12" name="socks5_auth_label2">Authentification:</text> <text name="socks5_auth_label2">Authentification:</text>
<radio_group bottom_delta="-6" name="socks5_auth" width="420"> <radio_group name="socks5_auth">
<radio_item left_delta="80" name="None" tool_tip="">aucune</radio_item> <radio_item name="None" tool_tip="">aucune</radio_item>
<radio_item left_delta="50" name="UserPass" tool_tip="">Nom/Mot de passe</radio_item> <radio_item name="UserPass" tool_tip="">Nom/Mot de passe</radio_item>
</radio_group> </radio_group>
<text bottom_delta="-22" height="10" left="12" name="socks5_username_label">Nom:</text> <text name="socks5_username_label">Nom:</text>
<line_editor bottom_delta="-8" left="90" name="socks5_proxy_username" width="311"/> <line_editor name="socks5_proxy_username"/>
<text bottom_delta="-20" left="12" name="socks5_password_label">Mot de Passe:</text> <text name="socks5_password_label">Mot de Passe:</text>
<line_editor bottom_delta="-8" left="90" name="socks5_proxy_password" width="311"/> <line_editor name="socks5_proxy_password"/>
</panel> </panel>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Environnement" name="panel_env_info">
<text name="water_settings_title">
Sélectionnez les réglages d&apos;eau et de ciel/cycle du jour que vous souhaitez afficher pour tous les résidents visitant votre région. En savoir plus
</text>
<radio_group name="region_settings_radio_group">
<radio_item name="use_sl_default_settings">Utiliser les réglages par défaut de Second Life</radio_item>
<radio_item name="use_my_settings">Utiliser les réglages suivants</radio_item>
</radio_group>
<panel name="user_environment_settings">
<text name="water_settings_title">
Réglage de l&apos;eau
</text>
<combo_box name="water_settings_preset_combo">
<combo_item name="item0">-Effectuer une sélection-</combo_item>
</combo_box>
<text name="sky_dayc_settings_title">
Ciel/Cycle du jour
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item name="my_sky_settings">Ciel fixe</radio_item>
<radio_item name="my_dayc_settings">Cycle du jour</radio_item>
</radio_group>
<combo_box name="sky_settings_preset_combo">
<combo_item name="item0">-Effectuer une sélection-</combo_item>
</combo_box>
<combo_box name="dayc_settings_preset_combo">
<combo_item name="item0">-Effectuer une sélection-</combo_item>
</combo_box>
</panel>
<button label="Appliquer" name="apply_btn"/>
<button label="Annuler" name="cancel_btn"/>
</panel>

View File

@@ -1,78 +1,76 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Domaine" name="Estate"> <panel label="Domaine" name="Estate">
<text name="estate_help_text" bottom="-34"> <text bottom="-34" name="estate_help_text">
Les changements apportés aux paramètres Les modifications des paramètres de cet onglet affecteront toutes les régions du domaine.
de cet onglet auront des répercussions sur
toutes les régions du domaine.
</text> </text>
<text name="estate_text" bottom_delta="-34"> <text name="estate_text">
Domaine : Domaine :
</text> </text>
<text name="estate_name"> <text name="estate_name">
(inconnu) (inconnu)
</text> </text>
<text name="owner_text"> <text name="owner_text">
Propriétaire : Propriétaire :
</text> </text>
<text name="estate_owner"> <text name="estate_owner">
(inconnu) (inconnu)
</text> </text>
<text name="Only Allow"> <text name="Only Allow">
Limiter l'accès aux résidents qui: Conditions d&apos;accès des résidents :
</text> </text>
<check_box label="Ont enregistré leurs infos de paiement" name="limit_payment" tool_tip="Bannit les résidents non identifés."/> <check_box label="Informations de paiement enregistrées" name="limit_payment" tool_tip="Pour pouvoir accéder à ce domaine, les résidents doivent avoir enregistré des informations de paiement. Consultez le support.secondlife.com pour plus d&apos;informations."/>
<check_box label="Ont fait vérifier leur âge" name="limit_age_verified" tool_tip="Bannit les résidents dont l'âge n'a pas été vérifié. Pour plus d'infos, consultez la page support.secondlife.com."/> <check_box label="Avoir plus de 18 ans" name="limit_age_verified" tool_tip="Pour accéder à ce domaine, les résidents doivent avoir au moins 18 ans. Consultez le support.secondlife.com pour plus d&apos;informations."/>
<check_box label="Autoriser les chats vocaux" name="voice_chat_check"/> <check_box label="Autoriser les chats vocaux" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/> <button label="?" name="voice_chat_help"/>
<text name="abuse_email_text"> <text name="abuse_email_text">
E-mail où signaler l'infraction: E-mail où signaler l&apos;infraction :
</text> </text>
<string name="email_unsupported"> <string name="email_unsupported">
Non pris en charge Non pris en charge
</string> </string>
<button label="?" name="abuse_email_address_help"/> <button label="?" name="abuse_email_address_help"/>
<text name="estate_manager_label"> <text name="estate_manager_label">
Gérants du domaine: Gérants du domaine :
</text> </text>
<button label="?" name="estate_manager_help"/> <button label="?" name="estate_manager_help"/>
<button label="Ajouter" name="add_estate_manager_btn"/> <button label="Ajouter..." name="add_estate_manager_btn"/>
<button label="Supprimer" name="remove_estate_manager_btn"/> <button label="Supprimer..." name="remove_estate_manager_btn"/>
<check_box label="Utiliser le temps universel" name="use_global_time_check"/> <check_box label="Utiliser le temps universel" name="use_global_time_check"/>
<button label="?" name="use_global_time_help"/> <button label="?" name="use_global_time_help"/>
<check_box label="Soleil fixe" name="fixed_sun_check"/> <check_box label="Soleil fixe" name="fixed_sun_check"/>
<button label="?" name="fixed_sun_help"/> <button label="?" name="fixed_sun_help"/>
<slider label="Phase" name="sun_hour_slider"/> <slider label="Phase" name="sun_hour_slider"/>
<check_box label="Autoriser l'accès public" name="externally_visible_check"/> <check_box label="Autoriser l&apos;accès public" name="externally_visible_check"/>
<button label="?" name="externally_visible_help"/> <button label="?" name="externally_visible_help"/>
<check_box label="Vue sur le continent" name="mainland_visible_check"/> <check_box label="Vue sur le continent" name="mainland_visible_check"/>
<button label="?" name="mainland_visible_help"/> <button label="?" name="mainland_visible_help"/>
<check_box label="Autoriser la téléportation directe" name="allow_direct_teleport"/> <check_box label="Autoriser la téléportation directe" name="allow_direct_teleport"/>
<button label="?" name="allow_direct_teleport_help"/> <button label="?" name="allow_direct_teleport_help"/>
<text name="region_text_lbl"> <text name="region_text_lbl">
Refuser l'accès selon les infos de paiement: Refuser l&apos;accès selon les infos de paiement :
</text> </text>
<check_box label="Refuser sans infos de paiement enregistrées" name="deny_anonymous"/> <check_box label="Refuser sans infos de paiement enregistrées" name="deny_anonymous"/>
<check_box label="Refuser avec infos de paiement enregistrées" name="deny_identified"/> <check_box label="Refuser avec infos de paiement enregistrées" name="deny_identified"/>
<check_box label="Refuser avec infos de paiement utilisées" name="deny_transacted"/> <check_box label="Refuser avec infos de paiement utilisées" name="deny_transacted"/>
<button label="Appliquer" name="apply_btn"/> <button label="Appliquer" name="apply_btn"/>
<text name="allow_resident_label"> <text name="allow_resident_label">
Résidents autorisés: Résidents autorisés :
</text> </text>
<button label="?" name="allow_resident_help"/> <button label="?" name="allow_resident_help"/>
<button label="Ajouter" name="add_allowed_avatar_btn"/> <button label="Ajouter..." name="add_allowed_avatar_btn"/>
<button label="Supprimer" name="remove_allowed_avatar_btn"/> <button label="Supprimer..." name="remove_allowed_avatar_btn"/>
<text name="allow_group_label"> <text name="allow_group_label">
Groupes autorisés: Groupes autorisés :
</text> </text>
<button label="?" name="allow_group_help"/> <button label="?" name="allow_group_help"/>
<button label="Ajouter" name="add_allowed_group_btn"/> <button label="Ajouter..." name="add_allowed_group_btn"/>
<button label="Supprimer" name="remove_allowed_group_btn"/> <button label="Supprimer..." name="remove_allowed_group_btn"/>
<text name="ban_resident_label"> <text name="ban_resident_label">
Résidents bannis: Résidents bannis :
</text> </text>
<button label="?" name="ban_resident_help"/> <button label="?" name="ban_resident_help"/>
<button label="Ajouter" name="add_banned_avatar_btn"/> <button label="Ajouter..." name="add_banned_avatar_btn"/>
<button label="Supprimer" name="remove_banned_avatar_btn"/> <button label="Supprimer..." name="remove_banned_avatar_btn"/>
<button label="Envoyer un message au domaine" name="message_estate_btn"/> <button label="Message au domaine..." name="message_estate_btn"/>
<button label="Éjecter le résident du domaine" name="kick_user_from_estate_btn"/> <button label="Éjecter du domaine..." name="kick_user_from_estate_btn"/>
</panel> </panel>

View File

@@ -1,27 +1,66 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Terrain" name="Terrain"> <panel label="Terrain" name="Terrain">
<text name="region_text_lbl"> <text name="region_text_lbl">
Région: Région :
</text> </text>
<text name="region_text"> <text name="region_text">
(inconnue) (inconnue)
</text> </text>
<spinner label="Niveau de l'eau" name="water_height_spin"/> <spinner label="Niveau de l&apos;eau" name="water_height_spin"/>
<button label="?" name="water_height_help"/> <spinner label="Limite d&apos;élévation du
<spinner label="Limite d'élévation du &#10;terrain" name="terrain_raise_spin"/> terrain" name="terrain_raise_spin"/>
<button label="?" name="terrain_raise_help"/> <spinner bottom_delta="-34" label="Limite d&apos;abaissement
<spinner label="Limite d'abaissement &#10;du terrain" name="terrain_lower_spin" bottom_delta="-34"/> du terrain" name="terrain_lower_spin"/>
<button label="?" name="terrain_lower_help"/> <text name="detail_texture_text">
<check_box label="Utiliser le soleil du domaine" name="use_estate_sun_check"/> Textures du terrain
<button label="?" name="use_estate_sun_help"/> </text>
<check_box label="Soleil fixe" name="fixed_sun_check"/> <text name="height_text_lbl">
<button label="?" name="fixed_sun_help"/> 1 (Bas)
<slider label="Phase" name="sun_hour_slider"/> </text>
<text name="height_text_lbl2">
2
</text>
<text name="height_text_lbl3">
3
</text>
<text name="height_text_lbl4">
4 (Haut)
</text>
<text name="height_text_lbl5">
Limites d&apos;élévation de texture
</text>
<text name="height_text_lbl10">
Ces valeurs représentent les limites
de mélange pour les textures ci-dessus.
</text>
<text name="height_text_lbl11">
En mètres, la valeur BAS
correspond à la hauteur MAXIMUM de la texture n°1
et la valeur HAUT à la hauteur
MINIMUM de la texture n°4.
</text>
<text name="height_text_lbl6">
Nord-ouest
</text>
<text name="height_text_lbl7">
Nord-est
</text>
<spinner label="Bas" name="height_start_spin_1"/>
<spinner label="Bas" name="height_start_spin_3"/>
<spinner label="Haut" name="height_range_spin_1"/>
<spinner label="Haut" name="height_range_spin_3"/>
<text name="height_text_lbl8">
Sud-ouest
</text>
<text name="height_text_lbl9">
Sud-est
</text>
<spinner label="Bas" name="height_start_spin_0"/>
<spinner label="Bas" name="height_start_spin_2"/>
<spinner label="Haut" name="height_range_spin_0"/>
<spinner label="Haut" name="height_range_spin_2"/>
<button label="Télécharger le terrain en RAW..." name="download_raw_btn" tool_tip="Réservé aux propriétaires de domaine, pas aux gérants" width="230"/>
<button label="Charger un terrain en RAW..." name="upload_raw_btn" tool_tip="Réservé aux propriétaires de domaine, pas aux gérants" width="230"/>
<button label="Figer le terrain" name="bake_terrain_btn" tool_tip="Définir le terrain actuel comme point central pour les limites d&apos;élévation/abaissement"/>
<button label="Appliquer" name="apply_btn"/> <button label="Appliquer" name="apply_btn"/>
<button label="Télécharger le terrain au format RAW" name="download_raw_btn" tool_tip="Réservé aux propriétaires de domaine, pas aux gérants" width="230"/>
<button label="?" name="download_raw_help" left="246" />
<button label="Charger le terrain au format RAW" name="upload_raw_btn" tool_tip="Réservé aux propriétaires du domaine, pas aux gérants" width="230"/>
<button label="?" name="upload_raw_help" left="246" />
<button label="Figer le terrain" name="bake_terrain_btn" tool_tip="Définir le terrain actuel comme point central pour les limites d'élévation/abaissement"/>
<button label="?" name="bake_terrain_help"/>
</panel> </panel>

View File

@@ -1,69 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel label="Textures du sol" name="Textures">
<text name="region_text_lbl">
Région :
</text>
<text name="region_text">
(inconnue)
</text>
<text name="height_text_lbl">
1 (faible)
</text>
<text name="height_text_lbl2">
2
</text>
<text name="height_text_lbl3">
3
</text>
<text name="height_text_lbl4">
4 (élevé)
</text>
<text name="detail_texture_text">
Textures du terrain
</text>
<text name="height_text_lbl5">
Limites d&apos;élévation de texture
</text>
<text name="height_text_lbl6">
Sud-ouest
</text>
<text name="height_text_lbl7">
Nord-ouest
</text>
<text name="height_text_lbl8">
Sud-est
</text>
<text name="height_text_lbl9">
Nord-est
</text>
<text name="height_text_lbl10">
Ces valeurs représentent les limites de mélange pour les textures ci-dessus.
</text>
<text name="height_text_lbl11">
En mètres, la valeur Bas correspond à la hauteur maximum de la texture n°1
</text>
<text name="height_text_lbl12">
et la valeur Haut correspond à la hauteur minimum de la texture n°4.
</text>
<text name="height_text_lbl13">
Nord-est
</text>
<spinner label="Bas" name="height_start_spin_0" />
<spinner label="Bas" name="height_start_spin_1" />
<spinner label="Bas" name="height_start_spin_2" />
<spinner label="Bas" name="height_start_spin_3" />
<spinner label="Haut" name="height_range_spin_0" />
<spinner label="Haut" name="height_range_spin_1" />
<spinner label="Haut" name="height_range_spin_2" />
<spinner label="Haut" name="height_range_spin_3" />
<text name="height_text_lbl14">
Ces valeurs représentent les limites de mélange pour les textures ci-dessus.
</text>
<text name="height_text_lbl15">
En mètres, la valeur BASSE correspond à la hauteur MAXIMUM de la Texture #1,
</text>
<text name="height_text_lbl16">
et la valeur HAUTE correspond à la hauteur MINIMUM de la Texture #4.
</text>
<button label="Appliquer" name="apply_btn" />
</panel>

View File

@@ -23,7 +23,7 @@
<action description="Supprimer des rôles" <action description="Supprimer des rôles"
longdescription="Supprimez des rôles à l&apos;onglet Membres et rôles &gt; Rôles." longdescription="Supprimez des rôles à l&apos;onglet Membres et rôles &gt; Rôles."
name="role delete" value="5" /> name="role delete" value="5" />
<action description="Modifier les noms, les titres et les descriptions des rôles". <action description="Modifier les noms, les titres et les descriptions des rôles."
longdescription="Modifiez les noms, titres et descriptions des rôles à l&apos;onglet Membres et rôles &gt; Rôles." longdescription="Modifiez les noms, titres et descriptions des rôles à l&apos;onglet Membres et rôles &gt; Rôles."
name="role properties" value="6" /> name="role properties" value="6" />
<action description="Attribuer des rôles limités" <action description="Attribuer des rôles limités"

View File

@@ -97,18 +97,23 @@ conteúdo classificado:
<combo_item name="English"> <combo_item name="English">
English (Inglês) English (Inglês)
</combo_item> </combo_item>
<combo_item name="Danish"> <!-- After "System Default" and "English", please keep the rest of these combo_items in alphabetical order by the first character in the string.-->
Dansk (Dinamarquês)*
</combo_item>
<combo_item name="Deutsch(German)">
Deutsch (Alemão)*
</combo_item>
<combo_item name="Spanish"> <combo_item name="Spanish">
Español (Espanhol) Español (Espanhol)
</combo_item> </combo_item>
<combo_item name="French"> <combo_item name="French">
Français (Francês) Français (Francês)
</combo_item> </combo_item>
<combo_item name="Portugese">
Português
</combo_item>
<!-- Also, with the above advice in mind, keep completed UI translations above this line.-->
<combo_item name="Danish">
Dansk (Dinamarquês)*
</combo_item>
<combo_item name="Deutsch(German)">
Deutsch (Alemão)*
</combo_item>
<combo_item name="Italian"> <combo_item name="Italian">
Italiano* Italiano*
</combo_item> </combo_item>
@@ -121,9 +126,6 @@ conteúdo classificado:
<combo_item name="Polish"> <combo_item name="Polish">
Polski (Polonês)* Polski (Polonês)*
</combo_item> </combo_item>
<combo_item name="Portugese">
Português
</combo_item>
<combo_item name="Russian"> <combo_item name="Russian">
Русский (Russo)* Русский (Russo)*
</combo_item> </combo_item>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Ambiente" name="panel_env_info">
<text name="water_settings_title">
Selecione as configurações de Água e céu / Ciclo dos dias que todos os visitantes à sua região verão. Mais informações
</text>
<radio_group name="region_settings_radio_group">
<radio_item name="use_sl_default_settings">Usar o padrão do Second Life</radio_item>
<radio_item name="use_my_settings">Usar as seguintes configurações</radio_item>
</radio_group>
<panel name="user_environment_settings">
<text name="water_settings_title">
Configuração de água
</text>
<combo_box name="water_settings_preset_combo">
<combo_item name="item0">-Selecione uma pré-configuração-</combo_item>
</combo_box>
<text name="sky_dayc_settings_title">
Ciclo céu / dia
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item name="my_sky_settings">Céu fixo</radio_item>
<radio_item name="my_dayc_settings">Ciclo dia</radio_item>
</radio_group>
<combo_box name="sky_settings_preset_combo">
<combo_item name="item0">-Selecione uma pré-configuração-</combo_item>
</combo_box>
<combo_box name="dayc_settings_preset_combo">
<combo_item name="item0">-Selecione uma pré-configuração-</combo_item>
</combo_box>
</panel>
<button label="Aplicar" name="apply_btn"/>
<button label="Cancelar" name="cancel_btn"/>
</panel>

View File

@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Propriedade" name="Estate"> <panel label="Propriedade" name="Estate">
<text name="estate_help_text"> <text name="estate_help_text">
Mudanças nas definições nesta guia irão afetar Mudar as opções desta guia afeta todas as regiões desta propriedade.
todas as regiões desta propriedade.
</text> </text>
<text name="estate_text"> <text name="estate_text">
Propriedade: Propriedade:
@@ -11,7 +10,7 @@ todas as regiões desta propriedade.
(desconhecido) (desconhecido)
</text> </text>
<text name="owner_text"> <text name="owner_text">
Proprietário: Proprietário do imóvel:
</text> </text>
<text name="estate_owner"> <text name="estate_owner">
(desconhecido) (desconhecido)
@@ -24,10 +23,10 @@ todas as regiões desta propriedade.
<check_box label="Permitir acesso público" name="externally_visible_check"/> <check_box label="Permitir acesso público" name="externally_visible_check"/>
<button label="?" name="externally_visible_help"/> <button label="?" name="externally_visible_help"/>
<text name="Only Allow"> <text name="Only Allow">
Acesso restrito a Residentes... Permitir acesso apenas para residentes que:
</text> </text>
<check_box label="com info. de pagamento em arquivo" name="limit_payment" tool_tip="Banir residentes não identificados."/> <check_box label="Dados de pagamento constam no registro." name="limit_payment" tool_tip="Propriedade de acesso restrito a residentes que já cadastraram seus dados de pagamento Consulte o support.secondlife.com para saber mais."/>
<check_box label="Adultos com idade verificada" name="limit_age_verified" tool_tip="Banir residentes que não tenham confirmado a sua idade. Ver support.secondlife.com para mais informações."/> <check_box label="Tem 18 anos ou mais" name="limit_age_verified" tool_tip="Os residentes devem ter 18 anos ou mais para acessar esta propriedade. Consulte o support.secondlife.com para obter mais informações."/>
<check_box label="Permitir conversa de voz" name="voice_chat_check"/> <check_box label="Permitir conversa de voz" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/> <button label="?" name="voice_chat_help"/>
<check_box label="Permitir Tele-transporte direto" name="allow_direct_teleport"/> <check_box label="Permitir Tele-transporte direto" name="allow_direct_teleport"/>
@@ -40,7 +39,7 @@ todas as regiões desta propriedade.
</string> </string>
<button label="?" name="abuse_email_address_help"/> <button label="?" name="abuse_email_address_help"/>
<button label="Aplicar" name="apply_btn"/> <button label="Aplicar" name="apply_btn"/>
<button label="Chutar usuário da propriedade..." name="kick_user_from_estate_btn"/> <button label="Expulsar da propriedade..." name="kick_user_from_estate_btn"/>
<button label="Enviar mensagem à Propriedade" name="message_estate_btn"/> <button label="Enviar mensagem à Propriedade" name="message_estate_btn"/>
<text name="estate_manager_label"> <text name="estate_manager_label">
Gerentes da propriedade: Gerentes da propriedade:

View File

@@ -7,21 +7,60 @@
nenhum nenhum
</text> </text>
<spinner label="Altura da água" name="water_height_spin"/> <spinner label="Altura da água" name="water_height_spin"/>
<button label="?" name="water_height_help"/> <spinner label="Limite do aumento do
<spinner label="Limite do aumento do &#10;terreno" name="terrain_raise_spin"/> terreno" name="terrain_raise_spin"/>
<button label="?" name="terrain_raise_help"/> <spinner bottom_delta="-34" label="Limite mais baixo do
<spinner label="Limite mais baixo do &#10;terreno" name="terrain_lower_spin" bottom_delta="-34"/> terreno" name="terrain_lower_spin"/>
<button label="?" name="terrain_lower_help"/> <text name="detail_texture_text">
<check_box label="Usar o sol da propriedade" name="use_estate_sun_check"/> Texturas de terreno
<button label="?" name="use_estate_sun_help"/> </text>
<check_box label="Sol fixo" name="fixed_sun_check"/> <text name="height_text_lbl">
<button label="?" name="fixed_sun_help"/> 1 (Baixo)
<slider label="Fase" name="sun_hour_slider"/> </text>
<button label="Aplicar" name="apply_btn"/> <text name="height_text_lbl2">
2
</text>
<text name="height_text_lbl3">
3
</text>
<text name="height_text_lbl4">
4 (Alto)
</text>
<text name="height_text_lbl5">
Intervalos de elevação de textura
</text>
<text name="height_text_lbl10">
Os valores representam o intervalo
de mistura das texturas acima.
</text>
<text name="height_text_lbl11">
Em metros, o valor BAIXO
é a altura MÁXIMA da Textura 1,
e HIGH é a
altura MÍNIMA da Textura 4.
</text>
<text name="height_text_lbl6">
Noroeste
</text>
<text name="height_text_lbl7">
Nordeste
</text>
<spinner label="Baixo" name="height_start_spin_1"/>
<spinner label="Baixo" name="height_start_spin_3"/>
<spinner label="Alto" name="height_range_spin_1"/>
<spinner label="Alto" name="height_range_spin_3"/>
<text name="height_text_lbl8">
Sudoeste
</text>
<text name="height_text_lbl9">
Sudeste
</text>
<spinner label="Baixo" name="height_start_spin_0"/>
<spinner label="Baixo" name="height_start_spin_2"/>
<spinner label="Alto" name="height_range_spin_0"/>
<spinner label="Alto" name="height_range_spin_2"/>
<button label="Download de terreno RAW..." name="download_raw_btn" tool_tip="Não disponível aos gerentes, somente aos proprietários."/> <button label="Download de terreno RAW..." name="download_raw_btn" tool_tip="Não disponível aos gerentes, somente aos proprietários."/>
<button label="?" name="download_raw_help"/>
<button label="Upload de terreno RAW..." name="upload_raw_btn" tool_tip="Não disponível aos gerentes, somente aos proprietários."/> <button label="Upload de terreno RAW..." name="upload_raw_btn" tool_tip="Não disponível aos gerentes, somente aos proprietários."/>
<button label="?" name="upload_raw_help"/> <button label="Nivelar o terreno" name="bake_terrain_btn" tool_tip="Ajustar terreno atual como o ponto médio para os limites de aumento/decréscimo" width="170"/>
<button width="170" label="Nivelar o terreno" name="bake_terrain_btn" tool_tip="Ajustar terreno atual como o ponto médio para os limites de aumento/decréscimo"/> <button label="Aplicar" name="apply_btn"/>
<button left="190" label="?" name="bake_terrain_help"/>
</panel> </panel>

View File

@@ -1,57 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel label="Texturas de Chão" name="Textures">
<text name="region_text_lbl">
Região:
</text>
<text name="region_text">
desconhecido
</text>
<text name="detail_texture_text" width="380">
Texturas de Terreno (requer 512x512, arquivos 24 bit .tga )
</text>
<text name="height_text_lbl">
1 (baixo)
</text>
<text name="height_text_lbl2">
2
</text>
<text name="height_text_lbl3">
3
</text>
<text name="height_text_lbl4">
4 (alto)
</text>
<text name="height_text_lbl5">
Escalas de Elevação de Terreno
</text>
<text name="height_text_lbl6">
Sudeste
</text>
<text name="height_text_lbl7">
Noroeste
</text>
<text name="height_text_lbl8">
Sudoeste
</text>
<text name="height_text_lbl9">
Noroeste
</text>
<spinner label="Baixo" name="height_start_spin_0" />
<spinner label="Baixo" name="height_start_spin_1" />
<spinner label="Baixo" name="height_start_spin_2" />
<spinner label="Baixo" name="height_start_spin_3" />
<spinner label="Alto" name="height_range_spin_0" />
<spinner label="Alto" name="height_range_spin_1" />
<spinner label="Alto" name="height_range_spin_2" />
<spinner label="Alto" name="height_range_spin_3" />
<text name="height_text_lbl10">
Estes valores respresentam o tipo de escala para as texturas acima.
</text>
<text name="height_text_lbl11">
Medido em metros, o valor Baixo é a altura máxima da Textura #1,
</text>
<text name="height_text_lbl12">
e o valor Alto é a altura Mínima da Textura #4.
</text>
<button label="Aplicar" name="apply_btn" />
</panel>