Merge remote-tracking branch 'singu/master'

This commit is contained in:
Aleric Inglewood
2013-04-30 20:43:40 +02:00
39 changed files with 502 additions and 296 deletions

View File

@@ -203,7 +203,6 @@ inline T* get_ptr_in_map(const std::map<K,T*>& inmap, const K& key)
template <typename K, typename T>
inline bool is_in_map(const std::map<K,T>& inmap, const K& key)
{
typedef typename std::map<K,T>::const_iterator map_iter;
if(inmap.find(key) == inmap.end())
{
return false;

View File

@@ -15151,6 +15151,17 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>UseTypingBubbles</key>
<map>
<key>Comment</key>
<string>Show typing indicator in avatar nametags</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>UseDebugMenus</key>
<map>
<key>Comment</key>

View File

@@ -329,6 +329,7 @@ void LLPrefsAscentChat::refreshValues()
mHideTypingNotification = gSavedSettings.getBOOL("AscentHideTypingNotification");
mShowGroupNameInChatIM = gSavedSettings.getBOOL("OptionShowGroupNameInChatIM");
mShowDisplayNameChanges = gSavedSettings.getBOOL("ShowDisplayNameChanges");
mUseTypingBubbles = gSavedSettings.getBOOL("UseTypingBubbles");
mPlayTypingSound = gSavedSettings.getBOOL("PlayTypingSound");
mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat");
mEnableMUPose = gSavedSettings.getBOOL("AscentAllowMUpose");
@@ -545,6 +546,7 @@ void LLPrefsAscentChat::cancel()
gSavedSettings.setBOOL("AscentHideTypingNotification", mHideTypingNotification);
gSavedSettings.setBOOL("OptionShowGroupNameInChatIM", mShowGroupNameInChatIM);
gSavedSettings.setBOOL("ShowDisplayNameChanges", mShowDisplayNameChanges);
gSavedSettings.setBOOL("UseTypingBubbles", mUseTypingBubbles);
gSavedSettings.setBOOL("PlayTypingSound", mPlayTypingSound);
gSavedSettings.setBOOL("HideNotificationsInChat", mHideNotificationsInChat);
gSavedSettings.setBOOL("AscentAllowMUpose", mEnableMUPose);

View File

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

View File

@@ -58,6 +58,7 @@ HippoGridInfo::HippoGridInfo(const std::string& gridName) :
mAutoUpdate(false),
mMaxAgentGroups(-1),
mCurrencySymbol("OS$"),
mCurrencyText("OS Dollars"),
mRealCurrencySymbol("US$"),
mDirectoryFee(30),
mUPCSupported(false)
@@ -90,6 +91,7 @@ void HippoGridInfo::setPlatform(Platform platform)
if (mPlatform == PLATFORM_SECONDLIFE)
{
mCurrencySymbol = "L$";
mCurrencyText = "Linden Dollars";
}
}
@@ -221,6 +223,11 @@ void HippoGridInfo::setCurrencySymbol(const std::string& sym)
mCurrencySymbol = sym.substr(0, 3);
}
void HippoGridInfo::setCurrencyText(const std::string& text)
{
mCurrencyText = text;
}
void HippoGridInfo::setRealCurrencySymbol(const std::string& sym)
{
mRealCurrencySymbol = sym.substr(0, 3);

View File

@@ -61,6 +61,7 @@ public:
int getMaxAgentGroups() const { return mMaxAgentGroups; }
const std::string& getCurrencySymbol() const { return mCurrencySymbol; }
const std::string& getCurrencyText() const { return mCurrencyText; }
const std::string& getRealCurrencySymbol() const { return mRealCurrencySymbol; }
std::string getUploadFee() const;
std::string getGroupCreationFee() const;
@@ -87,6 +88,7 @@ public:
bool getUPCSupported();
void setCurrencySymbol(const std::string& sym);
void setCurrencyText(const std::string& text);
void setRealCurrencySymbol(const std::string& sym);
void setDirectoryFee(int fee);
bool supportsInvLinks();
@@ -124,6 +126,7 @@ private:
int mMaxAgentGroups;
std::string mCurrencySymbol;
std::string mCurrencyText;
std::string mRealCurrencySymbol;
int mDirectoryFee;
std::string mGridMessage;

View File

@@ -4,14 +4,20 @@ Second Life - Linux Voice Support README
WHAT IS IT?
-=-=-=-=-=-
Linux Voice Support is a new feature in testing which allows users
of the Linux Second Life client to participate in voice-chat with other
residents and groups inside Second Life, with an appropriate
headset/microphone.
Linux Voice Support is a feature in testing which allows users of the Linux
Second Life client to participate in voice-chat with other residents and
groups inside Second Life, with an appropriate headset/microphone.
Linux Voice Support is currently EXPERIMENTAL and is known to still
have some compatibility issues.
SINGULARITY MULTI-VOICE
-=-=-=-=-=-=-=-=-=-=-=-
Singularity multi-voice is an experimental feature that allows you to run multiple
SLVoice daemons at the same time, in order to do this, the debug setting VoiceMultiInstance
must be TRUE, this allows multiple instances of the viewer to run concurrently and
each connect to voice.
REQUIREMENTS
-=-=-=-=-=-=
@@ -29,6 +35,13 @@ systems:
* Fedora Core 6 with (unknown) audio chipset
* Ubuntu 8.04 (Hardy) with (unknown) audio chipset
TESTING YOUR SETTINGS
-=-=-=-=-=-=-=-=-=-=-
* The Second Life region 'Voice Echo Canyon' is a great place for testing
your hardware settings and quality - it will 'echo' your voice back to you
when you speak.
KNOWN PROBLEMS
-=-=-=-=-=-=-=
@@ -41,12 +54,12 @@ TROUBLESHOOTING
PROBLEM 1: I don't see a white dot over the head of my avatar or other
Voice-using avatars.
SOLUTION:
a. Ensure that 'Enable voice chat' is enabled in the Voice Chat
preferences window and that you are in a voice-enabled area (you
will see a blue headphone icon in the SL menu-bar).
a. Ensure that 'Enable voice chat' is enabled in the 'Voice Chat' section of the
Preferences window, and that you are in a voice-enabled area
(you will see a blue headphone icon in the SL menu-bar).
b. If the above does not help, exit Second Life and ensure that any
remaining 'SLVoice' processes (as reported by 'ps', 'top' or similar)
are killed.
are killed before restarting.
PROBLEM 2: I have a white dot over my head but I never see (or hear!) anyone
except myself listed in the Active Speakers dialog when I'm sure that other
@@ -65,12 +78,13 @@ c. Update to the latest version of ALSA manually. For a guide, see the
PROBLEM 3: I can hear other people, but they cannot hear me.
SOLUTION:
a. Ensure that you have the 'Talk' button activated while you are trying to
speak.
a. Ensure that you have the 'Talk' button (at the bottom of the Second Life
window)activated while you are trying to speak.
b. Ensure that your microphone jack is inserted into the correct socket of your
sound card, where appropriate.
c. Use your system mixer-setting program or the 'alsamixer' program to ensure
that microphone input is set as the active input source and is not muted.
c. Use your system mixer-setting program (such as the PulseAudio 'volume
control' applet or the ALSA 'alsamixer' program) to ensure that microphone
input is set as the active input source and is not muted.
d. Verify that audio input works in other applications, i.e. Audacity
PROBLEM 4: Other people just hear bursts of loud noise when I speak.

View File

@@ -15,7 +15,7 @@ Life itself - please see <http://www.secondlife.com/whatis/>.
5.3. Blank window after minimizing it
5.4. Audio
5.5. 'Alt' key for camera controls doesn't work
5.6. In-world streaming movie/music playback
5.6. In-world streaming movie, music and Flash playback
6. Advanced Troubleshooting
6.1. Audio
6.2. OpenGL
@@ -75,10 +75,11 @@ Life Linux client is very similar to that for Windows, as detailed at:
3. INSTALLING & RUNNING
-=-=-=-=-=-=-=-=-=-=-=-
The Second Life Linux client entirely runs out of the directory you have
unpacked it into - no installation step is required.
The Singularity Linux client can entirely run from the directory you have
unpacked it into - no installation step is required. If you wish to
perform a separate installation step anyway, you may run './install.sh'
Run ./secondlife from the installation directory to start Second Life.
Run ./singularity from the installation directory to start Singularity.
For in-world MOVIE and MUSIC PLAYBACK, you will need (32-bit) GStreamer 0.10
installed on your system. This is optional - it is not required for general
@@ -168,12 +169,15 @@ SOLUTION:- Some window managers eat the Alt key for their own purposes; you
example, the 'Windows' key!) which will allow the Alt key to function
properly with mouse actions in Second Life and other applications.
PROBLEM 6:- In-world movie and/or music playback doesn't work for me.
PROBLEM 6:- In-world movie, music, or Flash playback doesn't work for me.
SOLUTION:- You need to have a working installation of GStreamer 0.10; this
is usually an optional package for most versions of Linux. If you have
installed GStreamer 0.10 and you can play some music/movies but not others
then you need to install a wider selection of GStreamer plugins, either
from your vendor or an appropriate third party.
from your vendor (i.e. the 'Ugly' plugins) or an appropriate third party.
For Flash playback, you need to have Flash 10 installed for your normal
web browser (for example, Firefox). PulseAudio is required for Flash
volume control / muting to fully function inside Second Life.
6. ADVANCED TROUBLESHOOTING

View File

@@ -0,0 +1,106 @@
#!/bin/bash
# Install Singularity Viewer. This script can install the viewer both
# system-wide and for an individual user.
VT102_STYLE_NORMAL='\E[0m'
VT102_COLOR_RED='\E[31m'
SCRIPTSRC=`readlink -f "$0" || echo "$0"`
RUN_PATH=`dirname "${SCRIPTSRC}" || echo .`
tarball_path=${RUN_PATH}
function prompt()
{
local prompt=$1
local input
echo -n "$prompt"
while read input; do
case $input in
[Yy]* )
return 1
;;
[Nn]* )
return 0
;;
* )
echo "Please enter yes or no."
echo -n "$prompt"
esac
done
}
function die()
{
warn $1
exit 1
}
function warn()
{
echo -n -e $VT102_COLOR_RED
echo $1
echo -n -e $VT102_STYLE_NORMAL
}
function homedir_install()
{
warn "You are not running as a privileged user, so you will only be able"
warn "to install Singularity Viewer in your home directory. If you"
warn "would like to install Singularity Viewer system-wide, please run"
warn "this script as the root user, or with the 'sudo' command."
echo
prompt "Proceed with the installation? [Y/N]: "
if [[ $? == 0 ]]; then
exit 0
fi
install_to_prefix "$HOME/.singularity-install"
$HOME/.singularity-install/refresh_desktop_app_entry.sh
}
function root_install()
{
local default_prefix="/opt/singularity-install"
echo -n "Enter the desired installation directory [${default_prefix}]: ";
read
if [[ "$REPLY" = "" ]] ; then
local install_prefix=$default_prefix
else
local install_prefix=$REPLY
fi
install_to_prefix "$install_prefix"
mkdir -p /usr/local/share/applications
${install_prefix}/refresh_desktop_app_entry.sh
}
function install_to_prefix()
{
test -e "$1" && backup_previous_installation "$1"
mkdir -p "$1" || die "Failed to create installation directory!"
echo " - Installing to $1"
cp -a "${tarball_path}"/* "$1/" || die "Failed to complete the installation!"
}
function backup_previous_installation()
{
local backup_dir="$1".backup-$(date -I)
echo " - Backing up previous installation to $backup_dir"
mv "$1" "$backup_dir" || die "Failed to create backup of existing installation!"
}
if [ "$UID" == "0" ]; then
root_install
else
homedir_install
fi

View File

@@ -0,0 +1,36 @@
#!/bin/bash
SCRIPTSRC=`readlink -f "$0" || echo "$0"`
RUN_PATH=`dirname "${SCRIPTSRC}" || echo .`
install_prefix=${RUN_PATH}
function install_desktop_entry()
{
local installation_prefix="$1"
local desktop_entries_dir="$2"
local desktop_entry="\
[Desktop Entry]\n\
Name=Singularity\n\
Comment=Client for Online Virtual Worlds, such as Second Life\n\
Exec=${installation_prefix}/singularity\n\
Icon=${installation_prefix}/singularity_icon.png\n\
Terminal=false\n\
Type=Application\n\
Categories=Application;Network;\n\
StartupNotify=true\n\
X-Desktop-File-Install-Version=3.0"
echo " - Installing menu entries in ${desktop_entries_dir}"
mkdir -vp "${desktop_entries_dir}"
echo -e $desktop_entry > "${desktop_entries_dir}/singularity-viewer.desktop" || "Failed to install application menu!"
}
if [ "$UID" == "0" ]; then
# system-wide
install_desktop_entry "$install_prefix" /usr/local/share/applications
else
# user-specific
install_desktop_entry "$install_prefix" "$HOME/.local/share/applications"
fi

View File

@@ -4,10 +4,10 @@
## These options are for self-assisted troubleshooting during this beta
## testing phase; you should not usually need to touch them.
## - Avoids using any OpenAL audio driver.
#export LL_BAD_OPENAL_DRIVER=x
## - Avoids using any FMOD Ex audio driver.
#export LL_BAD_FMODEX_DRIVER=x
## - Avoids using any OpenAL audio driver.
#export LL_BAD_OPENAL_DRIVER=x
## - Avoids using any FMOD audio driver.
#export LL_BAD_FMOD_DRIVER=x
@@ -20,7 +20,6 @@
## - Avoids using the FMOD or FMOD Ex ESD audio driver.
#export LL_BAD_FMOD_ESD=x
## - Avoids the optional OpenGL extensions which have proven most problematic
## on some hardware. Disabling this option may cause BETTER PERFORMANCE but
## may also cause CRASHES and hangs on some unstable combinations of drivers
@@ -109,6 +108,10 @@ cd "${RUN_PATH}"
# Re-register the secondlife:// protocol handler every launch, for now.
./register_secondlifeprotocol.sh
# Re-register the application with the desktop system every launch, for now.
./refresh_desktop_app_entry.sh
## Before we mess with LD_LIBRARY_PATH, save the old one to restore for
## subprocesses that care.
export SAVED_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
@@ -147,16 +150,11 @@ fi
export SL_CMD='$LL_WRAPPER bin/$VIEWER_BINARY'
export SL_OPT="`cat gridargs.dat` $@"
# Run the program
# Run the program.
eval ${SL_ENV} ${SL_CMD} ${SL_OPT} || LL_RUN_ERR=runerr
# Handle any resulting errors
if [ -n "$LL_RUN_ERR" ]; then
LL_RUN_ERR_MSG=""
if [ "$LL_RUN_ERR" = "runerr" ]; then
# generic error running the binary
echo '*** Bad shutdown. ***'
fi
if [ -n "$LL_RUN_ERR" = "runerr" ]; then
# generic error running the binary
echo '*** Bad shutdown. ***'
fi

View File

@@ -3,10 +3,9 @@
* @brief Processes responses received for asset upload requests.
*
* $LicenseInfo:firstyear=2007&license=viewergpl$
*
* Second Life Viewer Source Code
* Copyright (c) 2007-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
@@ -53,7 +52,6 @@
#include "llviewerobject.h"
#include "llviewercontrol.h"
#include "llviewerobjectlist.h"
#include "llviewermenufile.h"
#include "llviewertexlayer.h"
#include "llviewerwindow.h"
#include "lltrans.h"
@@ -255,6 +253,7 @@ void LLAssetUploadResponder::result(const LLSD& content)
lldebugs << "LLAssetUploadResponder::result from capabilities" << llendl;
std::string state = content["state"];
if (state == "upload")
{
uploadUpload(content);
@@ -343,6 +342,7 @@ void LLNewAgentInventoryResponder::error(U32 statusNum, const std::string& reaso
//LLImportColladaAssetCache::getInstance()->assetUploaded(mVFileID, LLUUID(), FALSE);
}
//virtual
void LLNewAgentInventoryResponder::uploadFailure(const LLSD& content)
{
@@ -351,6 +351,7 @@ void LLNewAgentInventoryResponder::uploadFailure(const LLSD& content)
(*mCallBack)(false, mUserData);
}
LLAssetUploadResponder::uploadFailure(content);
//LLImportColladaAssetCache::getInstance()->assetUploaded(mVFileID, content["new_asset"], FALSE);
}
@@ -397,10 +398,14 @@ void LLNewAgentInventoryResponder::uploadComplete(const LLSD& content)
// continue uploading for bulk uploads
if (!gUploadQueue.empty())
/* Singu Note: sUploadQueue was never getting populated, anywhere! Therefore, this entire block never was reached.
** I have condensed it to here in the hopes it may one day see use. Apparently, it came in with Siana's prep work
** for mesh upload (697dd7e9298282590f8cf858a58335f70302532b), but we never needed it.
static std::deque<std::string> sUploadQueue;
if (!sUploadQueue.empty())
{
std::string next_file = gUploadQueue.front();
gUploadQueue.pop_front();
std::string next_file = sUploadQueue.front();
sUploadQueue.pop_front();
if (next_file.empty()) return;
std::string name = gDirUtilp->getBaseFileName(next_file, true);
@@ -448,6 +453,7 @@ void LLNewAgentInventoryResponder::uploadComplete(const LLSD& content)
expected_upload_cost,
userdata);
}
*/
}
LLSendTexLayerResponder::LLSendTexLayerResponder(const LLSD& post_data,
@@ -698,6 +704,7 @@ void LLUpdateTaskInventoryResponder::uploadComplete(const LLSD& content)
}
}
/////////////////////////////////////////////////////
// LLNewAgentInventoryVariablePriceResponder::Impl //
/////////////////////////////////////////////////////
@@ -1165,3 +1172,4 @@ void LLNewAgentInventoryVariablePriceResponder::showConfirmationDialog(
boost::intrusive_ptr<LLNewAgentInventoryVariablePriceResponder>(this)));
}
}

