Merge remote-tracking branch 'lirusaito/master'
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -66,6 +66,7 @@ protected:
|
||||
BOOL mHideTypingNotification;
|
||||
BOOL mShowGroupNameInChatIM;
|
||||
bool mShowDisplayNameChanges;
|
||||
bool mUseTypingBubbles;
|
||||
BOOL mPlayTypingSound;
|
||||
BOOL mHideNotificationsInChat;
|
||||
BOOL mEnableMUPose;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
106
indra/newview/linux_tools/install.sh
Normal file
106
indra/newview/linux_tools/install.sh
Normal 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
|
||||
36
indra/newview/linux_tools/refresh_desktop_app_entry.sh
Normal file
36
indra/newview/linux_tools/refresh_desktop_app_entry.sh
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -63,11 +62,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
|
||||
@@ -89,12 +86,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;
|
||||
|
||||
|
||||
@@ -502,6 +496,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
|
||||
@@ -600,20 +603,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)
|
||||
@@ -696,7 +685,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)
|
||||
@@ -992,16 +981,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,
|
||||
@@ -1011,16 +994,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
|
||||
{
|
||||
@@ -1129,40 +1106,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);
|
||||
@@ -1175,28 +1156,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
|
||||
@@ -1216,6 +1205,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);
|
||||
@@ -1227,8 +1217,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
|
||||
{
|
||||
@@ -1274,12 +1271,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.
|
||||
@@ -1330,6 +1329,7 @@ void assign_defaults_and_show_upload_message(LLAssetType::EType asset_type,
|
||||
}
|
||||
LLStringUtil::stripNonprintable(name);
|
||||
LLStringUtil::stripNonprintable(description);
|
||||
|
||||
if (name.empty())
|
||||
{
|
||||
name = "(No Name)";
|
||||
@@ -1345,6 +1345,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");
|
||||
@@ -1358,13 +1359,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");
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -814,6 +814,7 @@ public:
|
||||
void stopTyping() { mTyping = FALSE; mIdleTimer.reset();}
|
||||
private:
|
||||
BOOL mVisibleChat;
|
||||
bool mVisibleTyping;
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// Lip synch morphs
|
||||
|
||||
@@ -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="" />
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<check_box label="Permet d'utiliser "/me" aussi bien que ":"" name="allow_mu_pose_check"/>
|
||||
<check_box label="Ajoute les fins des commentaires (RP mode)" tool_tip="Ajoute automatiquement "))" à chaque message commençant par "((", 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é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é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>
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
<check_box label="Prendre discrètement un photo, sur votre disque dur" tool_tip="Permet de prendre une photo en mode "espionnage", sans bruit d'appareil, ni mouvement de caméra, ni gesture. (Uniquement vers le disque dur)." name="quiet_snapshots_check"/>
|
||||
<check_box label="En vous levant, annule les permissions que l'objet a sur votre avatar" tool_tip="Evite que l'objet garde le contrôle de votre avatar, comme par exemple les animations." name="revoke_perms_on_stand_up_check"/>
|
||||
<check_box label="Désactive le "Click to sit" automatique" tool_tip="Désactive llSitTarget. Vous devrez sélectionner vous même la fonction "sit" sur l'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écomptes de scripts de la région." name="totalscriptjumps" tool_tip="Dépendant du seuil que vous choisissez dans la fenêtre à droite."/>
|
||||
<spinner left_delta="350" name="ScriptJumpCount" tool_tip="Threshold for the script jump message [Default: 100]"/>
|
||||
</panel>
|
||||
|
||||
@@ -3,37 +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>
|
||||
<text name="text_box4">kbps (kilobits par seconde)</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ô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ô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>
|
||||
|
||||
@@ -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("*")
|
||||
|
||||
Reference in New Issue
Block a user