View File

@@ -772,7 +772,7 @@ void LLPanelPermissions::refresh()
{
childSetEnabled("checkbox allow export", false);
if (!gHippoGridManager->getCurrentGrid()->isSecondLife())
childSetVisible("checkbox allow export", false);
childSetVisible("checkbox allow export", true);
}
if (has_change_sale_ability && (owner_mask_on & PERM_TRANSFER))

View File

@@ -1002,6 +1002,7 @@ bool idle_startup()
if(!gHippoGridManager->getConnectedGrid()->isSecondLife())
{
LLTrans::setDefaultArg("[CURRENCY]",gHippoGridManager->getConnectedGrid()->getCurrencySymbol()); //replace [CURRENCY] with OS$, not L$ for instance.
LLTrans::setDefaultArg("[CURRENCY_TEXT]",gHippoGridManager->getConnectedGrid()->getCurrencyText()); //replace [CURRENCYTEXT] with OS DOllars, not Linden Dollars for instance.
LLTrans::setDefaultArg("[SECOND_LIFE]", gHippoGridManager->getConnectedGrid()->getGridName());
LLTrans::setDefaultArg("[SECOND_LIFE_GRID]", gHippoGridManager->getConnectedGrid()->getGridName() + " Grid");
LLTrans::setDefaultArg("[GRID_OWNER]", gHippoGridManager->getConnectedGrid()->getGridOwner());
@@ -4378,6 +4379,8 @@ bool process_login_success_response(std::string& password)
if (!tmp.empty()) gHippoGridManager->getConnectedGrid()->setSearchUrl(tmp);
tmp = response["currency"].asString();
if (!tmp.empty()) gHippoGridManager->getConnectedGrid()->setCurrencySymbol(tmp);
tmp = response["currency_text"].asString();
if (!tmp.empty()) gHippoGridManager->getConnectedGrid()->setCurrencyText(tmp);
tmp = response["real_currency"].asString();
if (!tmp.empty()) gHippoGridManager->getConnectedGrid()->setRealCurrencySymbol(tmp);
tmp = response["directory_fee"].asString();

View File

@@ -3,10 +3,9 @@
* @brief "File" menu in the main menu bar.
*
* $LicenseInfo:firstyear=2002&license=viewergpl$
*
* Second Life Viewer Source Code
* Copyright (c) 2002-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
@@ -64,11 +63,9 @@
#include "lltrans.h"
#include "llfloaterbuycurrency.h"
// <edit>
#include "llselectmgr.h"
#include "floaterlocalassetbrowse.h"
#include "llassettype.h"
#include "llinventorytype.h"
#include "llbvhloader.h"
#include "lllocalinventory.h"
// </edit>
// linden libraries
@@ -90,12 +87,9 @@
#include <boost/tokenizer.hpp>
#include "hippogridmanager.h"
#include "importtracker.h"
using namespace LLOldEvents;
std::deque<std::string> gUploadQueue;
typedef LLMemberListener<LLView> view_listener_t;
@@ -512,6 +506,15 @@ class LLFileMinimizeAllWindows : public view_listener_t
return true;
}
};
class LLFileLocalAssetBrowser : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent>, const LLSD&)
{
FloaterLocalAssetBrowser::show(0);
return true;
}
};
// </edit>
class LLFileSavePreview : public view_listener_t
@@ -610,20 +613,6 @@ class LLFileTakeSnapshotToDisk : public view_listener_t
}
};
class LLFileLogOut : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
std::string command(gDirUtilp->getExecutableDir() + gDirUtilp->getDirDelimiter() + gDirUtilp->getExecutableFilename());
gSavedSettings.setBOOL("ShowConsoleWindow", FALSE);
gViewerWindow->getWindow()->ShellEx(command);
gSavedSettings.setBOOL("ShowConsoleWindow", FALSE);
LLAppViewer::instance()->userQuit();
gSavedSettings.setBOOL("ShowConsoleWindow", FALSE);
return true;
}
};
class LLFileQuit : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
@@ -706,7 +695,7 @@ void upload_new_resource(const std::string& src_filename, std::string name,
"No file extension for the file: '%s'\nPlease make sure the file has a correct file extension",
short_name.c_str());
args["FILE"] = short_name;
upload_error(error_message, "NofileExtension", filename, args);
upload_error(error_message, "NoFileExtension", filename, args);
return;
}
else if (codec == IMG_CODEC_J2C)
@@ -1002,16 +991,10 @@ void temp_upload_callback(const LLUUID& uuid, void* user_data, S32 result, LLExt
perms->setMaskEveryone(PERM_ALL);
perms->setMaskGroup(PERM_ALL);
perms->setMaskNext(PERM_ALL);
LLUUID destination = gInventory.findCategoryUUIDForType(LLFolderType::FT_TEXTURE);
BOOL bUseSystemInventory = (gSavedSettings.getBOOL("AscentUseSystemFolder") && gSavedSettings.getBOOL("AscentSystemTemporary"));
if (bUseSystemInventory)
{
destination = gSystemFolderAssets;
}
LLViewerInventoryItem* item = new LLViewerInventoryItem(
item_id,
destination,
gInventory.findCategoryUUIDForType(LLFolderType::FT_TEXTURE),
*perms,
uuid,
(LLAssetType::EType)data->mAssetInfo.mType,
@@ -1021,16 +1004,10 @@ void temp_upload_callback(const LLUUID& uuid, void* user_data, S32 result, LLExt
LLSaleInfo::DEFAULT,
0,
time_corrected());
if (bUseSystemInventory)
{
LLLocalInventory::addItem(item);
}
else
{
item->updateServer(TRUE);
gInventory.updateItem(item);
gInventory.notifyObservers();
}
item->updateServer(TRUE);
gInventory.updateItem(item);
gInventory.notifyObservers();
}
else
{
@@ -1139,40 +1116,44 @@ void upload_done_callback(const LLUUID& uuid, void* user_data, S32 result, LLExt
data = NULL;
}
static LLAssetID upload_new_resource_prep(const LLTransactionID& tid,
LLAssetType::EType asset_type,
LLInventoryType::EType& inventory_type,
std::string& name,
const std::string& display_name,
std::string& description)
static LLAssetID upload_new_resource_prep(
const LLTransactionID& tid,
LLAssetType::EType asset_type,
LLInventoryType::EType& inventory_type,
std::string& name,
const std::string& display_name,
std::string& description)
{
LLAssetID uuid = generate_asset_id_for_new_upload(tid);
increase_new_upload_stats(asset_type);
assign_defaults_and_show_upload_message(asset_type,
inventory_type,
name,
display_name,
description);
assign_defaults_and_show_upload_message(
asset_type,
inventory_type,
name,
display_name,
description);
return uuid;
}
LLSD generate_new_resource_upload_capability_body(LLAssetType::EType asset_type,
const std::string& name,
const std::string& desc,
LLFolderType::EType destination_folder_type,
LLInventoryType::EType inv_type,
U32 next_owner_perms,
U32 group_perms,
U32 everyone_perms)
LLSD generate_new_resource_upload_capability_body(
LLAssetType::EType asset_type,
const std::string& name,
const std::string& desc,
LLFolderType::EType destination_folder_type,
LLInventoryType::EType inv_type,
U32 next_owner_perms,
U32 group_perms,
U32 everyone_perms)
{
LLSD body;
body["folder_id"] = gInventory.findCategoryUUIDForType(destination_folder_type == LLFolderType::FT_NONE ?
LLFolderType::assetTypeToFolderType(asset_type) :
destination_folder_type);
body["folder_id"] = gInventory.findCategoryUUIDForType(
destination_folder_type == LLFolderType::FT_NONE ?
LLFolderType::assetTypeToFolderType(asset_type) :
destination_folder_type);
body["asset_type"] = LLAssetType::lookup(asset_type);
body["inventory_type"] = LLInventoryType::lookup(inv_type);
@@ -1185,28 +1166,36 @@ LLSD generate_new_resource_upload_capability_body(LLAssetType::EType asset_type,
return body;
}
bool upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_type,
std::string name,
std::string desc, S32 compression_info,
LLFolderType::EType destination_folder_type,
LLInventoryType::EType inv_type,
U32 next_owner_perms,
U32 group_perms,
U32 everyone_perms,
const std::string& display_name,
LLAssetStorage::LLStoreAssetCallback callback,
S32 expected_upload_cost,
void *userdata,
void (*callback2)(bool, void*))
bool upload_new_resource(
const LLTransactionID &tid,
LLAssetType::EType asset_type,
std::string name,
std::string desc,
S32 compression_info,
LLFolderType::EType destination_folder_type,
LLInventoryType::EType inv_type,
U32 next_owner_perms,
U32 group_perms,
U32 everyone_perms,
const std::string& display_name,
LLAssetStorage::LLStoreAssetCallback callback,
S32 expected_upload_cost,
void *userdata,
void (*callback2)(bool, void*))
{
if(gDisconnected)
{
return false;
}
LLAssetID uuid = upload_new_resource_prep(tid, asset_type, inv_type,
name, display_name, desc);
LLAssetID uuid =
upload_new_resource_prep(
tid,
asset_type,
inv_type,
name,
display_name,
desc);
llinfos << "*** Uploading: "
<< "\nType: " << LLAssetType::lookup(asset_type)
<< "\nUUID: " << uuid
@@ -1226,6 +1215,7 @@ bool upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
// </edit>
{
llinfos << "New Agent Inventory via capability" << llendl;
LLSD body;
body["folder_id"] = gInventory.findCategoryUUIDForType((destination_folder_type == LLFolderType::FT_NONE) ? LLFolderType::assetTypeToFolderType(asset_type) : destination_folder_type);
body["asset_type"] = LLAssetType::lookup(asset_type);
@@ -1237,8 +1227,15 @@ bool upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
body["everyone_mask"] = LLSD::Integer(everyone_perms);
body["expected_upload_cost"] = LLSD::Integer(expected_upload_cost);
LLHTTPClient::post(url, body,
new LLNewAgentInventoryResponder(body, uuid, asset_type, callback2, userdata));
LLHTTPClient::post(
url,
body,
new LLNewAgentInventoryResponder(
body,
uuid,
asset_type,
callback2,
userdata));
}
else
{
@@ -1284,12 +1281,14 @@ bool upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
{
asset_callback = callback;
}
gAssetStorage->storeAssetData(data->mAssetInfo.mTransactionID, data->mAssetInfo.mType,
asset_callback,
(void*)data,
temporary,
TRUE,
temporary);
gAssetStorage->storeAssetData(
data->mAssetInfo.mTransactionID,
data->mAssetInfo.mType,
asset_callback,
(void*)data,
temporary,
TRUE,
temporary);
}
// Return true when a call to a callback function will follow.
@@ -1340,6 +1339,7 @@ void assign_defaults_and_show_upload_message(LLAssetType::EType asset_type,
}
LLStringUtil::stripNonprintable(name);
LLStringUtil::stripNonprintable(description);
if (name.empty())
{
name = "(No Name)";
@@ -1355,6 +1355,7 @@ void assign_defaults_and_show_upload_message(LLAssetType::EType asset_type,
LLUploadDialog::modalUploadDialog(upload_message);
}
void init_menu_file()
{
(new LLFileUploadImage())->registerListener(gMenuHolder, "File.UploadImage");
@@ -1368,13 +1369,13 @@ void init_menu_file()
(new LLFileEnableCloseAllWindows())->registerListener(gMenuHolder, "File.EnableCloseAllWindows");
// <edit>
(new LLFileMinimizeAllWindows())->registerListener(gMenuHolder, "File.MinimizeAllWindows");
(new LLFileLocalAssetBrowser())->registerListener(gMenuHolder, "File.LocalAssetBrowser");
// </edit>
(new LLFileSavePreview())->registerListener(gMenuHolder, "File.SavePreview");
(new LLFileSavePreviewPNG())->registerListener(gMenuHolder, "File.SavePreviewPNG");
(new LLFileTakeSnapshot())->registerListener(gMenuHolder, "File.TakeSnapshot");
(new LLFileTakeSnapshotToDisk())->registerListener(gMenuHolder, "File.TakeSnapshotToDisk");
(new LLFileQuit())->registerListener(gMenuHolder, "File.Quit");
(new LLFileLogOut())->registerListener(gMenuHolder, "File.LogOut");
(new LLFileEnableUpload())->registerListener(gMenuHolder, "File.EnableUpload");
(new LLFileEnableUploadModel())->registerListener(gMenuHolder, "File.EnableUploadModel");

View File

@@ -48,8 +48,6 @@ class NewResourceItemCallback : public LLInventoryCallback
class LLTransactionID;
extern std::deque<std::string> gUploadQueue;
void init_menu_file();
void upload_new_resource(const std::string& src_filename,

View File

@@ -1238,6 +1238,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam
}
if (gSavedSettings.getBOOL("ShowInInventory") &&
objects.size() == 1 && item != NULL &&
asset_type != LLAssetType::AT_CALLINGCARD &&
item->getInventoryType() != LLInventoryType::IT_ATTACHMENT &&
!from_name.empty())

View File

@@ -2830,14 +2830,17 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
static const LLCachedControl<F32> NAME_SHOW_TIME("RenderNameShowTime",10); // seconds
static const LLCachedControl<F32> FADE_DURATION("RenderNameFadeDuration",1); // seconds
static const LLCachedControl<bool> use_chat_bubbles("UseChatBubbles",false);
static const LLCachedControl<bool> use_typing_bubbles("UseTypingBubbles");
static const LLCachedControl<bool> render_name_hide_self("RenderNameHideSelf",false);
static const LLCachedControl<bool> allow_nameplate_override ("CCSAllowNameplateOverride", true);
// [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0b
// [RLVa:KB] - Checked: 2010-04-04 (RLVa-1.2.2a) | Added: RLVa-0.2.0b
bool fRlvShowNames = gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES);
// [/RLVa:KB]
BOOL visible_avatar = isVisible() || mNeedsAnimUpdate;
BOOL visible_chat = use_chat_bubbles && (mChats.size() || mTyping);
bool visible_typing = use_typing_bubbles && mTyping;
BOOL render_name = visible_chat ||
visible_typing ||
(visible_avatar &&
// [RLVa:KB] - Checked: 2010-04-04 (RLVa-1.2.2a) | Added: RLVa-1.0.0h
( (!fRlvShowNames) || (RlvSettings::getShowNameTags()) ) &&
@@ -2871,6 +2874,11 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
mVisibleChat = visible_chat;
new_name = TRUE;
}
if (visible_typing != mVisibleTyping)
{
mVisibleTyping = visible_typing;
new_name = true;
}
// [RLVa:KB] - Checked: 2010-04-04 (RLVa-1.2.2a) | Added: RLVa-0.2.0b
if (fRlvShowNames)
@@ -2895,7 +2903,7 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
if (mAppAngle > 5.f)
{
const F32 START_FADE_TIME = NAME_SHOW_TIME - FADE_DURATION;
if (!visible_chat && sRenderName == RENDER_NAME_FADE && time_visible > START_FADE_TIME)
if (!visible_chat && !visible_typing && sRenderName == RENDER_NAME_FADE && time_visible > START_FADE_TIME)
{
alpha = 1.f - (time_visible - START_FADE_TIME) / FADE_DURATION;
}
@@ -3271,7 +3279,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
new_name = TRUE;
}
if (mVisibleChat)
if (mVisibleChat || mVisibleTyping)
{
mNameText->setFont(LLFontGL::getFontSansSerif());
mNameText->setTextAlignment(LLHUDNameTag::ALIGN_TEXT_LEFT);
@@ -3281,6 +3289,8 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
mNameText->clearString();
LLColor4 new_chat = gColors.getColor( "AvatarNameColor" );
if (mVisibleChat)
{
LLColor4 normal_chat = lerp(new_chat, LLColor4(0.8f, 0.8f, 0.8f, 1.f), 0.7f);
LLColor4 old_chat = lerp(normal_chat, LLColor4(0.6f, 0.6f, 0.6f, 1.f), 0.7f);
if (mTyping && mChats.size() >= MAX_BUBBLE_CHAT_UTTERANCES)
@@ -3320,6 +3330,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
mNameText->addLine(chat_iter->mText, old_chat, style);
}
}
}
mNameText->setVisibleOffScreen(TRUE);
if (mTyping)
@@ -3351,7 +3362,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
void LLVOAvatar::addNameTagLine(const std::string& line, const LLColor4& color, S32 style, const LLFontGL* font)
{
llassert(mNameText);
if (mVisibleChat)
if (mVisibleChat || mVisibleTyping)
{
mNameText->addLabel(line);
}

View File

@@ -814,6 +814,7 @@ public:
void stopTyping() { mTyping = FALSE; mIdleTimer.reset();}
private:
BOOL mVisibleChat;
bool mVisibleTyping;
//--------------------------------------------------------------------
// Lip synch morphs

View File

@@ -1,6 +1,6 @@
<?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="FloaterChatRect" title="Local Chat" width="435">
<floater bottom="27" can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="true" can_tear_off="true" enabled="true" height="175" left="15"
min_height="100" min_width="425" name="chat floater" rect_control="FloaterChatRect" 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>
@@ -23,10 +23,10 @@
<string name="TeleportYourAgent">Teleport you</string>
<string name="ControlYourCamera">Control your camera</string>
<string name="OverrideAnimations">Override your default animations</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" 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">
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="160" left="0" orientation="horizontal" width="430" name="panels">
<layout_panel border="false" bottom="0" height="160" left="0" min_width="275" name="im_contents_panel" width="305">
<layout_stack border="false" bottom="0" default_tab_group="1" follows="all" height="160" left="0" orientation="vertical" name="im_contents_stack" width="305">
<layout_panel border="false" bottom="10" follows="all" height="135" left="0" name="history_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>
@@ -34,8 +34,8 @@
<!--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="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="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"/>
<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="107" 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="107" max_length="2147483647" name="Chat History Editor with mute" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="300" word_wrap="true"/>
</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">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="-298" can_close="true" can_resize="true" default_tab_group="1" follows="left|top|right|bottom" height="297" label="(unknown)" left="1" min_height="155" min_width="425" name="im_floater" rect_control="" title="(unknown)" width="501">
<floater border="true" bottom="-298" can_close="true" can_resize="true" default_tab_group="1" follows="left|top|right|bottom" height="197" label="(unknown)" left="1" min_height="100" min_width="425" name="im_floater" rect_control="" title="(unknown)" width="501">
<string name="answering">Connecting...</string>
<string name="ringing">Calling...</string>
<string name="connected">Connected, click End Call to hang up</string>
@@ -21,7 +21,7 @@
<volume_slider bottom="0" follows="bottom" height="15" increment="0.05" initial_val="0.5" max_val="1.0" min_val="0.0" name="speaker_volume" width="56"/>
<button bottom="0" height="20" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" scale_image="false" label="" left_delta="56" name="mute_btn" tool_tip="Mute voice" width="25"/>
</panel>
<text_editor bottom="28" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" height="228" left="5" max_length="2147483647" name="im_history" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="488" word_wrap="true"/>
<text_editor bottom="28" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" height="128" left="5" max_length="2147483647" name="im_history" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="488" word_wrap="true"/>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right" font="SansSerif" height="20" label="Click here to instant message" max_length="2147483647" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="423" spell_check="true"/>
<button bottom="5" follows="right|bottom" height="20" label="Send" left="433" name="send_btn" scale_image="true" width="60"/>
<string name="live_help_dialog">*** Welcome to Help Request ***

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="-298" can_close="true" can_minimize="false" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="297" label="(unknown)" left="1" min_height="225" min_width="265" name="im_floater" rect_control="" title="(unknown)" width="501">
<floater border="true" bottom="-298" can_close="true" can_minimize="false" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="197" label="(unknown)" left="1" min_height="100" min_width="265" name="im_floater" rect_control="" title="(unknown)" width="501">
<string name="ringing">Joining Voice Chat...</string>
<string name="connected">Connected, click End Call to hang up</string>
<string name="hang_up">Left Voice Chat</string>
@@ -8,13 +8,13 @@
<string name="typing_start_string">[NAME] is typing...</string>
<string name="session_start_string">Starting session with [NAME], please wait.</string>
<string name="default_text_label">Click here to instant message.</string>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="280" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="295" left="0" min_width="115" name="im_contents_panel" width="495">
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="180" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="195" left="0" min_width="115" name="im_contents_panel" width="495">
<button bottom="-20" follows="left|top" height="20" label="History" left="5" name="history_btn" width="80"/>
<button bottom_delta="0" enabled="false" follows="left|top" height="20" image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" label="Call" left_delta="80" name="start_call_btn" width="80"/>
<button bottom_delta="0" follows="left|top" height="20" image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" label="End Call" left_delta="0" name="end_call_btn" visible="false" width="80"/>
<button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="462" name="toggle_active_speakers_btn" right="495" tool_tip="Click here to toggle a list of active participants in this IM session." visible="true" width="80"/>
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="243" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="143" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right|bottom" font="SansSerif" handle_edit_keys_directly="false" height="20" label="Click here to instant message" left="5" max_length="1022" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="425" spell_check="true"/>
<button bottom_delta="0" enabled="true" follows="right|bottom" height="20" label="Send" left="435" name="send_btn" scale_image="true" width="60"/>
</layout_panel>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="-298" can_close="true" can_minimize="false" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="297" label="(unknown)" left="1" min_height="100" min_width="300" name="im_floater" rect_control="" title="(unknown)" width="501">
<floater border="true" bottom="-298" can_close="true" can_minimize="false" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="197" label="(unknown)" left="1" min_height="100" min_width="300" name="im_floater" rect_control="" title="(unknown)" width="501">
<string name="ringing">Joining Voice Chat...</string>
<string name="connected">Connected, click End Call to hang up</string>
<string name="hang_up">Left Voice Chat</string>
@@ -12,9 +12,9 @@
<button bottom_delta="0" enabled="false" follows="right|top" height="20" image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" label="Call" left_delta="80" name="start_call_btn" width="80"/>
<button bottom_delta="0" follows="right|top" height="20" image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" label="End Call" left_delta="0" name="end_call_btn" visible="false" width="80"/>
<button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="420" name="toggle_active_speakers_btn" right="450" tool_tip="Click here to toggle a list of active participants in this IM session." visible="true" width="80"/>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="280" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="295" left="0" min_width="115" name="im_contents_panel" width="495">
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="260" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="180" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="195" left="0" min_width="115" name="im_contents_panel" width="495">
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="160" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right|bottom" font="SansSerif" handle_edit_keys_directly="false" height="20" label="Click here to instant message" left="5" max_length="1022" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="425" spell_check="true"/>
<button bottom_delta="0" enabled="true" follows="right|bottom" height="20" label="Send" left="435" name="send_btn" scale_image="true" width="60"/>
</layout_panel>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="-298" can_close="true" can_resize="true" default_tab_group="1" follows="left|top|right|bottom" height="297" label="(unknown)" left="1" min_height="105" min_width="425" name="im_floater" rect_control="" title="(unknown)" width="501">
<floater border="true" bottom="-298" can_close="true" can_resize="true" default_tab_group="1" follows="left|top|right|bottom" height="197" label="(unknown)" left="1" min_height="100" min_width="425" name="im_floater" rect_control="" title="(unknown)" width="501">
<string name="answering">Connecting...</string>
<string name="ringing">Calling...</string>
<string name="connected">Connected, click End Call to hang up</string>
@@ -21,7 +21,7 @@
<volume_slider bottom="0" follows="bottom" height="20" increment="0.05" initial_val="0.5" max_val="1.0" min_val="0.0" name="speaker_volume" width="48"/>
<button bottom="0" height="16" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" scale_image="true" label="" left_delta="42" name="mute_btn" tool_tip="Mute voice" width="25"/>
</panel>
<text_editor bottom="28" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" height="245" left="5" max_length="2147483647" name="im_history" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="488" word_wrap="true"/>
<text_editor bottom="28" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" height="145" left="5" max_length="2147483647" name="im_history" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="488" word_wrap="true"/>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right" font="SansSerif" height="20" label="Click here to instant message" max_length="2147483647" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="423" spell_check="true"/>
<button bottom="5" follows="right|bottom" height="20" label="Send" left="433" name="send_btn" scale_image="true" width="60"/>
<string name="live_help_dialog">*** Welcome to Help Request ***

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="-298" can_close="true" can_minimize="true" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="297" label="(unknown)" left="1" min_height="200" min_width="360" name="im_floater" rect_control="" title="(unknown)" width="501">
<floater border="true" bottom="-298" can_close="true" can_minimize="true" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="197" label="(unknown)" left="1" min_height="100" min_width="360" name="im_floater" rect_control="" title="(unknown)" width="501">
<string name="ringing">Joining Voice Chat...</string>
<string name="connected">Connected, click End Call to hang up</string>
<string name="hang_up">Left Voice Chat</string>
@@ -10,14 +10,14 @@
<string name="default_text_label">Click here to instant message.</string>
<string name="moderated_chat_label">(Moderated: Voices off by default)</string>
<string name="muted_text_label">Your text chat has been disabled by a Group Moderator.</string>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="280" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="295" left="0" min_width="210" name="im_contents_panel" width="495">
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="180" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="195" left="0" min_width="210" name="im_contents_panel" width="495">
<button bottom="-20" follows="left|top" height="20" label="Group Info" left="5" name="group_info_btn" tab_group="0" width="80"/>
<button bottom_delta="0" follows="left|top" height="20" label="History" left_delta="80" name="history_btn" width="80"/>
<button bottom_delta="0" enabled="false" follows="left|top" halign="right" height="20" image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" label="Join Call" left_delta="80" name="start_call_btn" width="80"/>
<button bottom_delta="0" follows="left|top" halign="right" height="20" image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" label="End Call" left_delta="0" name="end_call_btn" pad_right="12" visible="false" width="80"/>
<button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="462" name="toggle_active_speakers_btn" right="495" tool_tip="Click here to toggle a list of active participants in this IM session." visible="true" width="80"/>
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="243" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="143" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right|bottom" font="SansSerif" height="20" left="5" max_length="1022" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="425" spell_check="true"/>
<button bottom="5" enabled="true" follows="right|bottom" height="20" label="Send" left="435" name="send_btn" scale_image="true" width="60"/>
</layout_panel>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="-298" can_close="true" can_minimize="true" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="297" label="(unknown)" left="1" min_height="100" min_width="330" name="im_floater" rect_control="" title="(unknown)" width="501">
<floater border="true" bottom="-298" can_close="true" can_minimize="true" can_resize="true" default_tab_group="1" enabled="true" follows="left|top|right|bottom" height="197" label="(unknown)" left="1" min_height="100" min_width="330" name="im_floater" rect_control="" title="(unknown)" width="501">
<string name="ringing">Joining Voice Chat...</string>
<string name="connected">Connected, click End Call to hang up</string>
<string name="hang_up">Left Voice Chat</string>
@@ -15,9 +15,9 @@
<button bottom_delta="0" enabled="false" follows="right|top" halign="right" height="20" image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" label="Join Call" left_delta="80" name="start_call_btn" width="80"/>
<button bottom_delta="0" follows="right|top" halign="right" height="20" image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" label="End Call" left_delta="0" name="end_call_btn" pad_right="12" visible="false" width="80"/>
<button bottom_delta="0" follows="right|top" height="20" label="&lt; &lt;" label_selected="&gt; &gt;" left="420" name="toggle_active_speakers_btn" right="450" tool_tip="Click here to toggle a list of active participants in this IM session." visible="true" width="80"/>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="280" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="295" left="0" min_width="115" name="im_contents_panel" width="495">
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="260" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<layout_stack border="false" bottom="0" follows="left|top|right|bottom" height="180" left="0" orientation="horizontal" tab_group="1" width="496" name="panels">
<layout_panel border="false" bottom="0" default_tab_group="1" follows="left|top|bottom|right" height="195" left="0" min_width="115" name="im_contents_panel" width="495">
<text_editor bottom="28" type="string" length="1" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" font="SansSerif" height="160" left="5" max_length="2147483647" name="im_history" track_bottom="true" text_color="ChatHistoryTextColor" text_readonly_color="ChatHistoryTextColor" width="490" word_wrap="true"/>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right|bottom" font="SansSerif" height="20" left="5" max_length="1022" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="425" spell_check="true"/>
<button bottom="5" enabled="true" follows="right|bottom" height="20" label="Send" left="435" name="send_btn" scale_image="true" width="60"/>
</layout_panel>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="false" can_drag_on_left="false" can_minimize="true"
can_resize="true" can_tear_off="true" height="390" min_height="240"
can_resize="true" can_tear_off="true" height="390" min_height="100"
min_width="365" name="floater_my_friends"
rect_control="FloaterContactsRect" title="Contacts" width="395">
<tab_container bottom="6" follows="left|right|top|bottom" height="364" left="4"

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="false" can_drag_on_left="false" can_minimize="true"
can_resize="true" can_tear_off="true" height="390" min_height="205"
can_resize="true" can_tear_off="true" height="390" min_height="100"
min_width="275" name="floater_my_friends"
rect_control="FloaterContactsHorizRect" title="Contacts" width="395">
<tab_container bottom="6" follows="left|right|top|bottom" height="364" left="4"

View File

@@ -37,6 +37,9 @@
<on_click function="Object.ImportUpload" />
<on_enable function="Object.EnableImport" />
</menu_item_call>
<menu_item_call label="Change Local Textures" mouse_opaque="true" name="Change Local Textures">
<on_click function="File.LocalAssetBrowser"/>
</menu_item_call>
<menu_item_separator enabled="true" label="-----------" mouse_opaque="true" name="separator" />
<menu_item_call enabled="true" label="Set Default Permissions..."
mouse_opaque="true" name="perm prefs" >
@@ -44,6 +47,9 @@
</menu_item_call>
<menu_item_separator bottom="-94" enabled="true" height="8" label="-----------" left="0"
mouse_opaque="true" name="separator" width="243" />
<menu_item_call label="Minimize All Windows" mouse_opaque="true" name="Minimize All Windows">
<on_click function="File.MinimizeAllWindows"/>
</menu_item_call>
<menu_item_call bottom="-113" enabled="true" height="19" label="Close Window" left="0"
mouse_opaque="true" name="Close Window" shortcut="control|W" width="243">
<on_click function="File.CloseWindow" userdata="" />

View File

@@ -24,6 +24,7 @@
<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"/>
<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"/>
<check_box bottom_delta="-20" follows="left|top" control_name="UseTypingBubbles" label="Use overhead typing indicator bubbles" name="use_typing_bubbles"/>
<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."
follows="top" height="20" left="20" name="objects_link" width="350">

View File

@@ -1,16 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="toolbox floater" title="" short_title="Construire">
<button label="" label_selected="" name="button focus" tool_tip="Mise au point"/>
<button label="" label_selected="" name="button move" tool_tip="Déplacer"/>
<button label="" label_selected="" name="button edit" tool_tip="Modifier"/>
<button label="" label_selected="" name="button create" tool_tip="Créer"/>
<button label="" label_selected="" name="button land" tool_tip="Terrain"/>
<!-- Main floater tabs -->
<button name="button focus" tool_tip="Mise au point"/>
<button name="button move" tool_tip="Déplacer"/>
<button name="button edit" tool_tip="Modifier"/>
<button name="button create" tool_tip="Créer"/>
<button name="button land" tool_tip="Terrain"/>
<!-- Focus panel -->
<check_box label="Zoom" name="radio zoom"/>
<check_box label="Orbite (Ctrl)" name="radio orbit"/>
<check_box label="Panoramique (Ctrl-Maj)" name="radio pan"/>
<!-- Move panel -->
<check_box label="Déplacer" name="radio move"/>
<check_box label="Orbite (Ctrl)" name="radio lift"/>
<check_box label="Faire tourner (Ctrl-Maj)" name="radio spin"/>
<!-- Edit panel -->
<check_box label="Positionner" name="radio position"/>
<check_box label="Pivoter (Ctrl)" name="radio rotate"/>
<check_box label="Étirer (Ctrl-Maj)" name="radio stretch"/>
@@ -32,11 +43,20 @@
</combo_box>
<check_box label="Étirer les deux côtés" name="checkbox uniform"/>
<check_box label="Étirer les textures" name="checkbox stretch textures"/>
<check_box label="Utiliser la grille" name="checkbox snap to grid"/>
<check_box label="Limiter le 'drag distance'" name="checkbox limit drag distance"/>
<check_box label="Editer l'axe sur le 'Root'" name="checkbox actual root"/>
<check_box label="Montrer les ojb. invisibles" name="checkbox show highlight"/>
<check_box label="Grille" name="checkbox snap to grid"/>
<button label="Options" label_selected="Options" name="Options"/>
<!-- Help text -->
<text name="text status">
Glissez pour déplacer, Maj-glissez pour copier.
</text>
<!-- Create panel -->
<button name="ToolCube" tool_tip="Cube"/>
<button name="ToolPrism" tool_tip="Prisme droit"/>
<button name="ToolPyramid" tool_tip="Pyramide"/>
@@ -56,6 +76,9 @@
<check_box label="Copier la sélection" name="checkbox copy selection"/>
<check_box label="Centrer" name="checkbox copy centers"/>
<check_box label="Pivoter" name="checkbox copy rotates"/>
<!-- Land panel -->
<check_box label="Sélectionner le terrain" name="radio select land"/>
<check_box label="Aplatir" name="radio flatten"/>
<check_box label="Élever" name="radio raise"/>
@@ -73,12 +96,12 @@
<text name="Strength:">
Force
</text>
<text name="obj_count">
Objets sélectionnés : [COUNT]
</text>
<text name="prim_count">
Prims : [COUNT]
Prims : [COUNT]
</text>
<!-- Sub-tabs -->
<tab_container name="Object Info Tabs">
<panel label="Général" name="General">
<text name="Name:">
@@ -97,15 +120,10 @@
<text name="Owner:">
Propriétaire :
</text>
<button label="Profil" label_selected="Profil" name="button last owner profile"/>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
mouse_opaque="true" name="Last Owner:" v_pad="0" width="78">
<text name="Last Owner:">
Dernier Proprio :
</text>
<text name="Owner Name">
Thrax Linden
</text>
@@ -124,7 +142,7 @@
<text name="perm_modify">
Vous pouvez modifier cet objet.
</text>
<check_box label="Partager avec le groupe" name="checkbox share with group" tool_tip="Autorise tous les membres du groupe choisi à utiliser et à partager vos droits pour cet objet. Pour activer les restrictions de rôles, vous devez d&apos;abord cliquer sur Transférer."/>
<check_box label="Partager avec le groupe" name="checkbox share with group" tool_tip="Autorise tous les membres du groupe choisi à utiliser et à partager vos droits pour cet objet. Pour activer les restrictions de rôles, vous devez d'abord cliquer sur Transférer."/>
<string name="text deed continued">
Transférer
</string>
@@ -132,12 +150,14 @@
Transférer
</string>
<button label="Céder" label_selected="Céder" name="button deed" tool_tip="Les objets partagés par un groupe peuvent être cédés par un officier."/>
<check_box label="Autoriser tout le monde à déplacer" name="checkbox allow everyone move"/>
<check_box label="Autoriser tout le monde à copier" name="checkbox allow everyone copy"/>
<check_box label="Afficher dans la recherche" name="search_check" tool_tip="Affiche l&apos;objet dans les résultats de recherche"/>
<text name="text anyone can">Tout le monde peux:</text>
<check_box label="Déplacer" name="checkbox allow everyone move"/>
<check_box label="Copier" name="checkbox allow everyone copy"/>
<check_box name="checkbox allow export" label="Exporter"/>
<check_box label="Afficher dans la recherche" name="search_check" tool_tip="Affiche l'objet dans les résultats de recherche"/>
<check_box label="À vendre" name="checkbox for sale"/>
<text name="Cost">
Prix : [CURRENCY]
Prix : [CURRENCY]
</text>
<radio_group name="sale type">
<radio_item name="Original">
@@ -151,26 +171,26 @@
</radio_item>
</radio_group>
<text name="Next owner can:">
Le prochain propriétaire pourra :
Le prochain propriétaire pourra :
</text>
<check_box label="Modifier" name="checkbox next owner can modify"/>
<check_box label="Copier" left_delta="66" name="checkbox next owner can copy"/>
<check_box label="Revendre/Donner" name="checkbox next owner can transfer"/>
<text name="label click action">
Action du clic-gauche :
Action du clic-gauche :
</text>
<combo_box name="clickaction" width="178">
<combo_item name="Touch/grab(default)">
Toucher/attraper (défaut)
</combo_item>
<combo_item name="Sitonobject">
S&apos;asseoir sur l&apos;objet
S'asseoir sur l'objet
</combo_item>
<combo_item name="Buyobject">
Acheter l&apos;objet
Acheter l'objet
</combo_item>
<combo_item name="Payobject">
Payer l&apos;objet
Payer l'objet
</combo_item>
<combo_item name="Open">
Ouvrir
@@ -183,24 +203,14 @@
</combo_item>
</combo_box>
<button bottom="-338" label="Copier la Clef" tool_tip="Copie la clef dans le presse-papier." width="80"/>
<text name="B:">
B :
</text>
<text name="O:">
O :
</text>
<text name="G:">
G :
</text>
<text name="E:">
E :
</text>
<text name="N:">
N :
</text>
<text name="F:">
F :
</text>
<panel name="pathfinding_attrs_panel">
<text name="pathfinding_attributes_label">
Pathfinding :
</text>
<text name="pathfinding_attributes_value">
Tester
</text>
</panel>
<string name="text modify info 1">
Vous pouvez modifier cet objet.
</string>
@@ -217,13 +227,13 @@
Sélectionnez l'objet en entier.
</string>
<string name="Cost Default">
Prix : [CURRENCY]
Prix : [CURRENCY]
</string>
<string name="Cost Total">
Prix total : [CURRENCY]
Prix total : [CURRENCY]
</string>
<string name="Cost Per Unit">
Prix par : [CURRENCY]
Prix par : [CURRENCY]
</string>
<string name="Cost Mixed">
Prix mixte
@@ -232,19 +242,12 @@
Vente mixte
</string>
</panel>
<!-- Object sub-tab -->
<panel label="Objet" name="Object">
<text name="select_single">
</text>
<text name="edit_object">
</text>
<button bottom="-26" follows="top|right" font="SansSerifSmall" halign="center"
height="18" label="Lier" left="10" mouse_opaque="true" name="link_obj" enabled="true"
tool_tip="" width="50" />
<button bottom_delta="0" follows="top|right" font="SansSerifSmall" halign="center"
height="18" label="Delier" left_delta="50" mouse_opaque="true" name="unlink_obj" enabled="true"
tool_tip="Unlinks linkset." width="50" />
<button label="Lier" name="link_obj"/>
<button label="Delier" name="unlink_obj"/>
<check_box label="Verrouillé" name="checkbox locked" tool_tip="Empêche l'objet d'être déplacé ou supprimé. Utile pendant la construction pour éviter les modifications involontaires."/>
<check_box label="Physique" name="Physical Checkbox Ctrl" tool_tip="Permet à l'objet d'être poussé et affecté par la gravité"/>
<check_box label="Temporaire" name="Temporary Checkbox Ctrl" tool_tip="L'objet est supprimé 2 mn après sa création."/>
@@ -252,21 +255,12 @@
<text name="label position">
Position (mètres)
</text>
<spinner label="X" name="Pos X"/>
<spinner label="Y" name="Pos Y"/>
<spinner label="Z" name="Pos Z"/>
<text name="label size">
Taille (mètres)
</text>
<spinner label="X" name="Scale X"/>
<spinner label="Y" name="Scale Y"/>
<spinner label="Z" name="Scale Z"/>
<text name="label rotation">
Rotation (degrés)
</text>
<spinner label="X" name="Rot X"/>
<spinner label="Y" name="Rot Y"/>
<spinner label="Z" name="Rot Z"/>
<text name="label material">
Matériau
</text>
@@ -414,12 +408,15 @@
</combo_item>
</combo_box>
</panel>
<!-- Features sub-tab -->
<panel label="Attributs" name="Features">
<text name="select_single">
Sélectionnez un prim pour modifier les attributs.
</text>
<text name="edit_object">
Modifiez les attributs de l'objet :
Modifiez les attributs de l'objet :
</text>
<check_box label="Flexibilité" name="Flexible1D Checkbox Ctrl" tool_tip="Donne à l'objet de la souplesse sur l'axe des Z (côté client uniquement)."/>
<spinner label="Souplesse" name="FlexNumSections"/>
@@ -539,9 +536,7 @@
<text name="tex scale">
Répétitions par face
</text>
<spinner label="Horizontal (U)" name="TexScaleU"/>
<check_box label="Inverser" name="checkbox flip s"/>
<spinner label="Vertical (V)" name="TexScaleV"/>
<check_box label="Inverser" name="checkbox flip t"/>
<text name="tex rotate">
Rotation (degrés)
@@ -561,21 +556,17 @@
<text name="tex offset">
Décalage
</text>
<spinner label="Horizontal (U)" name="TexOffsetU"/>
<spinner label="Vertical (V)" name="TexOffsetV"/>
<text name="textbox autofix">
Ajuster la texture du média
(chargement préalable)
</text>
<button label="Ajuster" label_selected="Ajuster" left="140" name="button align" width="45"/>
<text name="textbox params">Paramètres</text>
<button label="Copier" name="copytextures" tool_tip="Copie les paramètres de la texture dans le presse papier" width="55"/>
<button label="Coller" name="pastetextures" tool_tip="Colle les paramètres de la texture du presse papier" width="55"/>
</panel>
<panel label="Contenu" name="Contents">
<button label="Nouveau script" label_selected="Nouveau script" name="button new script"/>
<button label="Permissions" name="button permissions"/>
</panel>
</tab_container>
<panel name="land info panel">

View File

@@ -8,6 +8,7 @@
<menu_item_call label="Import multiples ([UPLOADFEE] par fichier)" name="Bulk Upload"/>
<menu_item_call label="Import XML" name="Import"/>
<menu_item_call label="Import avec textures" name="Import2"/>
<menu_item_call label="Changer les textures locales" name="Change Local Textures"/>
<menu_item_separator/>
<menu_item_call label="Définir les droits par défaut " name="perm prefs"/>
<menu_item_separator/>
@@ -15,6 +16,7 @@
<menu_item_call label="Enregistrer la texture sur le disque dur en PNG" name="Save Preview AsPNG..."/>
<menu_item_separator/>
<menu_item_call label="Minimiser toutes les fenêtres" name="Minimize All Windows"/>
<menu_item_call label="Fermer la fenêtre" name="Close Window"/>
<menu_item_call label="Fermer toutes les fenêtres" name="Close All Windows"/>
<menu_item_separator label="-----------" name="separator3"/>
@@ -240,4 +242,4 @@
</menu>
<menu_item_call label="A propos de Singularity" name="About Second Life..."/>
</menu>
</menu_bar>
</menu_bar>

View File

@@ -11,6 +11,7 @@
<check_box label="Permet d'utiliser &#x22;/me&#x22; aussi bien que &#x22;:&#x22;" name="allow_mu_pose_check"/>
<check_box label="Ajoute les fins des commentaires (RP mode)" tool_tip="Ajoute automatiquement &#x22;))&#x22; &#xE0; chaque message commen&#xE7;ant par &#x22;((&#x22;, et vice-versa." name="close_ooc_check"/>
<check_box label="Montre les changements de display name" tool_tip="" name="display_name_change"/>
<check_box label="Le texte ecris d&#xE9;file au dessus de l'avi" name="use_typing_bubbles"/>
<text name="objects_link_text_box3">Active un lien qui montre le nom du propri&#xE9;taire dans l'historique du chat pour :</text>
<radio_group tool_tip="Enables a link to show you the owner of the speaking object." name="objects_link">
<radio_item name="no_object">Aucun objet</radio_item>

View File

@@ -71,6 +71,7 @@
<check_box label="Prendre discr&#xE8;tement un photo, sur votre disque dur" tool_tip="Permet de prendre une photo en mode &#x22;espionnage&#x22;, sans bruit d&#x27;appareil, ni mouvement de cam&#xE9;ra, ni gesture. (Uniquement vers le disque dur)." name="quiet_snapshots_check"/>
<check_box label="En vous levant, annule les permissions que l&#x27;objet a sur votre avatar" tool_tip="Evite que l&#x27;objet garde le contr&#xF4;le de votre avatar, comme par exemple les animations." name="revoke_perms_on_stand_up_check"/>
<check_box label="D&#xE9;sactive le &#x22;Click to sit&#x22; automatique" tool_tip="D&#xE9;sactive llSitTarget. Vous devrez s&#xE9;lectionner vous m&#xEA;me la fonction &#x22;sit&#x22; sur l&#x27;objet." name="disable_click_sit_check"/>
<check_box left_delta="210" label="Sur les objets qui ne sont pas a vous" tool_tip="" name="disable_click_sit_own_check"/>
<check_box label="Affiche les changements de d&#xE9;comptes de scripts de la r&#xE9;gion." name="totalscriptjumps" tool_tip="D&#xE9;pendant du seuil que vous choisissez dans la fen&#xEA;tre &#xE0; droite."/>
<spinner left_delta="350" name="ScriptJumpCount" tool_tip="Threshold for the script jump message [Default: 100]"/>
</panel>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel label="Vanity" name="ascvan">
<tab_container label="Singularity Vanity" name="Ascent Vanity">
<panel name="ascvan">
<tab_container name="Ascent Vanity">
<panel label="Principal" name="General">
<check_box label="Lorsque c'est possible, sauver le setting personnalisé par compte." tool_tip="Sauve le settings customis&#xE9; pour chaque alt." name="use_account_settings_check"/>
<check_box label="Masquer la barre de 'TP in progress'" tool_tip="Ceci permet de continuer des lire vos IMs durant le TP." name="disable_tp_screen_check"/>
@@ -46,13 +46,7 @@
<check_box name="color_linden_check" tool_tip="Color Linden Chat"/>
<check_box name="color_muted_check" tool_tip="Color Muted Chat"/>
</panel>
<panel label="Body Dyn. (Bouger les n&#xE9;n&#xE9;s)" name="Body Dynamics">
<check_box label="Activer les &#x22;physics&#x22; des n&#xE9;n&#xE9;s voire du popotin des avatars ^^" name="EmBreastsToggle"/>
<slider name="EmeraldBoobMass" label="Masse :" />
<slider name="EmeraldBoobHardness" label="Rebond :"/>
<slider name="EmeraldBoobVelMax" label="V&#xE9;locit&#xE9; max :"/>
<slider name="EmeraldBoobFriction" label="Friction :"/>
<slider name="EmeraldBoobVelMin" label="V&#xE9;locit&#xE9; min :"/>
<panel label="Body Dyn.(Offset de l'avatar)" name="Body Dynamics">
<text name="av_mod_textbox" follows="top">Modifier l'offset de l'avatar</text>
<spinner label="X Modif." name="X Modifier"/>
<spinner label="Y Modif." name="Y Modifier"/>

View File

@@ -3,36 +3,31 @@
<text name="text_box">Bande passante max:</text>
<text name="text_box2">kbps (kilobits par seconde)</text>
<text name="text_box3">Bande passante de la texture:</text>
<slider left_delta="150" name="tex_bandwidth" width="140"/>
<text left_delta="146" name="text_box2">kbps (kilobits par seconde)</text>
<slider left_delta="145" name="tex_bandwidth" width="145"/>
<text left_delta="150" name="text_box4">kbps (kilobits par seconde)</text>
<text name="use_http_for">Utiliser HTTP pour:</text>
<check_box left_delta="100" label="Textures" name="http_textures"/>
<check_box label="Inventaire" name="http_inventory"/>
<text name="cache_size_label_l">Taille du cache:</text>
<text name="text_box5">Mo</text>
<button label="Vider la mémoire cache" label_selected="Vider le cache" name="clear_cache" width="150"/>
<button label="Vider le cache" name="clear_cache" width="130"/>
<text name="cache_location_label">Emplacement du cache:</text>
<button label="Modifier" label_selected="Modifier" name="set_cache"/>
<button label="Réinitialiser" label_selected="Réinitialiser" name="reset_cache"/>
<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"/>
<text name="socks5_auth_label">Proxy Http:</text>
<check_box label="Port de Connexion personnalisé" name="connection_port_enabled"/>
<spinner label="Num. du Port:" name="connection_port"/>
<radio_group name="socks5_http_proxy_type">
<radio_item name="None">aucun</radio_item>
<radio_item name="None">Aucun</radio_item>
<radio_item name="Socks">Socks</radio_item>
<radio_item name="Web">Web</radio_item>
</radio_group>
<check_box label="Activer SOCKS 5 Proxy" name="socks5_proxy_enabled"/>
<text name="socks5_host_label">H&#xF4;te Socks 5:</text>
<line_editor name="socks5_proxy_host" tool_tip=""/>
<spinner label="Numéro de port:" label_width="80" name="socks5_proxy_port"/>
<text name="socks5_host_label">H&#xF4;te Socks 5 :</text>
<spinner label="Num. du Port:" name="socks5_proxy_port"/>
<text name="socks5_auth_label2">Authentification:</text>
<radio_group name="socks5_auth">
<radio_item name="None" tool_tip="">aucune</radio_item>
<radio_item name="UserPass" tool_tip="">Nom/Mot de passe</radio_item>
<radio_item name="None">Aucune</radio_item>
<radio_item name="UserPass">Nom/Mot de passe</radio_item>
</radio_group>
<text name="socks5_username_label">Nom:</text>
<line_editor name="socks5_proxy_username"/>
<text name="socks5_password_label">Mot de Passe:</text>
<line_editor name="socks5_proxy_password"/>
</panel>

View File

@@ -7,6 +7,9 @@
<text name="text_box2">
kbps (kilobits por segundo)
</text>
<text name="text_box4">
kbps (kilobits por segundo)
</text>
<text name="cache_size_label_l">
Tamanho do Cachê de Disco:
</text>

View File

@@ -1,35 +1,36 @@
#!/usr/bin/python
# @file viewer_manifest.py
# @author Ryan Williams
# @brief Description of all installer viewer files, and methods for packaging
# them into installers for all supported platforms.
#
# $LicenseInfo:firstyear=2006&license=viewergpl$
#
# Copyright (c) 2006-2009, Linden Research, Inc.
#
# Second Life Viewer Source Code
# The source code in this file ("Source Code") is provided by Linden Lab
# to you under the terms of the GNU General Public License, version 2.0
# ("GPL"), unless you have obtained a separate licensing agreement
# ("Other License"), formally executed by you and Linden Lab. Terms of
# the GPL can be found in doc/GPL-license.txt in this distribution, or
# online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
#
# There are special exceptions to the terms and conditions of the GPL as
# it is applied to this Source Code. View the full text of the exception
# in the file doc/FLOSS-exception.txt in this software distribution, or
# online at
# http://secondlifegrid.net/programs/open_source/licensing/flossexception
#
# By copying, modifying or distributing this software, you acknowledge
# that you have read and understood your obligations described above,
# and agree to abide by those obligations.
#
# ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
# COMPLETENESS OR PERFORMANCE.
# $/LicenseInfo$
#!/usr/bin/env python
"""\
@file viewer_manifest.py
@author Ryan Williams
@brief Description of all installer viewer files, and methods for packaging
them into installers for all supported platforms.
$LicenseInfo:firstyear=2006&license=viewergpl$
Second Life Viewer Source Code
Copyright (c) 2006-2009, Linden Research, Inc.
The source code in this file ("Source Code") is provided by Linden Lab
to you under the terms of the GNU General Public License, version 2.0
("GPL"), unless you have obtained a separate licensing agreement
("Other License"), formally executed by you and Linden Lab. Terms of
the GPL can be found in doc/GPL-license.txt in this distribution, or
online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
There are special exceptions to the terms and conditions of the GPL as
it is applied to this Source Code. View the full text of the exception
in the file doc/FLOSS-exception.txt in this software distribution, or
online at
http://secondlifegrid.net/programs/open_source/licensing/flossexception
By copying, modifying or distributing this software, you acknowledge
that you have read and understood your obligations described above,
and agree to abide by those obligations.
ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
COMPLETENESS OR PERFORMANCE.
$/LicenseInfo$
"""
import sys
import os.path
import re
@@ -56,10 +57,13 @@ class ViewerManifest(LLManifest):
# include the entire shaders directory recursively
self.path("shaders")
# ... and the entire windlight directory
self.path("windlight")
# ... and the hunspell dictionaries
self.path("dictionaries")
self.end_prefix("app_settings")
if self.prefix(src="character"):
@@ -104,6 +108,7 @@ class ViewerManifest(LLManifest):
self.path("*/*/*.html")
self.path("*/*/*.gif")
self.end_prefix("*/html")
self.end_prefix("skins")
# Files in the newview/ directory
@@ -359,6 +364,7 @@ class WindowsManifest(ViewerManifest):
result += 'File ' + pkg_file + '\n'
else:
result += 'Delete ' + wpath(os.path.join('$INSTDIR', rel_file)) + '\n'
# at the end of a delete, just rmdir all the directories
if not install:
deleted_file_dirs = [os.path.dirname(pair[1].replace(self.get_dst_prefix()+os.path.sep,'')) for pair in self.file_list]
@@ -695,6 +701,9 @@ class LinuxManifest(ViewerManifest):
self.path("wrapper.sh",self.wrapper_name())
self.path("handle_secondlifeprotocol.sh")
self.path("register_secondlifeprotocol.sh")
self.path("refresh_desktop_app_entry.sh")
self.path("launch_url.sh")
self.path("install.sh")
self.end_prefix("linux_tools")
# Create an appropriate gridargs.dat for this package, denoting required grid.
@@ -707,7 +716,6 @@ class LinuxManifest(ViewerManifest):
self.path("secondlife-bin","bin/"+self.binary_name())
self.path("../linux_crash_logger/linux-crash-logger","linux-crash-logger.bin")
self.path("linux_tools/launch_url.sh","launch_url.sh")
self.path("../llplugin/slplugin/SLPlugin", "bin/SLPlugin")
if self.prefix("res-sdl"):
self.path("*")