summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorPalmer Truelson <palmer@lindenlab.com>2010-03-17 14:23:53 -0700
committerPalmer Truelson <palmer@lindenlab.com>2010-03-17 14:23:53 -0700
commit86229c1b57fbb748d622caf875e879c227fce762 (patch)
tree5e45b15b31e577fe78bbef8921c75b91cdf31e79 /indra
parentfd749ea7d5dac43f6efdb2e7eefe9131cf57ec97 (diff)
parent1e713c886c2ba688a6145d682a8685e547de54ad (diff)
merge
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llcursortypes.cpp3
-rw-r--r--indra/llcommon/llcursortypes.h3
-rw-r--r--indra/llplugin/llpluginclassmedia.cpp24
-rw-r--r--indra/llplugin/llpluginclassmedia.h8
-rw-r--r--indra/llplugin/llpluginprocesschild.cpp4
-rw-r--r--indra/llplugin/llpluginprocesschild.h3
-rw-r--r--indra/llplugin/llpluginprocessparent.cpp9
-rw-r--r--indra/llplugin/llpluginprocessparent.h7
-rw-r--r--indra/llui/llurlentry.cpp58
-rw-r--r--indra/llui/llurlentry.h1
-rw-r--r--indra/llui/llview.cpp2
-rw-r--r--indra/llwindow/llwindowmacosx.cpp9
-rw-r--r--indra/llwindow/llwindowwin32.cpp6
-rw-r--r--indra/media_plugins/example/media_plugin_example.cpp26
-rw-r--r--indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp58
-rw-r--r--indra/media_plugins/quicktime/media_plugin_quicktime.cpp66
-rw-r--r--indra/media_plugins/webkit/media_plugin_webkit.cpp255
-rw-r--r--indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tifbin0 -> 59044 bytes
-rw-r--r--indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tifbin0 -> 58560 bytes
-rw-r--r--indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tifbin0 -> 58464 bytes
-rw-r--r--indra/newview/llfloaterinventory.cpp36
-rw-r--r--indra/newview/llfloaterinventory.h4
-rw-r--r--indra/newview/llfloaterpreference.cpp25
-rw-r--r--indra/newview/llfolderviewitem.cpp21
-rw-r--r--indra/newview/llinventorybridge.cpp6
-rw-r--r--indra/newview/llinventorypanel.cpp3
-rw-r--r--indra/newview/llpanellandmarks.cpp10
-rw-r--r--indra/newview/llpanellandmarks.h4
-rw-r--r--indra/newview/llpanelmaininventory.cpp31
-rw-r--r--indra/newview/llpanelmaininventory.h3
-rw-r--r--indra/newview/llpanelobjectinventory.cpp2
-rw-r--r--indra/newview/lltextureview.cpp11
-rw-r--r--indra/newview/lltoolpie.cpp16
-rw-r--r--indra/newview/llviewermedia.cpp5
-rw-r--r--indra/newview/llviewermenu.cpp3
-rw-r--r--indra/newview/llviewermessage.cpp2
-rw-r--r--indra/newview/llviewerparcelmedia.cpp49
-rw-r--r--indra/newview/llviewerparcelmediaautoplay.cpp18
-rw-r--r--indra/newview/llvoavatarself.cpp2
-rw-r--r--indra/newview/llworld.cpp3
-rw-r--r--indra/newview/res-sdl/ll_icon.BMPbin5174 -> 262198 bytes
-rw-r--r--indra/newview/res/ll_icon.pngbin73845 -> 29561 bytes
-rw-r--r--indra/newview/res/toolbuy.curbin0 -> 4286 bytes
-rw-r--r--indra/newview/res/toolopen.curbin0 -> 4286 bytes
-rw-r--r--indra/newview/res/toolsit.curbin0 -> 4286 bytes
-rw-r--r--indra/newview/res/viewerRes.rc31
-rw-r--r--indra/newview/skins/default/textures/icons/SL_Logo.pngbin973 -> 3999 bytes
-rw-r--r--indra/newview/skins/default/xui/de/panel_profile.xml6
-rw-r--r--indra/newview/skins/default/xui/en/floater_inventory.xml16
-rw-r--r--indra/newview/skins/default/xui/en/floater_preferences.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_tools.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_avatar_list_item.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_main_inventory.xml63
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_advanced.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_alerts.xml8
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_general.xml4
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml21
-rw-r--r--indra/newview/skins/default/xui/fr/panel_profile.xml4
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml596
-rw-r--r--indra/test_apps/llplugintest/bookmarks.txt24
-rw-r--r--indra/test_apps/llplugintest/llmediaplugintest.cpp7
61 files changed, 903 insertions, 685 deletions
diff --git a/indra/llcommon/llcursortypes.cpp b/indra/llcommon/llcursortypes.cpp
index 23ede97af3..6751c235f6 100644
--- a/indra/llcommon/llcursortypes.cpp
+++ b/indra/llcommon/llcursortypes.cpp
@@ -72,6 +72,9 @@ ECursorType getCursorFromString(const std::string& cursor_string)
cursor_string_table["UI_CURSOR_TOOLPAUSE"] = UI_CURSOR_TOOLPAUSE;
cursor_string_table["UI_CURSOR_TOOLMEDIAOPEN"] = UI_CURSOR_TOOLMEDIAOPEN;
cursor_string_table["UI_CURSOR_PIPETTE"] = UI_CURSOR_PIPETTE;
+ cursor_string_table["UI_CURSOR_TOOLSIT"] = UI_CURSOR_TOOLSIT;
+ cursor_string_table["UI_CURSOR_TOOLBUY"] = UI_CURSOR_TOOLBUY;
+ cursor_string_table["UI_CURSOR_TOOLOPEN"] = UI_CURSOR_TOOLOPEN;
}
std::map<std::string,U32>::const_iterator iter = cursor_string_table.find(cursor_string);
diff --git a/indra/llcommon/llcursortypes.h b/indra/llcommon/llcursortypes.h
index a1b8178bfe..143c2c64cf 100644
--- a/indra/llcommon/llcursortypes.h
+++ b/indra/llcommon/llcursortypes.h
@@ -68,6 +68,9 @@ enum ECursorType {
UI_CURSOR_TOOLPAUSE,
UI_CURSOR_TOOLMEDIAOPEN,
UI_CURSOR_PIPETTE,
+ UI_CURSOR_TOOLSIT,
+ UI_CURSOR_TOOLBUY,
+ UI_CURSOR_TOOLOPEN,
UI_CURSOR_COUNT // Number of elements in this enum (NOT a cursor)
};
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp
index d48f4ad0f5..cb62e46271 100644
--- a/indra/llplugin/llpluginclassmedia.cpp
+++ b/indra/llplugin/llpluginclassmedia.cpp
@@ -65,15 +65,19 @@ LLPluginClassMedia::~LLPluginClassMedia()
reset();
}
-bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path, const std::string &language_code)
+bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug)
{
LL_DEBUGS("Plugin") << "launcher: " << launcher_filename << LL_ENDL;
LL_DEBUGS("Plugin") << "plugin: " << plugin_filename << LL_ENDL;
- LL_DEBUGS("Plugin") << "user_data_path: " << user_data_path << LL_ENDL;
mPlugin = new LLPluginProcessParent(this);
mPlugin->setSleepTime(mSleepTime);
- mPlugin->init(launcher_filename, plugin_filename, debug, user_data_path,language_code);
+
+ // Queue up the media init message -- it will be sent after all the currently queued messages.
+ LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "init");
+ sendMessage(message);
+
+ mPlugin->init(launcher_filename, plugin_filename, debug);
return true;
}
@@ -678,6 +682,20 @@ void LLPluginClassMedia::paste()
sendMessage(message);
}
+void LLPluginClassMedia::setUserDataPath(const std::string &user_data_path)
+{
+ LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "set_user_data_path");
+ message.setValue("path", user_data_path);
+ sendMessage(message);
+}
+
+void LLPluginClassMedia::setLanguageCode(const std::string &language_code)
+{
+ LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "set_language_code");
+ message.setValue("language", language_code);
+ sendMessage(message);
+}
+
LLPluginClassMedia::ETargetType getTargetTypeFromLLQtWebkit(int target_type)
{
// convert a LinkTargetType value from llqtwebkit to an ETargetType
diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h
index ce49241e84..6318c67f12 100644
--- a/indra/llplugin/llpluginclassmedia.h
+++ b/indra/llplugin/llpluginclassmedia.h
@@ -51,9 +51,7 @@ public:
// local initialization, called by the media manager when creating a source
virtual bool init(const std::string &launcher_filename,
const std::string &plugin_filename,
- bool debug,
- const std::string &user_data_path,
- const std::string &language_code);
+ bool debug);
// undoes everything init() didm called by the media manager when destroying a source
virtual void reset();
@@ -177,6 +175,10 @@ public:
void paste();
bool canPaste() const { return mCanPaste; };
+
+ // These can be called before init(), and they will be queued and sent before the media init message.
+ void setUserDataPath(const std::string &user_data_path);
+ void setLanguageCode(const std::string &language_code);
///////////////////////////////////
// media browser class functions
diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp
index 9b43ec0e3e..ccaf95b36d 100644
--- a/indra/llplugin/llpluginprocesschild.cpp
+++ b/indra/llplugin/llpluginprocesschild.cpp
@@ -155,8 +155,6 @@ void LLPluginProcessChild::idle(void)
{
setState(STATE_PLUGIN_INITIALIZING);
LLPluginMessage message("base", "init");
- message.setValue("user_data_path", mUserDataPath);
- message.setValue("language_code", mLanguageCode);
sendMessageToPlugin(message);
}
break;
@@ -329,8 +327,6 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message)
if(message_name == "load_plugin")
{
mPluginFile = parsed.getValue("file");
- mUserDataPath = parsed.getValue("user_data_path");
- mLanguageCode = parsed.getValue("language_code");
}
else if(message_name == "shm_add")
{
diff --git a/indra/llplugin/llpluginprocesschild.h b/indra/llplugin/llpluginprocesschild.h
index af76ec1fa5..0e5e85406a 100644
--- a/indra/llplugin/llpluginprocesschild.h
+++ b/indra/llplugin/llpluginprocesschild.h
@@ -98,9 +98,6 @@ private:
std::string mPluginFile;
- std::string mUserDataPath;
- std::string mLanguageCode;
-
LLPluginInstance *mInstance;
typedef std::map<std::string, LLPluginSharedMemory*> sharedMemoryRegionsType;
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index 0ce2c759ba..895c858979 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -98,15 +98,12 @@ void LLPluginProcessParent::errorState(void)
setState(STATE_ERROR);
}
-void LLPluginProcessParent::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug, const std::string &user_data_path, const std::string &language_code)
+void LLPluginProcessParent::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug)
{
mProcess.setExecutable(launcher_filename);
mPluginFile = plugin_filename;
mCPUUsage = 0.0f;
- mDebug = debug;
- mUserDataPath = user_data_path;
- mLanguageCode = language_code;
-
+ mDebug = debug;
setState(STATE_INITIALIZED);
}
@@ -363,8 +360,6 @@ void LLPluginProcessParent::idle(void)
{
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_INTERNAL, "load_plugin");
message.setValue("file", mPluginFile);
- message.setValue("user_data_path", mUserDataPath);
- message.setValue("language_code", mLanguageCode);
sendMessage(message);
}
diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h
index 23702814c8..cc6c513615 100644
--- a/indra/llplugin/llpluginprocessparent.h
+++ b/indra/llplugin/llpluginprocessparent.h
@@ -61,9 +61,7 @@ public:
void init(const std::string &launcher_filename,
const std::string &plugin_filename,
- bool debug,
- const std::string &user_data_path,
- const std::string &language_code);
+ bool debug);
void idle(void);
@@ -148,9 +146,6 @@ private:
std::string mPluginFile;
- std::string mUserDataPath;
- std::string mLanguageCode;
-
LLPluginProcessParentOwner *mOwner;
typedef std::map<std::string, LLPluginSharedMemory*> sharedMemoryRegionsType;
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp
index 35428e4227..e8e3459673 100644
--- a/indra/llui/llurlentry.cpp
+++ b/indra/llui/llurlentry.cpp
@@ -310,7 +310,6 @@ LLUrlEntryAgent::LLUrlEntryAgent()
boost::regex::perl|boost::regex::icase);
mMenuName = "menu_url_agent.xml";
mIcon = "Generic_Person";
- mTooltip = LLTrans::getString("TooltipAgentUrl");
mColor = LLUIColorTable::instance().getColor("AgentLinkColor");
}
@@ -323,6 +322,38 @@ void LLUrlEntryAgent::onAgentNameReceived(const LLUUID& id,
callObservers(id.asString(), first + " " + last);
}
+std::string LLUrlEntryAgent::getTooltip(const std::string &string) const
+{
+ // return a tooltip corresponding to the URL type instead of the generic one
+ std::string url = getUrl(string);
+
+ if (LLStringUtil::endsWith(url, "/mute"))
+ {
+ return LLTrans::getString("TooltipAgentMute");
+ }
+ if (LLStringUtil::endsWith(url, "/unmute"))
+ {
+ return LLTrans::getString("TooltipAgentUnmute");
+ }
+ if (LLStringUtil::endsWith(url, "/im"))
+ {
+ return LLTrans::getString("TooltipAgentIM");
+ }
+ if (LLStringUtil::endsWith(url, "/pay"))
+ {
+ return LLTrans::getString("TooltipAgentPay");
+ }
+ if (LLStringUtil::endsWith(url, "/offerteleport"))
+ {
+ return LLTrans::getString("TooltipAgentOfferTeleport");
+ }
+ if (LLStringUtil::endsWith(url, "/requestfriend"))
+ {
+ return LLTrans::getString("TooltipAgentRequestFriend");
+ }
+ return LLTrans::getString("TooltipAgentUrl");
+}
+
std::string LLUrlEntryAgent::getLabel(const std::string &url, const LLUrlLabelCallback &cb)
{
if (!gCacheName)
@@ -346,6 +377,31 @@ std::string LLUrlEntryAgent::getLabel(const std::string &url, const LLUrlLabelCa
}
else if (gCacheName->getFullName(agent_id, full_name))
{
+ // customize label string based on agent SLapp suffix
+ if (LLStringUtil::endsWith(url, "/mute"))
+ {
+ return LLTrans::getString("SLappAgentMute") + " " + full_name;
+ }
+ if (LLStringUtil::endsWith(url, "/unmute"))
+ {
+ return LLTrans::getString("SLappAgentUnmute") + " " + full_name;
+ }
+ if (LLStringUtil::endsWith(url, "/im"))
+ {
+ return LLTrans::getString("SLappAgentIM") + " " + full_name;
+ }
+ if (LLStringUtil::endsWith(url, "/pay"))
+ {
+ return LLTrans::getString("SLappAgentPay") + " " + full_name;
+ }
+ if (LLStringUtil::endsWith(url, "/offerteleport"))
+ {
+ return LLTrans::getString("SLappAgentOfferTeleport") + " " + full_name;
+ }
+ if (LLStringUtil::endsWith(url, "/requestfriend"))
+ {
+ return LLTrans::getString("SLappAgentRequestFriend") + " " + full_name;
+ }
return full_name;
}
else
diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h
index c947ef7259..84d0968779 100644
--- a/indra/llui/llurlentry.h
+++ b/indra/llui/llurlentry.h
@@ -169,6 +169,7 @@ class LLUrlEntryAgent : public LLUrlEntryBase
public:
LLUrlEntryAgent();
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb);
+ /*virtual*/ std::string getTooltip(const std::string &string) const;
private:
void onAgentNameReceived(const LLUUID& id, const std::string& first,
const std::string& last, BOOL is_group);
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index d34083a384..57beb71a01 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -152,7 +152,7 @@ LLView::~LLView()
//llinfos << "Deleting view " << mName << ":" << (void*) this << llendl;
if (LLView::sIsDrawing)
{
- llwarns << "Deleting view " << mName << " during UI draw() phase" << llendl;
+ lldebugs << "Deleting view " << mName << " during UI draw() phase" << llendl;
}
// llassert(LLView::sIsDrawing == FALSE);
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 924acaf148..224314a490 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -2807,6 +2807,9 @@ const char* cursorIDToName(int id)
case UI_CURSOR_TOOLPAUSE: return "UI_CURSOR_TOOLPAUSE";
case UI_CURSOR_TOOLMEDIAOPEN: return "UI_CURSOR_TOOLMEDIAOPEN";
case UI_CURSOR_PIPETTE: return "UI_CURSOR_PIPETTE";
+ case UI_CURSOR_TOOLSIT: return "UI_CURSOR_TOOLSIT";
+ case UI_CURSOR_TOOLBUY: return "UI_CURSOR_TOOLBUY";
+ case UI_CURSOR_TOOLOPEN: return "UI_CURSOR_TOOLOPEN";
}
llerrs << "cursorIDToName: unknown cursor id" << id << llendl;
@@ -2909,6 +2912,9 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
case UI_CURSOR_TOOLPLAY:
case UI_CURSOR_TOOLPAUSE:
case UI_CURSOR_TOOLMEDIAOPEN:
+ case UI_CURSOR_TOOLSIT:
+ case UI_CURSOR_TOOLBUY:
+ case UI_CURSOR_TOOLOPEN:
result = setImageCursor(gCursors[cursor]);
break;
@@ -2950,6 +2956,9 @@ void LLWindowMacOSX::initCursors()
initPixmapCursor(UI_CURSOR_TOOLPLAY, 1, 1);
initPixmapCursor(UI_CURSOR_TOOLPAUSE, 1, 1);
initPixmapCursor(UI_CURSOR_TOOLMEDIAOPEN, 1, 1);
+ initPixmapCursor(UI_CURSOR_TOOLSIT, 20, 15);
+ initPixmapCursor(UI_CURSOR_TOOLBUY, 20, 15);
+ initPixmapCursor(UI_CURSOR_TOOLOPEN, 20, 15);
initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10);
initPixmapCursor(UI_CURSOR_SIZENESW, 10, 10);
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 4be5d06c2b..5f778d6208 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -46,6 +46,7 @@
#include "llerror.h"
#include "llgl.h"
#include "llstring.h"
+#include "lldir.h"
// System includes
#include <commdlg.h>
@@ -1545,6 +1546,11 @@ void LLWindowWin32::initCursors()
mCursor[ UI_CURSOR_PIPETTE ] = LoadCursor(module, TEXT("TOOLPIPETTE"));
// Color cursors
+ gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "res", "toolbuy.cur");
+
+ mCursor[UI_CURSOR_TOOLSIT] = LoadCursorFromFile(utf8str_to_utf16str(gDirUtilp->getWorkingDir() + gDirUtilp->getDirDelimiter() + "res" + gDirUtilp->getDirDelimiter() + "toolsit.cur").c_str());
+ mCursor[UI_CURSOR_TOOLBUY] = LoadCursorFromFile(utf8str_to_utf16str(gDirUtilp->getWorkingDir() + gDirUtilp->getDirDelimiter() + "res" + gDirUtilp->getDirDelimiter() + "toolbuy.cur").c_str());
+ mCursor[UI_CURSOR_TOOLOPEN] = LoadCursorFromFile(utf8str_to_utf16str(gDirUtilp->getWorkingDir() + gDirUtilp->getDirDelimiter() + "res" + gDirUtilp->getDirDelimiter() + "toolopen.cur").c_str());
mCursor[UI_CURSOR_TOOLPLAY] = loadColorCursor(TEXT("TOOLPLAY"));
mCursor[UI_CURSOR_TOOLPAUSE] = loadColorCursor(TEXT("TOOLPAUSE"));
mCursor[UI_CURSOR_TOOLMEDIAOPEN] = loadColorCursor(TEXT("TOOLMEDIAOPEN"));
diff --git a/indra/media_plugins/example/media_plugin_example.cpp b/indra/media_plugins/example/media_plugin_example.cpp
index f5b077fea0..49bbca6c52 100644
--- a/indra/media_plugins/example/media_plugin_example.cpp
+++ b/indra/media_plugins/example/media_plugin_example.cpp
@@ -119,17 +119,6 @@ void MediaPluginExample::receiveMessage( const char* message_string )
std::string plugin_version = "Example media plugin, Example Version 1.0.0.0";
message.setValue( "plugin_version", plugin_version );
sendMessage( message );
-
- // Plugin gets to decide the texture parameters to use.
- message.setMessage( LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params" );
- message.setValueS32( "default_width", mWidth );
- message.setValueS32( "default_height", mHeight );
- message.setValueS32( "depth", mDepth );
- message.setValueU32( "internalformat", GL_RGBA );
- message.setValueU32( "format", GL_RGBA );
- message.setValueU32( "type", GL_UNSIGNED_BYTE );
- message.setValueBoolean( "coords_opengl", false );
- sendMessage( message );
}
else
if ( message_name == "idle" )
@@ -191,7 +180,20 @@ void MediaPluginExample::receiveMessage( const char* message_string )
else
if ( message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA )
{
- if ( message_name == "size_change" )
+ if ( message_name == "init" )
+ {
+ // Plugin gets to decide the texture parameters to use.
+ LLPluginMessage message( LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params" );
+ message.setValueS32( "default_width", mWidth );
+ message.setValueS32( "default_height", mHeight );
+ message.setValueS32( "depth", mDepth );
+ message.setValueU32( "internalformat", GL_RGBA );
+ message.setValueU32( "format", GL_RGBA );
+ message.setValueU32( "type", GL_UNSIGNED_BYTE );
+ message.setValueBoolean( "coords_opengl", false );
+ sendMessage( message );
+ }
+ else if ( message_name == "size_change" )
{
std::string name = message_in.getValue( "name" );
S32 width = message_in.getValueS32( "width" );
diff --git a/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp b/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
index 26173314a7..a69da3ff5a 100644
--- a/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
+++ b/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
@@ -946,33 +946,6 @@ void MediaPluginGStreamer010::receiveMessage(const char *message_string)
message.setValue("plugin_version", getVersion());
sendMessage(message);
-
- // Plugin gets to decide the texture parameters to use.
- message.setMessage(LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params");
- // lame to have to decide this now, it depends on the movie. Oh well.
- mDepth = 4;
-
- mCurrentWidth = 1;
- mCurrentHeight = 1;
- mPreviousWidth = 1;
- mPreviousHeight = 1;
- mNaturalWidth = 1;
- mNaturalHeight = 1;
- mWidth = 1;
- mHeight = 1;
- mTextureWidth = 1;
- mTextureHeight = 1;
-
- message.setValueU32("format", GL_RGBA);
- message.setValueU32("type", GL_UNSIGNED_INT_8_8_8_8_REV);
-
- message.setValueS32("depth", mDepth);
- message.setValueS32("default_width", mWidth);
- message.setValueS32("default_height", mHeight);
- message.setValueU32("internalformat", GL_RGBA8);
- message.setValueBoolean("coords_opengl", true); // true == use OpenGL-style coordinates, false == (0,0) is upper left.
- message.setValueBoolean("allow_downsample", true); // we respond with grace and performance if asked to downscale
- sendMessage(message);
}
else if(message_name == "idle")
{
@@ -1037,7 +1010,36 @@ void MediaPluginGStreamer010::receiveMessage(const char *message_string)
}
else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA)
{
- if(message_name == "size_change")
+ if(message_name == "init")
+ {
+ // Plugin gets to decide the texture parameters to use.
+ LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params");
+ // lame to have to decide this now, it depends on the movie. Oh well.
+ mDepth = 4;
+
+ mCurrentWidth = 1;
+ mCurrentHeight = 1;
+ mPreviousWidth = 1;
+ mPreviousHeight = 1;
+ mNaturalWidth = 1;
+ mNaturalHeight = 1;
+ mWidth = 1;
+ mHeight = 1;
+ mTextureWidth = 1;
+ mTextureHeight = 1;
+
+ message.setValueU32("format", GL_RGBA);
+ message.setValueU32("type", GL_UNSIGNED_INT_8_8_8_8_REV);
+
+ message.setValueS32("depth", mDepth);
+ message.setValueS32("default_width", mWidth);
+ message.setValueS32("default_height", mHeight);
+ message.setValueU32("internalformat", GL_RGBA8);
+ message.setValueBoolean("coords_opengl", true); // true == use OpenGL-style coordinates, false == (0,0) is upper left.
+ message.setValueBoolean("allow_downsample", true); // we respond with grace and performance if asked to downscale
+ sendMessage(message);
+ }
+ else if(message_name == "size_change")
{
std::string name = message_in.getValue("name");
S32 width = message_in.getValueS32("width");
diff --git a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
index e230fcc280..1f88301ca7 100644
--- a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
+++ b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp
@@ -859,36 +859,6 @@ void MediaPluginQuickTime::receiveMessage(const char *message_string)
plugin_version += codec.str();
message.setValue("plugin_version", plugin_version);
sendMessage(message);
-
- // Plugin gets to decide the texture parameters to use.
- message.setMessage(LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params");
- #if defined(LL_WINDOWS)
- // Values for Windows
- mDepth = 3;
- message.setValueU32("format", GL_RGB);
- message.setValueU32("type", GL_UNSIGNED_BYTE);
-
- // We really want to pad the texture width to a multiple of 32 bytes, but since we're using 3-byte pixels, it doesn't come out even.
- // Padding to a multiple of 3*32 guarantees it'll divide out properly.
- message.setValueU32("padding", 32 * 3);
- #else
- // Values for Mac
- mDepth = 4;
- message.setValueU32("format", GL_BGRA_EXT);
- #ifdef __BIG_ENDIAN__
- message.setValueU32("type", GL_UNSIGNED_INT_8_8_8_8_REV );
- #else
- message.setValueU32("type", GL_UNSIGNED_INT_8_8_8_8);
- #endif
-
- // Pad texture width to a multiple of 32 bytes, to line up with cache lines.
- message.setValueU32("padding", 32);
- #endif
- message.setValueS32("depth", mDepth);
- message.setValueU32("internalformat", GL_RGB);
- message.setValueBoolean("coords_opengl", true); // true == use OpenGL-style coordinates, false == (0,0) is upper left.
- message.setValueBoolean("allow_downsample", true);
- sendMessage(message);
}
else if(message_name == "idle")
{
@@ -953,7 +923,41 @@ void MediaPluginQuickTime::receiveMessage(const char *message_string)
}
else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA)
{
- if(message_name == "size_change")
+ if(message_name == "init")
+ {
+ // This is the media init message -- all necessary data for initialization should have been received.
+
+ // Plugin gets to decide the texture parameters to use.
+ LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params");
+ #if defined(LL_WINDOWS)
+ // Values for Windows
+ mDepth = 3;
+ message.setValueU32("format", GL_RGB);
+ message.setValueU32("type", GL_UNSIGNED_BYTE);
+
+ // We really want to pad the texture width to a multiple of 32 bytes, but since we're using 3-byte pixels, it doesn't come out even.
+ // Padding to a multiple of 3*32 guarantees it'll divide out properly.
+ message.setValueU32("padding", 32 * 3);
+ #else
+ // Values for Mac
+ mDepth = 4;
+ message.setValueU32("format", GL_BGRA_EXT);
+ #ifdef __BIG_ENDIAN__
+ message.setValueU32("type", GL_UNSIGNED_INT_8_8_8_8_REV );
+ #else
+ message.setValueU32("type", GL_UNSIGNED_INT_8_8_8_8);
+ #endif
+
+ // Pad texture width to a multiple of 32 bytes, to line up with cache lines.
+ message.setValueU32("padding", 32);
+ #endif
+ message.setValueS32("depth", mDepth);
+ message.setValueU32("internalformat", GL_RGB);
+ message.setValueBoolean("coords_opengl", true); // true == use OpenGL-style coordinates, false == (0,0) is upper left.
+ message.setValueBoolean("allow_downsample", true);
+ sendMessage(message);
+ }
+ else if(message_name == "size_change")
{
std::string name = message_in.getValue("name");
S32 width = message_in.getValueS32("width");
diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp
index afde904be6..24c53638d2 100644
--- a/indra/media_plugins/webkit/media_plugin_webkit.cpp
+++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp
@@ -88,10 +88,12 @@ public:
private:
std::string mProfileDir;
+ std::string mHostLanguage;
enum
{
- INIT_STATE_UNINITIALIZED, // Browser instance hasn't been set up yet
+ INIT_STATE_UNINITIALIZED, // LLQtWebkit hasn't been set up yet
+ INIT_STATE_INITIALIZED, // LLQtWebkit has been set up, but no browser window has been created yet.
INIT_STATE_NAVIGATING, // Browser instance has been set up and initial navigate to about:blank has been issued
INIT_STATE_NAVIGATE_COMPLETE, // initial navigate to about:blank has completed
INIT_STATE_WAIT_REDRAW, // First real navigate begin has been received, waiting for page changed event to start handling redraws
@@ -191,13 +193,6 @@ private:
if ( mInitState > INIT_STATE_UNINITIALIZED )
return true;
- // not enough information to initialize the browser yet.
- if ( mWidth < 0 || mHeight < 0 || mDepth < 0 ||
- mTextureWidth < 0 || mTextureHeight < 0 )
- {
- return false;
- };
-
// set up directories
char cwd[ FILENAME_MAX ]; // I *think* this is defined on all platforms we use
if (NULL == getcwd( cwd, FILENAME_MAX - 1 ))
@@ -208,12 +203,12 @@ private:
std::string application_dir = std::string( cwd );
#if LL_DARWIN
- // When running under the Xcode debugger, there's a setting called "Break on Debugger()/DebugStr()" which defaults to being turned on.
- // This causes the environment variable USERBREAK to be set to 1, which causes these legacy calls to break into the debugger.
- // This wouldn't cause any problems except for the fact that the current release version of the Flash plugin has a call to Debugger() in it
- // which gets hit when the plugin is probed by webkit.
- // Unsetting the environment variable here works around this issue.
- unsetenv("USERBREAK");
+ // When running under the Xcode debugger, there's a setting called "Break on Debugger()/DebugStr()" which defaults to being turned on.
+ // This causes the environment variable USERBREAK to be set to 1, which causes these legacy calls to break into the debugger.
+ // This wouldn't cause any problems except for the fact that the current release version of the Flash plugin has a call to Debugger() in it
+ // which gets hit when the plugin is probed by webkit.
+ // Unsetting the environment variable here works around this issue.
+ unsetenv("USERBREAK");
#endif
#if LL_WINDOWS
@@ -254,66 +249,92 @@ private:
bool result = LLQtWebKit::getInstance()->init( application_dir, component_dir, mProfileDir, native_window_handle );
if ( result )
{
- // create single browser window
- mBrowserWindowId = LLQtWebKit::getInstance()->createBrowserWindow( mWidth, mHeight );
+ mInitState = INIT_STATE_INITIALIZED;
+
+ return true;
+ };
+
+ return false;
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////
+ //
+ bool initBrowserWindow()
+ {
+ // already initialized
+ if ( mInitState > INIT_STATE_INITIALIZED )
+ return true;
+
+ // not enough information to initialize the browser yet.
+ if ( mWidth < 0 || mHeight < 0 || mDepth < 0 ||
+ mTextureWidth < 0 || mTextureHeight < 0 )
+ {
+ return false;
+ };
+
+ // Set up host language before creating browser window
+ if(!mHostLanguage.empty())
+ {
+ LLQtWebKit::getInstance()->setHostLanguage(mHostLanguage);
+ }
+
+ // create single browser window
+ mBrowserWindowId = LLQtWebKit::getInstance()->createBrowserWindow( mWidth, mHeight );
#if LL_WINDOWS
- // Enable plugins
- LLQtWebKit::getInstance()->enablePlugins(true);
+ // Enable plugins
+ LLQtWebKit::getInstance()->enablePlugins(true);
#elif LL_DARWIN
- // Enable plugins
- LLQtWebKit::getInstance()->enablePlugins(true);
+ // Enable plugins
+ LLQtWebKit::getInstance()->enablePlugins(true);
#elif LL_LINUX
- // Enable plugins
- LLQtWebKit::getInstance()->enablePlugins(true);
+ // Enable plugins
+ LLQtWebKit::getInstance()->enablePlugins(true);
#endif
- // Enable cookies
- LLQtWebKit::getInstance()->enableCookies( true );
+ // Enable cookies
+ LLQtWebKit::getInstance()->enableCookies( true );
- // tell LLQtWebKit about the size of the browser window
- LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight );
+ // tell LLQtWebKit about the size of the browser window
+ LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight );
- // observer events that LLQtWebKit emits
- LLQtWebKit::getInstance()->addObserver( mBrowserWindowId, this );
+ // observer events that LLQtWebKit emits
+ LLQtWebKit::getInstance()->addObserver( mBrowserWindowId, this );
- // append details to agent string
- LLQtWebKit::getInstance()->setBrowserAgentId( "LLPluginMedia Web Browser" );
+ // append details to agent string
+ LLQtWebKit::getInstance()->setBrowserAgentId( "LLPluginMedia Web Browser" );
#if !LL_QTWEBKIT_USES_PIXMAPS
- // don't flip bitmap
- LLQtWebKit::getInstance()->flipWindow( mBrowserWindowId, true );
+ // don't flip bitmap
+ LLQtWebKit::getInstance()->flipWindow( mBrowserWindowId, true );
#endif // !LL_QTWEBKIT_USES_PIXMAPS
-
- // set background color
- // convert background color channels from [0.0, 1.0] to [0, 255];
- LLQtWebKit::getInstance()->setBackgroundColor( mBrowserWindowId, int(mBackgroundR * 255.0f), int(mBackgroundG * 255.0f), int(mBackgroundB * 255.0f) );
-
- // Set state _before_ starting the navigate, since onNavigateBegin might get called before this call returns.
- setInitState(INIT_STATE_NAVIGATING);
-
- // Don't do this here -- it causes the dreaded "white flash" when loading a browser instance.
- // FIXME: Re-added this because navigating to a "page" initializes things correctly - especially
- // for the HTTP AUTH dialog issues (DEV-41731). Will fix at a later date.
- // Build a data URL like this: "data:text/html,%3Chtml%3E%3Cbody bgcolor=%22#RRGGBB%22%3E%3C/body%3E%3C/html%3E"
- // where RRGGBB is the background color in HTML style
- std::stringstream url;
-
- url << "data:text/html,%3Chtml%3E%3Cbody%20bgcolor=%22#";
- // convert background color channels from [0.0, 1.0] to [0, 255];
- url << std::setfill('0') << std::setw(2) << std::hex << int(mBackgroundR * 255.0f);
- url << std::setfill('0') << std::setw(2) << std::hex << int(mBackgroundG * 255.0f);
- url << std::setfill('0') << std::setw(2) << std::hex << int(mBackgroundB * 255.0f);
- url << "%22%3E%3C/body%3E%3C/html%3E";
-
- lldebugs << "data url is: " << url.str() << llendl;
-
- LLQtWebKit::getInstance()->navigateTo( mBrowserWindowId, url.str() );
-// LLQtWebKit::getInstance()->navigateTo( mBrowserWindowId, "about:blank" );
-
- return true;
- };
+
+ // set background color
+ // convert background color channels from [0.0, 1.0] to [0, 255];
+ LLQtWebKit::getInstance()->setBackgroundColor( mBrowserWindowId, int(mBackgroundR * 255.0f), int(mBackgroundG * 255.0f), int(mBackgroundB * 255.0f) );
+
+ // Set state _before_ starting the navigate, since onNavigateBegin might get called before this call returns.
+ setInitState(INIT_STATE_NAVIGATING);
+
+ // Don't do this here -- it causes the dreaded "white flash" when loading a browser instance.
+ // FIXME: Re-added this because navigating to a "page" initializes things correctly - especially
+ // for the HTTP AUTH dialog issues (DEV-41731). Will fix at a later date.
+ // Build a data URL like this: "data:text/html,%3Chtml%3E%3Cbody bgcolor=%22#RRGGBB%22%3E%3C/body%3E%3C/html%3E"
+ // where RRGGBB is the background color in HTML style
+ std::stringstream url;
+
+ url << "data:text/html,%3Chtml%3E%3Cbody%20bgcolor=%22#";
+ // convert background color channels from [0.0, 1.0] to [0, 255];
+ url << std::setfill('0') << std::setw(2) << std::hex << int(mBackgroundR * 255.0f);
+ url << std::setfill('0') << std::setw(2) << std::hex << int(mBackgroundG * 255.0f);
+ url << std::setfill('0') << std::setw(2) << std::hex << int(mBackgroundB * 255.0f);
+ url << "%22%3E%3C/body%3E%3C/html%3E";
+
+ lldebugs << "data url is: " << url.str() << llendl;
+
+ LLQtWebKit::getInstance()->navigateTo( mBrowserWindowId, url.str() );
+// LLQtWebKit::getInstance()->navigateTo( mBrowserWindowId, "about:blank" );
- return false;
- };
+ return true;
+ }
void setVolume(F32 vol);
@@ -676,9 +697,6 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
{
if(message_name == "init")
{
- std::string user_data_path = message_in.getValue("user_data_path"); // n.b. always has trailing platform-specific dir-delimiter
- mProfileDir = user_data_path + "browser_profile";
-
LLPluginMessage message("base", "init_response");
LLSD versions = LLSD::emptyMap();
versions[LLPLUGIN_MESSAGE_CLASS_BASE] = LLPLUGIN_MESSAGE_CLASS_BASE_VERSION;
@@ -690,23 +708,6 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
plugin_version += LLQtWebKit::getInstance()->getVersion();
message.setValue("plugin_version", plugin_version);
sendMessage(message);
-
- // Plugin gets to decide the texture parameters to use.
- mDepth = 4;
-
- message.setMessage(LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params");
- message.setValueS32("default_width", 1024);
- message.setValueS32("default_height", 1024);
- message.setValueS32("depth", mDepth);
- message.setValueU32("internalformat", GL_RGBA);
-#if LL_QTWEBKIT_USES_PIXMAPS
- message.setValueU32("format", GL_BGRA_EXT); // I hope this isn't system-dependant... is it? If so, we'll have to check the root window's pixel layout or something... yuck.
-#else
- message.setValueU32("format", GL_RGBA);
-#endif // LL_QTWEBKIT_USES_PIXMAPS
- message.setValueU32("type", GL_UNSIGNED_BYTE);
- message.setValueBoolean("coords_opengl", true);
- sendMessage(message);
}
else if(message_name == "idle")
{
@@ -771,7 +772,7 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
// std::cerr << "MediaPluginWebKit::receiveMessage: unknown base message: " << message_name << std::endl;
}
}
- else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_TIME)
+ else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_TIME)
{
if(message_name == "set_volume")
{
@@ -781,7 +782,50 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
}
else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA)
{
- if(message_name == "size_change")
+ if(message_name == "init")
+ {
+ // This is the media init message -- all necessary data for initialization should have been received.
+ if(initBrowser())
+ {
+
+ // Plugin gets to decide the texture parameters to use.
+ mDepth = 4;
+
+ LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "texture_params");
+ message.setValueS32("default_width", 1024);
+ message.setValueS32("default_height", 1024);
+ message.setValueS32("depth", mDepth);
+ message.setValueU32("internalformat", GL_RGBA);
+ #if LL_QTWEBKIT_USES_PIXMAPS
+ message.setValueU32("format", GL_BGRA_EXT); // I hope this isn't system-dependant... is it? If so, we'll have to check the root window's pixel layout or something... yuck.
+ #else
+ message.setValueU32("format", GL_RGBA);
+ #endif // LL_QTWEBKIT_USES_PIXMAPS
+ message.setValueU32("type", GL_UNSIGNED_BYTE);
+ message.setValueBoolean("coords_opengl", true);
+ sendMessage(message);
+ }
+ else
+ {
+ // if initialization failed, we're done.
+ mDeleteMe = true;
+ }
+
+ }
+ else if(message_name == "set_user_data_path")
+ {
+ std::string user_data_path = message_in.getValue("path"); // n.b. always has trailing platform-specific dir-delimiter
+ mProfileDir = user_data_path + "browser_profile";
+
+ // FIXME: Should we do anything with this if it comes in after the browser has been initialized?
+ }
+ else if(message_name == "set_language_code")
+ {
+ mHostLanguage = message_in.getValue("language");
+
+ // FIXME: Should we do anything with this if it comes in after the browser has been initialized?
+ }
+ else if(message_name == "size_change")
{
std::string name = message_in.getValue("name");
S32 width = message_in.getValueS32("width");
@@ -803,29 +847,36 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
mWidth = width;
mHeight = height;
- // initialize (only gets called once)
- initBrowser();
-
- // size changed so tell the browser
- LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight );
-
-// std::cerr << "webkit plugin: set size to " << mWidth << " x " << mHeight
-// << ", rowspan is " << LLQtWebKit::getInstance()->getBrowserRowSpan(mBrowserWindowId) << std::endl;
-
- S32 real_width = LLQtWebKit::getInstance()->getBrowserRowSpan(mBrowserWindowId) / LLQtWebKit::getInstance()->getBrowserDepth(mBrowserWindowId);
-
- // The actual width the browser will be drawing to is probably smaller... let the host know by modifying texture_width in the response.
- if(real_width <= texture_width)
+ if(initBrowserWindow())
{
- texture_width = real_width;
+
+ // size changed so tell the browser
+ LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight );
+
+ // std::cerr << "webkit plugin: set size to " << mWidth << " x " << mHeight
+ // << ", rowspan is " << LLQtWebKit::getInstance()->getBrowserRowSpan(mBrowserWindowId) << std::endl;
+
+ S32 real_width = LLQtWebKit::getInstance()->getBrowserRowSpan(mBrowserWindowId) / LLQtWebKit::getInstance()->getBrowserDepth(mBrowserWindowId);
+
+ // The actual width the browser will be drawing to is probably smaller... let the host know by modifying texture_width in the response.
+ if(real_width <= texture_width)
+ {
+ texture_width = real_width;
+ }
+ else
+ {
+ // This won't work -- it'll be bigger than the allocated memory. This is a fatal error.
+ // std::cerr << "Fatal error: browser rowbytes greater than texture width" << std::endl;
+ mDeleteMe = true;
+ return;
+ }
}
else
{
- // This won't work -- it'll be bigger than the allocated memory. This is a fatal error.
-// std::cerr << "Fatal error: browser rowbytes greater than texture width" << std::endl;
+ // Setting up the browser window failed. This is a fatal error.
mDeleteMe = true;
- return;
}
+
mTextureWidth = texture_width;
mTextureHeight = texture_height;
diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif
new file mode 100644
index 0000000000..f366026c33
--- /dev/null
+++ b/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif
Binary files differ
diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif
new file mode 100644
index 0000000000..e9e6a20cd9
--- /dev/null
+++ b/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif
Binary files differ
diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif
new file mode 100644
index 0000000000..bea3d9d442
--- /dev/null
+++ b/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif
Binary files differ
diff --git a/indra/newview/llfloaterinventory.cpp b/indra/newview/llfloaterinventory.cpp
index 844f0ac509..6842d3dc74 100644
--- a/indra/newview/llfloaterinventory.cpp
+++ b/indra/newview/llfloaterinventory.cpp
@@ -64,42 +64,6 @@ BOOL LLFloaterInventory::postBuild()
return TRUE;
}
-
-void LLFloaterInventory::draw()
-{
- updateTitle();
- LLFloater::draw();
-}
-
-void LLFloaterInventory::updateTitle()
-{
- LLLocale locale(LLLocale::USER_LOCALE);
- std::string item_count_string;
- LLResMgr::getInstance()->getIntegerString(item_count_string, gInventory.getItemCount());
-
- LLStringUtil::format_map_t string_args;
- string_args["[ITEM_COUNT]"] = item_count_string;
- string_args["[FILTER]"] = mPanelMainInventory->getFilterText();
-
- if (LLInventoryModel::backgroundFetchActive())
- {
- setTitle(getString("TitleFetching", string_args));
- }
- else if (LLInventoryModel::isEverythingFetched())
- {
- setTitle(getString("TitleCompleted", string_args));
- }
- else
- {
- setTitle(getString("Title"));
- }
-}
-
-void LLFloaterInventory::changed(U32 mask)
-{
- updateTitle();
-}
-
LLInventoryPanel* LLFloaterInventory::getPanel()
{
if (mPanelMainInventory)
diff --git a/indra/newview/llfloaterinventory.h b/indra/newview/llfloaterinventory.h
index b661c391a7..473d2b189d 100644
--- a/indra/newview/llfloaterinventory.h
+++ b/indra/newview/llfloaterinventory.h
@@ -63,13 +63,9 @@ public:
static void cleanup();
// Inherited functionality
- /*virtual*/ void changed(U32 mask);
- /*virtual*/ void draw();
/*virtual*/ void onOpen(const LLSD& key);
LLInventoryPanel* getPanel();
-protected:
- void updateTitle();
private:
LLPanelMainInventory* mPanelMainInventory;
};
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 8bffe9bf57..e998d10fcc 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -110,6 +110,9 @@
const F32 MAX_USER_FAR_CLIP = 512.f;
const F32 MIN_USER_FAR_CLIP = 64.f;
+//control value for middle mouse as talk2push button
+const static std::string MIDDLE_MOUSE_CV = "MiddleMouse";
+
class LLVoiceSetKeyDialog : public LLModalDialog
{
public:
@@ -1008,9 +1011,17 @@ void LLFloaterPreference::setKey(KEY key)
void LLFloaterPreference::onClickSetMiddleMouse()
{
- childSetValue("modifier_combo", "MiddleMouse");
+ LLUICtrl* p2t_line_editor = getChild<LLUICtrl>("modifier_combo");
+
// update the control right away since we no longer wait for apply
- getChild<LLUICtrl>("modifier_combo")->onCommit();
+ p2t_line_editor->setControlValue(MIDDLE_MOUSE_CV);
+
+ //push2talk button "middle mouse" control value is in English, need to localize it for presentation
+ LLPanel* advanced_preferences = dynamic_cast<LLPanel*>(p2t_line_editor->getParent());
+ if (advanced_preferences)
+ {
+ p2t_line_editor->setValue(advanced_preferences->getString("middle_mouse"));
+ }
}
/*
void LLFloaterPreference::onClickSkipDialogs()
@@ -1302,6 +1313,16 @@ BOOL LLPanelPreference::postBuild()
getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2));
}
+ // Panel Advanced
+ if (hasChild("modifier_combo"))
+ {
+ //localizing if push2talk button is set to middle mouse
+ if (MIDDLE_MOUSE_CV == childGetValue("modifier_combo").asString())
+ {
+ childSetValue("modifier_combo", getString("middle_mouse"));
+ }
+ }
+
apply();
return true;
}
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index d3e3d2b57b..bb4c75d3ac 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -255,11 +255,30 @@ void LLFolderViewItem::refreshFromListener()
// temporary attempt to display the inventory folder in the user locale.
// mantipov: *NOTE: be sure this code is synchronized with LLFriendCardsManager::findChildFolderUUID
// it uses the same way to find localized string
- if (LLFolderType::lookupIsProtectedType(preferred_type))
+
+ // HACK: EXT - 6028 ([HARD CODED]? Inventory > Library > "Accessories" folder)
+ // Translation of Accessories folder in Library inventory folder
+ bool accessories = false;
+ if(mLabel == std::string("Accessories"))
+ {
+ //To ensure that Accessories folder is in Library we have to check its parent folder.
+ //Due to parent LLFolderViewFloder is not set to this item yet we have to check its parent via Inventory Model
+ LLInventoryCategory* cat = gInventory.getCategory(mListener->getUUID());
+ if(cat)
+ {
+ const LLUUID& parent_folder_id = cat->getParentUUID();
+ accessories = (parent_folder_id == gInventory.getLibraryRootFolderID());
+ }
+ }
+
+ //"Accessories" inventory category has folder type FT_NONE. So, this folder
+ //can not be detected as protected with LLFolderType::lookupIsProtectedType
+ if (accessories || LLFolderType::lookupIsProtectedType(preferred_type))
{
LLTrans::findString(mLabel, "InvFolder " + mLabel);
};
+ setToolTip(mLabel);
setIcon(mListener->getIcon());
time_t creation_date = mListener->getCreationDate();
if (mCreationDate != creation_date)
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index ceeffea1c9..1f918c72ea 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -3808,7 +3808,9 @@ std::string LLGestureBridge::getLabelSuffix() const
{
if( LLGestureManager::instance().isGestureActive(mUUID) )
{
- return LLItemBridge::getLabelSuffix() + " (active)";
+ LLStringUtil::format_map_t args;
+ args["[GESLABEL]"] = LLItemBridge::getLabelSuffix();
+ return LLTrans::getString("ActiveGesture", args);
}
else
{
@@ -4157,7 +4159,7 @@ std::string LLObjectBridge::getLabelSuffix() const
// e.g. "(worn on ...)" / "(attached to ...)"
LLStringUtil::format_map_t args;
- args["[ATTACHMENT_POINT]"] = attachment_point_name.c_str();
+ args["[ATTACHMENT_POINT]"] = LLTrans::getString(attachment_point_name);
return LLItemBridge::getLabelSuffix() + LLTrans::getString("WornOnAttachmentPoint", args);
}
else
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index ec83a1fd6d..d7720b735c 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -293,9 +293,6 @@ void LLInventoryPanel::modelChanged(U32 mask)
bridge->clearDisplayName();
view_item->refresh();
-
- // Set the new tooltip with the new display name.
- view_item->setToolTip(bridge->getDisplayName());
}
}
}
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index 879fbba9cd..4842fcac38 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -534,7 +534,7 @@ void LLLandmarksPanel::initLandmarksInventoryPanel()
// subscribe to have auto-rename functionality while creating New Folder
mLandmarksInventoryPanel->setSelectCallback(boost::bind(&LLInventoryPanel::onSelectionChange, mLandmarksInventoryPanel, _1, _2));
- initAccordion("tab_landmarks", mLandmarksInventoryPanel, true);
+ mMyLandmarksAccordionTab = initAccordion("tab_landmarks", mLandmarksInventoryPanel, true);
}
void LLLandmarksPanel::initMyInventoryPanel()
@@ -588,7 +588,7 @@ void LLLandmarksPanel::initLandmarksPanel(LLPlacesInventoryPanel* inventory_list
inventory_list->saveFolderState();
}
-void LLLandmarksPanel::initAccordion(const std::string& accordion_tab_name, LLPlacesInventoryPanel* inventory_list, bool expand_tab)
+LLAccordionCtrlTab* LLLandmarksPanel::initAccordion(const std::string& accordion_tab_name, LLPlacesInventoryPanel* inventory_list, bool expand_tab)
{
LLAccordionCtrlTab* accordion_tab = getChild<LLAccordionCtrlTab>(accordion_tab_name);
@@ -596,6 +596,7 @@ void LLLandmarksPanel::initAccordion(const std::string& accordion_tab_name, LLPl
accordion_tab->setDropDownStateChangedCallback(
boost::bind(&LLLandmarksPanel::onAccordionExpandedCollapsed, this, _2, inventory_list));
accordion_tab->setDisplayChildren(expand_tab);
+ return accordion_tab;
}
void LLLandmarksPanel::onAccordionExpandedCollapsed(const LLSD& param, LLPlacesInventoryPanel* inventory_list)
@@ -776,6 +777,11 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const
//in case My Landmarks tab is completely empty (thus cannot be determined as being selected)
menu_create_inventory_item(mLandmarksInventoryPanel->getRootFolder(), NULL, LLSD("category"),
gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK));
+
+ if (mMyLandmarksAccordionTab)
+ {
+ mMyLandmarksAccordionTab->changeOpenClose(false);
+ }
}
}
}
diff --git a/indra/newview/llpanellandmarks.h b/indra/newview/llpanellandmarks.h
index 2b46ba9933..c9217a4b2f 100644
--- a/indra/newview/llpanellandmarks.h
+++ b/indra/newview/llpanellandmarks.h
@@ -112,7 +112,7 @@ private:
void initMyInventoryPanel();
void initLibraryInventoryPanel();
void initLandmarksPanel(LLPlacesInventoryPanel* inventory_list);
- void initAccordion(const std::string& accordion_tab_name, LLPlacesInventoryPanel* inventory_list, bool expand_tab);
+ LLAccordionCtrlTab* initAccordion(const std::string& accordion_tab_name, LLPlacesInventoryPanel* inventory_list, bool expand_tab);
void onAccordionExpandedCollapsed(const LLSD& param, LLPlacesInventoryPanel* inventory_list);
void deselectOtherThan(const LLPlacesInventoryPanel* inventory_list);
@@ -169,6 +169,8 @@ private:
typedef std::vector<LLAccordionCtrlTab*> accordion_tabs_t;
accordion_tabs_t mAccordionTabs;
+
+ LLAccordionCtrlTab* mMyLandmarksAccordionTab;
};
#endif //LL_LLPANELLANDMARKS_H
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index 421c9df9a1..d40141c91d 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -44,6 +44,7 @@
#include "llfiltereditor.h"
#include "llfloaterreg.h"
#include "llpreviewtexture.h"
+#include "llresmgr.h"
#include "llscrollcontainer.h"
#include "llsdserialize.h"
#include "llspinctrl.h"
@@ -538,7 +539,7 @@ BOOL LLPanelMainInventory::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
// virtual
void LLPanelMainInventory::changed(U32)
{
- // empty, but must have this defined for abstract base class.
+ updateItemcountText();
}
@@ -550,6 +551,34 @@ void LLPanelMainInventory::draw()
mFilterEditor->setText(mFilterSubString);
}
LLPanel::draw();
+ updateItemcountText();
+}
+
+void LLPanelMainInventory::updateItemcountText()
+{
+ LLLocale locale(LLLocale::USER_LOCALE);
+ std::string item_count_string;
+ LLResMgr::getInstance()->getIntegerString(item_count_string, gInventory.getItemCount());
+
+ LLStringUtil::format_map_t string_args;
+ string_args["[ITEM_COUNT]"] = item_count_string;
+ string_args["[FILTER]"] = getFilterText();
+
+ std::string text = "";
+
+ if (LLInventoryModel::backgroundFetchActive())
+ {
+ text = getString("ItemcountFetching", string_args);
+ }
+ else if (LLInventoryModel::isEverythingFetched())
+ {
+ text = getString("ItemcountCompleted", string_args);
+ }
+ else
+ {
+ text = getString("ItemcountUnknown");
+ }
+ childSetText("ItemcountText",text);
}
void LLPanelMainInventory::setFilterTextFromFilter()
diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h
index d9ea0da2da..b43e057f83 100644
--- a/indra/newview/llpanelmaininventory.h
+++ b/indra/newview/llpanelmaininventory.h
@@ -113,7 +113,8 @@ protected:
void setSortBy(const LLSD& userdata);
void saveTexture(const LLSD& userdata);
bool isSaveTextureEnabled(const LLSD& userdata);
-
+ void updateItemcountText();
+
private:
LLFloaterInventoryFinder* getFinder();
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 9e92ee337f..7505581904 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1578,7 +1578,7 @@ void LLPanelObjectInventory::reset()
p.title = "task inventory";
p.task_id = getTaskUUID();
p.parent_panel = this;
- p.tool_tip= p.name;
+ p.tool_tip= LLTrans::getString("PanelContentsTooltip");
mFolders = LLUICtrlFactory::create<LLFolderView>(p);
// this ensures that we never say "searching..." or "no items found"
mFolders->getFilter()->setShowFolderState(LLInventoryFilter::SHOW_ALL_FOLDERS);
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index 6cd8a78b25..43913f3632 100644
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -660,8 +660,9 @@ struct compare_decode_pair
struct KillView
{
- void operator()(LLView* viewp) const
+ void operator()(LLView* viewp)
{
+ viewp->getParent()->removeChild(viewp);
viewp->die();
}
};
@@ -676,8 +677,12 @@ void LLTextureView::draw()
for_each(mTextureBars.begin(), mTextureBars.end(), KillView());
mTextureBars.clear();
- delete mGLTexMemBar;
- mGLTexMemBar = 0;
+ if (mGLTexMemBar)
+ {
+ removeChild(mGLTexMemBar);
+ mGLTexMemBar->die();
+ mGLTexMemBar = 0;
+ }
typedef std::multiset<decode_pair_t, compare_decode_pair > display_list_t;
display_list_t display_image_list;
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 2f4a69a53c..d15db536e6 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -412,24 +412,24 @@ ECursorType cursor_from_object(LLViewerObject* object)
case CLICK_ACTION_SIT:
if ((gAgent.getAvatarObject() != NULL) && (!gAgent.getAvatarObject()->isSitting())) // not already sitting?
{
- cursor = UI_CURSOR_HAND;
+ cursor = UI_CURSOR_TOOLSIT;
}
break;
case CLICK_ACTION_BUY:
- cursor = UI_CURSOR_HAND;
+ cursor = UI_CURSOR_TOOLBUY;
break;
case CLICK_ACTION_OPEN:
// Open always opens the parent.
if (parent && parent->allowOpen())
{
- cursor = UI_CURSOR_HAND;
+ cursor = UI_CURSOR_TOOLOPEN;
}
break;
case CLICK_ACTION_PAY:
if ((object && object->flagTakesMoney())
|| (parent && parent->flagTakesMoney()))
{
- cursor = UI_CURSOR_HAND;
+ cursor = UI_CURSOR_TOOLBUY;
}
break;
case CLICK_ACTION_ZOOM:
@@ -964,7 +964,7 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l
}
}
}
-
+
// Avoid showing tip over media that's displaying unless it's for sale
// also check the primary node since sometimes it can have an action even though
@@ -972,9 +972,9 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l
bool needs_tip = (!is_media_displaying ||
for_sale) &&
- (has_media ||
- needs_tooltip(nodep) ||
- needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode()));
+ (has_media ||
+ needs_tooltip(nodep) ||
+ needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode()));
if (show_all_object_tips || needs_tip)
{
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 64dcd62a6a..b9509a98f5 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -1258,8 +1258,9 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
{
LLPluginClassMedia* media_source = new LLPluginClassMedia(owner);
media_source->setSize(default_width, default_height);
- std::string language_code = LLUI::getLanguage();
- if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"), user_data_path, language_code))
+ media_source->setUserDataPath(user_data_path);
+ media_source->setLanguageCode(LLUI::getLanguage());
+ if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins")))
{
return media_source;
}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 1d58daba2c..5c40d02f8d 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -86,6 +86,7 @@
#include "lltoolmgr.h"
#include "lltoolpie.h"
#include "lltoolselectland.h"
+#include "lltrans.h"
#include "llviewergenericmessage.h"
#include "llviewerhelp.h"
#include "llviewermenufile.h" // init_menu_file()
@@ -7047,7 +7048,7 @@ LLVOAvatar* find_avatar_from_object( const LLUUID& object_id )
void handle_disconnect_viewer(void *)
{
- LLAppViewer::instance()->forceDisconnect("Testing viewer disconnect");
+ LLAppViewer::instance()->forceDisconnect(LLTrans::getString("TestingDisconnect"));
}
void force_error_breakpoint(void *)
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index eed3f25231..bd0012057c 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -3080,7 +3080,7 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
<< x << ":" << y
<< " current pos " << gAgent.getPositionGlobal()
<< LL_ENDL;
- LLAppViewer::instance()->forceDisconnect("You were sent to an invalid region.");
+ LLAppViewer::instance()->forceDisconnect(LLTrans::getString("SentToInvalidRegion"));
return;
}
diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp
index 2c5c0a37e8..b967436df6 100644
--- a/indra/newview/llviewerparcelmedia.cpp
+++ b/indra/newview/llviewerparcelmedia.cpp
@@ -210,25 +210,29 @@ void LLViewerParcelMedia::play(LLParcel* parcel)
// A new impl will be created below.
}
}
-
- if(!sMediaImpl)
+
+ // Don't ever try to play if the media type is set to "none/none"
+ if(stricmp(mime_type.c_str(), "none/none") != 0)
{
- LL_DEBUGS("Media") << "new media impl with mime type " << mime_type << ", url " << media_url << LL_ENDL;
-
- // There is no media impl, make a new one
- sMediaImpl = LLViewerMedia::newMediaImpl(
- placeholder_texture_id,
- media_width,
- media_height,
- media_auto_scale,
- media_loop);
- sMediaImpl->setIsParcelMedia(true);
- sMediaImpl->navigateTo(media_url, mime_type, true);
- }
+ if(!sMediaImpl)
+ {
+ LL_DEBUGS("Media") << "new media impl with mime type " << mime_type << ", url " << media_url << LL_ENDL;
+
+ // There is no media impl, make a new one
+ sMediaImpl = LLViewerMedia::newMediaImpl(
+ placeholder_texture_id,
+ media_width,
+ media_height,
+ media_auto_scale,
+ media_loop);
+ sMediaImpl->setIsParcelMedia(true);
+ sMediaImpl->navigateTo(media_url, mime_type, true);
+ }
- //LLFirstUse::useMedia();
+ //LLFirstUse::useMedia();
- LLViewerParcelMediaAutoPlay::playStarted();
+ LLViewerParcelMediaAutoPlay::playStarted();
+ }
}
// static
@@ -312,11 +316,14 @@ std::string LLViewerParcelMedia::getURL()
if(sMediaImpl.notNull())
url = sMediaImpl->getMediaURL();
- if (url.empty())
- url = LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaCurrentURL();
-
- if (url.empty())
- url = LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaURL();
+ if(stricmp(LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaType().c_str(), "none/none") != 0)
+ {
+ if (url.empty())
+ url = LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaCurrentURL();
+
+ if (url.empty())
+ url = LLViewerParcelMgr::getInstance()->getAgentParcel()->getMediaURL();
+ }
return url;
}
diff --git a/indra/newview/llviewerparcelmediaautoplay.cpp b/indra/newview/llviewerparcelmediaautoplay.cpp
index ad2723b66b..f55d6d89c4 100644
--- a/indra/newview/llviewerparcelmediaautoplay.cpp
+++ b/indra/newview/llviewerparcelmediaautoplay.cpp
@@ -86,6 +86,7 @@ BOOL LLViewerParcelMediaAutoPlay::tick()
LLParcel *this_parcel = NULL;
LLViewerRegion *this_region = NULL;
std::string this_media_url;
+ std::string this_media_type;
LLUUID this_media_texture_id;
S32 this_parcel_id = 0;
LLUUID this_region_id;
@@ -101,7 +102,9 @@ BOOL LLViewerParcelMediaAutoPlay::tick()
if (this_parcel)
{
- this_media_url = std::string(this_parcel->getMediaURL());
+ this_media_url = this_parcel->getMediaURL();
+
+ this_media_type = this_parcel->getMediaType();
this_media_texture_id = this_parcel->getMediaID();
@@ -118,14 +121,15 @@ BOOL LLViewerParcelMediaAutoPlay::tick()
mLastRegionID = this_region_id;
}
- mTimeInParcel += mPeriod; // increase mTimeInParcel by the amount of time between ticks
+ mTimeInParcel += mPeriod; // increase mTimeInParcel by the amount of time between ticks
- if ((!mPlayed) && // if we've never played
- (mTimeInParcel > AUTOPLAY_TIME) && // and if we've been here for so many seconds
- (this_media_url.size() != 0) && // and if the parcel has media
- (LLViewerParcelMedia::sMediaImpl.isNull())) // and if the media is not already playing
+ if ((!mPlayed) && // if we've never played
+ (mTimeInParcel > AUTOPLAY_TIME) && // and if we've been here for so many seconds
+ (!this_media_url.empty()) && // and if the parcel has media
+ (stricmp(this_media_type.c_str(), "none/none") != 0) &&
+ (LLViewerParcelMedia::sMediaImpl.isNull())) // and if the media is not already playing
{
- if (this_media_texture_id.notNull()) // and if the media texture is good
+ if (this_media_texture_id.notNull()) // and if the media texture is good
{
LLViewerMediaTexture *image = LLViewerTextureManager::getMediaTexture(this_media_texture_id, FALSE) ;
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index 32c24b3ebd..98ca76ed01 100644
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -489,7 +489,7 @@ BOOL LLVOAvatarSelf::buildMenus()
{
LLMenuItemCallGL::Params item_params;
item_params.name = attachment->getName();
- item_params.label = attachment->getName();
+ item_params.label = LLTrans::getString(attachment->getName());
item_params.on_click.function_name = "Object.AttachToAvatar";
item_params.on_click.parameter = attach_index;
item_params.on_enable.function_name = "Object.EnableWear";
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp
index d7e5b464a6..19f303ab88 100644
--- a/indra/newview/llworld.cpp
+++ b/indra/newview/llworld.cpp
@@ -45,6 +45,7 @@
#include "llhttpnode.h"
#include "llregionhandle.h"
#include "llsurface.h"
+#include "lltrans.h"
#include "llviewercamera.h"
#include "llviewertexture.h"
#include "llviewertexturelist.h"
@@ -258,7 +259,7 @@ void LLWorld::removeRegion(const LLHost &host)
llwarns << "gFrameTimeSeconds " << gFrameTimeSeconds << llendl;
llwarns << "Disabling region " << regionp->getName() << " that agent is in!" << llendl;
- LLAppViewer::instance()->forceDisconnect("You have been disconnected from the region you were in.");
+ LLAppViewer::instance()->forceDisconnect(LLTrans::getString("YouHaveBeenDisconnected"));
return;
}
diff --git a/indra/newview/res-sdl/ll_icon.BMP b/indra/newview/res-sdl/ll_icon.BMP
index 4a44aafbfa..6f9366df41 100644
--- a/indra/newview/res-sdl/ll_icon.BMP
+++ b/indra/newview/res-sdl/ll_icon.BMP
Binary files differ
diff --git a/indra/newview/res/ll_icon.png b/indra/newview/res/ll_icon.png
index 414b703111..ae573b3874 100644
--- a/indra/newview/res/ll_icon.png
+++ b/indra/newview/res/ll_icon.png
Binary files differ
diff --git a/indra/newview/res/toolbuy.cur b/indra/newview/res/toolbuy.cur
new file mode 100644
index 0000000000..7fd552a78e
--- /dev/null
+++ b/indra/newview/res/toolbuy.cur
Binary files differ
diff --git a/indra/newview/res/toolopen.cur b/indra/newview/res/toolopen.cur
new file mode 100644
index 0000000000..1562f5bc95
--- /dev/null
+++ b/indra/newview/res/toolopen.cur
Binary files differ
diff --git a/indra/newview/res/toolsit.cur b/indra/newview/res/toolsit.cur
new file mode 100644
index 0000000000..a1f99cfe6d
--- /dev/null
+++ b/indra/newview/res/toolsit.cur
Binary files differ
diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc
index 38291e45c9..7a965cf57e 100644
--- a/indra/newview/res/viewerRes.rc
+++ b/indra/newview/res/viewerRes.rc
@@ -2,19 +2,12 @@
//
#include "resource.h"
-#ifdef IDC_STATIC
-#undef IDC_STATIC
-#endif
-#define IDC_STATIC (-1)
-#include "winresrc.h"
-
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
-// Commented out because it only compiles if you have MFC installed.
-//#include "winres.h"
+#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@@ -34,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
-1 TEXTINCLUDE
+1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
-2 TEXTINCLUDE
+2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
-3 TEXTINCLUDE
+3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
@@ -84,9 +77,8 @@ END
//
#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
+GUIDELINES DESIGNINFO
BEGIN
-
"SPLASHSCREEN", DIALOG
BEGIN
LEFTMARGIN, 7
@@ -127,6 +119,9 @@ TOOLPIPETTE CURSOR "toolpipette.cur"
TOOLPLAY CURSOR "toolplay.cur"
TOOLPAUSE CURSOR "toolpause.cur"
TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
+TOOLOPEN CURSOR "toolopen.cur"
+TOOLSIT CURSOR "toolsit.cur"
+TOOLBUY CURSOR "toolbuy.cur"
/////////////////////////////////////////////////////////////////////////////
//
@@ -134,8 +129,8 @@ TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,0,0,200030
- PRODUCTVERSION 2,0,0,200030
+ FILEVERSION 2,0,0,3422
+ PRODUCTVERSION 2,0,0,3422
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -166,12 +161,6 @@ BEGIN
END
END
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/skins/default/textures/icons/SL_Logo.png b/indra/newview/skins/default/textures/icons/SL_Logo.png
index c9fbde987a..8342d7cfee 100644
--- a/indra/newview/skins/default/textures/icons/SL_Logo.png
+++ b/indra/newview/skins/default/textures/icons/SL_Logo.png
Binary files differ
diff --git a/indra/newview/skins/default/xui/de/panel_profile.xml b/indra/newview/skins/default/xui/de/panel_profile.xml
index cb598f89f6..cda2788e40 100644
--- a/indra/newview/skins/default/xui/de/panel_profile.xml
+++ b/indra/newview/skins/default/xui/de/panel_profile.xml
@@ -41,10 +41,10 @@
</scroll_container>
</layout_panel>
<layout_panel name="profile_buttons_panel">
- <button label="Freund hinzufügen" name="add_friend" tool_tip="Bieten Sie dem Einwohner die Freundschaft an" width="109"/>
- <button label="IM" name="im" tool_tip="Instant Messenger öffnen" width="24"/>
+ <button label="Freund hinzufügen" name="add_friend" tool_tip="Bieten Sie dem Einwohner die Freundschaft an"/>
+ <button label="IM" name="im" tool_tip="Instant Messenger öffnen"/>
<button label="Anrufen" name="call" tool_tip="Diesen Einwohner anrufen"/>
- <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen" width="36"/>
+ <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen"/>
<button label="Teleportieren" name="teleport" tool_tip="Teleport anbieten"/>
<button label="▼" name="overflow_btn" tool_tip="Dem Einwohner Geld geben oder Inventar an den Einwohner schicken"/>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml
index 0d381fe5cb..ba2e0d3277 100644
--- a/indra/newview/skins/default/xui/en/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/en/floater_inventory.xml
@@ -14,22 +14,6 @@
single_instance="false"
title="MY INVENTORY"
width="467">
- <floater.string
- name="Title">
- MY INVENTORY
- </floater.string>
- <floater.string
- name="TitleFetching">
- MY INVENTORY (Fetching [ITEM_COUNT] Items...) [FILTER]
- </floater.string>
- <floater.string
- name="TitleCompleted">
- MY INVENTORY ([ITEM_COUNT] Items) [FILTER]
- </floater.string>
- <floater.string
- name="Fetched">
- Fetched
- </floater.string>
<panel
bottom="560"
class="panel_main_inventory"
diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml
index d7a7daf30c..b5a3764e73 100644
--- a/indra/newview/skins/default/xui/en/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/en/floater_preferences.xml
@@ -10,7 +10,7 @@
help_topic="preferences"
single_instance="true"
title="PREFERENCES"
- width="620">
+ width="658">
<button
follows="right|bottom"
height="23"
@@ -48,7 +48,7 @@
tab_width="115"
tab_padding_right="5"
top="21"
- width="620">
+ width="658">
<panel
class="panel_preference"
filename="panel_preferences_general.xml"
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index 12d169b70a..2235b84869 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -741,7 +741,7 @@
halign="center"
left="0"
name="Object Info Tabs"
- tab_max_width="54"
+ tab_max_width="100"
tab_min_width="40"
tab_position="top"
tab_height="25"
diff --git a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
index 1e2e74f882..876ff9961b 100644
--- a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
@@ -69,7 +69,7 @@
name="last_interaction"
text_color="LtGray_50"
value="0s"
- width="24" />
+ width="35" />
<button
follows="right"
height="16"
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index 50983d2976..c7768c6eb6 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -10,9 +10,34 @@
name="main inventory panel"
width="330">
<panel.string
- name="Title">
- Things
+ name="Itemcount">
</panel.string>
+ <panel.string
+ name="ItemcountFetching">
+ Fetching [ITEM_COUNT] Items... [FILTER]
+ </panel.string>
+ <panel.string
+ name="ItemcountCompleted">
+ [ITEM_COUNT] Items [FILTER]
+ </panel.string>
+ <panel.string
+ name="ItemcountUnknown">
+
+ </panel.string>
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ height="13"
+ layout="topleft"
+ left="12"
+ name="ItemcountText"
+ font="SansSerifMedium"
+ text_color="EmphasisColor"
+ top_pad="0"
+ width="300">
+ Items:
+ </text>
<menu_bar
bg_visible="false"
follows="left|top|right"
@@ -21,8 +46,8 @@
left="10"
mouse_opaque="false"
name="Inventory Menu"
- top="0"
- visible="true"
+ top="+10"
+ visible="true"
width="290">
<menu
height="101"
@@ -377,30 +402,30 @@
<filter_editor
text_pad_left="10"
follows="left|top|right"
- height="23"
+ height="23"
label="Filter Inventory"
layout="topleft"
left="10"
-max_length="300"
+ max_length="300"
name="inventory search editor"
- top="26"
+ top="+31"
width="303" />
<tab_container
- bg_opaque_color="DkGray2"
+ bg_opaque_color="DkGray2"
bg_alpha_color="DkGray2"
background_visible="true"
background_opaque="true"
-follows="all"
-halign="center"
- height="305"
- layout="topleft"
- left="6"
- name="inventory filter tabs"
- tab_height="30"
- tab_position="top"
- tab_min_width="100"
- top_pad="10"
- width="315">
+ follows="all"
+ halign="center"
+ height="300"
+ layout="topleft"
+ left="6"
+ name="inventory filter tabs"
+ tab_height="30"
+ tab_position="top"
+ tab_min_width="100"
+ top_pad="10"
+ width="315">
<inventory_panel
bg_opaque_color="DkGray2"
bg_alpha_color="DkGray2"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
index 4be4d6b432..c658e0de6f 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
@@ -13,6 +13,10 @@
name="aspect_ratio_text">
[NUM]:[DEN]
</panel.string>
+ <panel.string
+ name="middle_mouse">
+ Middle Mouse
+ </panel.string>
<icon
follows="left|top"
height="18"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml
index 188fd3b7bc..516457dd93 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml
@@ -51,13 +51,13 @@
Always show:
</text>
<scroll_list
- follows="top|left"
+ follows="top|left|right"
height="140"
layout="topleft"
left="10"
multi_select="true"
name="enabled_popups"
- width="475" />
+ width="495" />
<button
enabled_control="FirstSelectedDisabledPopups"
follows="top|left"
@@ -99,11 +99,11 @@
Never show:
</text>
<scroll_list
- follows="top|left"
+ follows="top|left|right"
height="140"
layout="topleft"
left="10"
multi_select="true"
name="disabled_popups"
- width="475" />
+ width="495" />
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml
index d11aebe943..e667fa9a2b 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml
@@ -365,12 +365,12 @@
use_ellipses="false"
hover="false"
commit_on_focus_lost = "true"
- follows="left|top"
+ follows="left|top|right"
height="60"
layout="topleft"
left="50"
name="busy_response"
- width="440"
+ width="450"
word_wrap="true">
log_in_to_change
</text_editor>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 111daec242..3a766bb798 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -56,7 +56,9 @@
<string name="SavingSettings">Saving your settings...</string>
<string name="LoggingOut">Logging out...</string>
<string name="ShuttingDown">Shutting down...</string>
-
+ <string name="YouHaveBeenDisconnected">You have been disconnected from the region you were in.</string>
+ <string name="SentToInvalidRegion">You were sent to an invalid region.</string>
+ <string name="TestingDisconnect">Testing viewer disconnect</string>
<!-- Tooltip, lltooltipview.cpp -->
<string name="TooltipPerson">Person</string><!-- Object under mouse pointer is an avatar -->
@@ -79,6 +81,12 @@
<string name="TooltipHttpUrl">Click to view this web page</string>
<string name="TooltipSLURL">Click to view this location's information</string>
<string name="TooltipAgentUrl">Click to view this Resident's profile</string>
+ <string name="TooltipAgentMute">Click to mute this Resident</string>
+ <string name="TooltipAgentUnmute">Click to unmute this Resident</string>
+ <string name="TooltipAgentIM">Click to IM this Resident</string>
+ <string name="TooltipAgentPay">Click to Pay this Resident</string>
+ <string name="TooltipAgentOfferTeleport">Click to offer a teleport request to this Resident</string>
+ <string name="TooltipAgentRequestFriend">Click to send a friend request to this Resident</string>
<string name="TooltipGroupUrl">Click to view this group's description</string>
<string name="TooltipEventUrl">Click to view this event's description</string>
<string name="TooltipClassifiedUrl">Click to view this classified</string>
@@ -95,6 +103,14 @@
<string name="SLurlLabelTeleport">Teleport to</string>
<string name="SLurlLabelShowOnMap">Show Map for</string>
+ <!-- label strings for secondlife:///app/agent SLapps -->
+ <string name="SLappAgentMute">Mute</string>
+ <string name="SLappAgentUnmute">Unmute</string>
+ <string name="SLappAgentIM">IM</string>
+ <string name="SLappAgentPay">Pay</string>
+ <string name="SLappAgentOfferTeleport">Offer Teleport to </string>
+ <string name="SLappAgentRequestFriend">Friend Request </string>
+
<!-- ButtonToolTips, llfloater.cpp -->
<string name="BUTTON_CLOSE_DARWIN">Close (&#8984;W)</string>
<string name="BUTTON_CLOSE_WIN">Close (Ctrl+W)</string>
@@ -1836,6 +1852,7 @@ Clears (deletes) the media and all params from the given face.
<string name="LoadingContents">Loading contents...</string>
<string name="NoContents">No contents</string>
<string name="WornOnAttachmentPoint" value=" (worn on [ATTACHMENT_POINT])" />
+ <string name="ActiveGesture" value="[GESLABEL] (active)"/>
<!-- Inventory permissions -->
<string name="PermYes">Yes</string>
<string name="PermNo">No</string>
@@ -1892,6 +1909,7 @@ Clears (deletes) the media and all params from the given face.
<string name="InvFolder favorite">Favorites</string>
<string name="InvFolder Current Outfit">Current Outfit</string>
<string name="InvFolder My Outfits">My Outfits</string>
+ <string name="InvFolder Accessories">Accessories</string>
<!-- are used for Friends and Friends/All folders in Inventory "Calling cards" folder. See EXT-694-->
<string name="InvFolder Friends">Friends</string>
@@ -2121,6 +2139,7 @@ Clears (deletes) the media and all params from the given face.
<!-- panel contents -->
<string name="PanelContentsNewScript">New Script</string>
+ <string name="PanelContentsTooltip">Content of object</string>
<!-- panel preferences general -->
<string name="BusyModeResponseDefault">The Resident you messaged is in &apos;busy mode&apos; which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing.</string>
diff --git a/indra/newview/skins/default/xui/fr/panel_profile.xml b/indra/newview/skins/default/xui/fr/panel_profile.xml
index 8cb4641937..f801aee312 100644
--- a/indra/newview/skins/default/xui/fr/panel_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_profile.xml
@@ -42,8 +42,8 @@
</layout_panel>
<layout_panel name="profile_buttons_panel">
<button label="Devenir amis" name="add_friend" tool_tip="Proposer à un résident de devenir votre ami"/>
- <button label="IM" name="im" tool_tip="Ouvrir une session IM" width="30"/>
- <button label="Appeler" name="call" tool_tip="Appeler ce résident" width="60"/>
+ <button label="IM" name="im" tool_tip="Ouvrir une session IM"/>
+ <button label="Appeler" name="call" tool_tip="Appeler ce résident"/>
<button label="Carte" name="show_on_map_btn" tool_tip="Afficher le résident sur la carte"/>
<button label="Téléporter" name="teleport" tool_tip="Proposez une téléportation"/>
<button label="▼" name="overflow_btn" tool_tip="Payer ou partager l&apos;inventaire avec le résident"/>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 910e6e0960..28b12f2bdf 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -17,13 +17,13 @@
Ricerca hardware...
</string>
<string name="StartupLoading">
- In Caricamento
+ Caricamento in corso
</string>
<string name="LoginInProgress">
In connessione. [APP_NAME] può sembrare rallentata. Attendi.
</string>
<string name="LoginInProgressNoFrozen">
- Logging in...
+ Accesso in corso...
</string>
<string name="LoginAuthenticating">
In autenticazione
@@ -80,7 +80,7 @@
Errore di rete: Non è stato possibile stabilire un collegamento, controlla la tua connessione.
</string>
<string name="Quit">
- Termina
+ Esci
</string>
<string name="create_account_url">
http://join.secondlife.com/index.php?lang=it-IT
@@ -152,10 +152,10 @@
Clicca per vedere questa inserzione
</string>
<string name="TooltipParcelUrl">
- Clicca per vedere la descrizione della parcel
+ Clicca per vedere la descrizione del lotto
</string>
<string name="TooltipTeleportUrl">
- Clicca per teleportarti a questa destinazione
+ Clicca per effettuare il teleport a questa destinazione
</string>
<string name="TooltipObjectIMUrl">
Clicca per vedere la descrizione dell&apos;oggetto
@@ -166,7 +166,7 @@
<string name="TooltipSLAPP">
Clicca per avviare il comando secondlife://
</string>
- <string name="CurrentURL" value=" URL attuale: [CurrentURL]"/>
+ <string name="CurrentURL" value="URL attuale: [CurrentURL]"/>
<string name="SLurlLabelTeleport">
Teleportati a
</string>
@@ -174,7 +174,7 @@
Mostra la mappa per
</string>
<string name="BUTTON_CLOSE_DARWIN">
- Chiudi (&#8984;W)
+ Chiudi (⌘W)
</string>
<string name="BUTTON_CLOSE_WIN">
Chiudi (Ctrl+W)
@@ -195,10 +195,10 @@
Disàncora
</string>
<string name="BUTTON_HELP">
- Mostra gli aiuti
+ Mostra Aiuto
</string>
<string name="Searching">
- In ricerca...
+ Ricerca in corso...
</string>
<string name="NoneFound">
Nessun risultato.
@@ -267,19 +267,19 @@
biglietto da visita
</string>
<string name="landmark">
- landmark
+ punto di riferimento
</string>
<string name="legacy script">
script (vecchia versione)
</string>
<string name="clothing">
- abito
+ vestiario
</string>
<string name="object">
oggetto
</string>
<string name="note card">
- notecard
+ biglietto
</string>
<string name="folder">
cartella
@@ -309,7 +309,7 @@
immagine targa
</string>
<string name="trash">
- cestino
+ Cestino
</string>
<string name="jpeg image">
immagine jpeg
@@ -546,7 +546,7 @@
Si
</string>
<string name="texture_loading">
- In Caricamento...
+ Caricamento in corso...
</string>
<string name="worldmap_offline">
Offline
@@ -684,25 +684,25 @@
Scegli la cartella
</string>
<string name="AvatarSetNotAway">
- Imposta non assente
+ Imposta come non assente
</string>
<string name="AvatarSetAway">
- Imposta assente
+ Imposta come assente
</string>
<string name="AvatarSetNotBusy">
- Imposta non occupato
+ Imposta come non occupato
</string>
<string name="AvatarSetBusy">
- Imposta occupato
+ Imposta come occupato
</string>
<string name="shape">
- Shape
+ Figura corporea
</string>
<string name="skin">
- Skin
+ Pelle
</string>
<string name="hair">
- Capelli
+ Capigliature
</string>
<string name="eyes">
Occhi
@@ -717,7 +717,7 @@
Scarpe
</string>
<string name="socks">
- Calze
+ Calzini
</string>
<string name="jacket">
Giacca
@@ -729,7 +729,7 @@
Maglietta intima
</string>
<string name="underpants">
- slip
+ Slip
</string>
<string name="skirt">
Gonna
@@ -744,16 +744,16 @@
non valido
</string>
<string name="next">
- Seguente
+ Avanti
</string>
<string name="ok">
OK
</string>
<string name="GroupNotifyGroupNotice">
- Notice di gruppo
+ Avviso di gruppo
</string>
<string name="GroupNotifyGroupNotices">
- Notice di gruppo
+ Avvisi di gruppo
</string>
<string name="GroupNotifySentBy">
Inviato da
@@ -762,7 +762,7 @@
Allegato:
</string>
<string name="GroupNotifyViewPastNotices">
- Visualizza i notice passati o scegli qui di non riceverne.
+ Visualizza gli avvisi precedenti o scegli qui di non riceverne.
</string>
<string name="GroupNotifyOpenAttachment">
Apri l&apos;allegato
@@ -771,7 +771,7 @@
Salva l&apos;allegato
</string>
<string name="TeleportOffer">
- Offerta di Teletrasporto
+ Offerta di Teleport
</string>
<string name="StartUpNotification">
[%d] una nuova notifica è arrivata mentre eri assente...
@@ -819,40 +819,40 @@
Non hai una copia
di questa texture in inventario.
</string>
- <string name="no_transfer" value=" (no transfer)"/>
- <string name="no_modify" value=" (no modify)"/>
- <string name="no_copy" value=" (no copy)"/>
- <string name="worn" value=" (indossato)"/>
- <string name="link" value=" (link)"/>
- <string name="broken_link" value=" (broken_link)"/>
+ <string name="no_transfer" value="(nessun trasferimento)"/>
+ <string name="no_modify" value="(nessuna modifica)"/>
+ <string name="no_copy" value="(nessuna copia)"/>
+ <string name="worn" value="(indossato)"/>
+ <string name="link" value="(link)"/>
+ <string name="broken_link" value="(broken_link)&quot;"/>
<string name="LoadingContents">
- Contenuto in caricamento...
+ Caricamento del contenuto...
</string>
<string name="NoContents">
Nessun contenuto
</string>
- <string name="WornOnAttachmentPoint" value=" (indossato su [ATTACHMENT_POINT])"/>
- <string name="Chat" value=" Chat :"/>
- <string name="Sound" value=" Suono :"/>
- <string name="Wait" value=" --- Attendi :"/>
- <string name="AnimFlagStop" value=" Ferma l&apos;Animazione :"/>
- <string name="AnimFlagStart" value=" Inizia l&apos;Animazione :"/>
- <string name="Wave" value=" Wave"/>
- <string name="HelloAvatar" value=" Ciao, avatar!"/>
- <string name="ViewAllGestures" value=" Visualizza tutte le gesture &gt;&gt;"/>
- <string name="Animations" value=" Animazioni,"/>
- <string name="Calling Cards" value=" Biglietti da visita,"/>
- <string name="Clothing" value=" Vestiti,"/>
- <string name="Gestures" value=" Gesture,"/>
- <string name="Landmarks" value=" Landmark,"/>
- <string name="Notecards" value=" Notecard,"/>
- <string name="Objects" value=" Oggetti,"/>
- <string name="Scripts" value=" Script,"/>
- <string name="Sounds" value=" Suoni,"/>
- <string name="Textures" value=" Texture,"/>
- <string name="Snapshots" value=" Fotografie,"/>
- <string name="No Filters" value="No "/>
- <string name="Since Logoff" value=" - Dalla disconnessione"/>
+ <string name="WornOnAttachmentPoint" value="(indossato su [ATTACHMENT_POINT])"/>
+ <string name="Chat" value="Chat :"/>
+ <string name="Sound" value="Suono :"/>
+ <string name="Wait" value="--- Attendi :"/>
+ <string name="AnimFlagStop" value="Ferma l&apos;animazione :"/>
+ <string name="AnimFlagStart" value="Inizia l&apos;animazione :"/>
+ <string name="Wave" value="Saluta con la mano"/>
+ <string name="HelloAvatar" value="Ciao, avatar!"/>
+ <string name="ViewAllGestures" value="Visualizza tutto &gt;&gt;"/>
+ <string name="Animations" value="Animazioni,"/>
+ <string name="Calling Cards" value="Biglietti da visita,"/>
+ <string name="Clothing" value="Vestiti,"/>
+ <string name="Gestures" value="Gesture,"/>
+ <string name="Landmarks" value="Punti di riferimento,"/>
+ <string name="Notecards" value="Biglietti,"/>
+ <string name="Objects" value="Oggetti,"/>
+ <string name="Scripts" value="Script,"/>
+ <string name="Sounds" value="Suoni,"/>
+ <string name="Textures" value="Texture,"/>
+ <string name="Snapshots" value="Fotografie,"/>
+ <string name="No Filters" value="No"/>
+ <string name="Since Logoff" value="- Dall&apos;uscita"/>
<string name="InvFolder My Inventory">
Il mio inventario
</string>
@@ -869,22 +869,22 @@ di questa texture in inventario.
Suoni
</string>
<string name="InvFolder Calling Cards">
- Biglieti da visita
+ Biglietti da visita
</string>
<string name="InvFolder Landmarks">
- Landmark
+ Punti di riferimento
</string>
<string name="InvFolder Scripts">
Script
</string>
<string name="InvFolder Clothing">
- Vestiti
+ Vestiario
</string>
<string name="InvFolder Objects">
Oggetti
</string>
<string name="InvFolder Notecards">
- Notecard
+ Biglietti
</string>
<string name="InvFolder New Folder">
Nuova cartella
@@ -920,22 +920,22 @@ di questa texture in inventario.
Preferiti
</string>
<string name="InvFolder Current Outfit">
- Outfit attuale
+ Abbigliamento attuale
</string>
<string name="InvFolder My Outfits">
- I miei Outfit
+ Il mio vestiario
</string>
<string name="InvFolder Friends">
Amici
</string>
<string name="InvFolder All">
- Tutti
+ Tutto
</string>
<string name="Buy">
- Compra
+ Acquista
</string>
<string name="BuyforL$">
- Compra per L$
+ Acquista per L$
</string>
<string name="Stone">
Pietra
@@ -962,7 +962,7 @@ di questa texture in inventario.
Luce
</string>
<string name="KBShift">
- Shift
+ Maiusc
</string>
<string name="KBCtrl">
Ctrl
@@ -1112,13 +1112,13 @@ di questa texture in inventario.
[COUNT] giorni
</string>
<string name="GroupMembersA">
- [COUNT] membro
+ [COUNT] iscritto
</string>
<string name="GroupMembersB">
- [COUNT] membri
+ [COUNT] iscritti
</string>
<string name="GroupMembersC">
- [COUNT] membri
+ [COUNT] iscritti
</string>
<string name="AcctTypeResident">
Residente
@@ -1127,10 +1127,10 @@ di questa texture in inventario.
In prova
</string>
<string name="AcctTypeCharterMember">
- Membro onorario
+ Socio onorario
</string>
<string name="AcctTypeEmployee">
- Impiegato Linden Lab
+ Dipendente Linden Lab
</string>
<string name="PaymentInfoUsed">
Informazioni di pagamento usate
@@ -1139,7 +1139,7 @@ di questa texture in inventario.
Informazioni di pagamento registrate
</string>
<string name="NoPaymentInfoOnFile">
- Nessuna informazione di pagamento
+ Nessuna informazione di pagamento disponibile
</string>
<string name="AgeVerified">
Età verificata
@@ -1154,7 +1154,7 @@ di questa texture in inventario.
In alto a destra
</string>
<string name="Top">
- In alto
+ in alto
</string>
<string name="Top Left">
In alto a sinistra
@@ -1196,22 +1196,22 @@ di questa texture in inventario.
ricompila
</string>
<string name="ResetQueueTitle">
- Avanzamento reset
+ Azzera avanzamento
</string>
<string name="ResetQueueStart">
- reset
+ azzera
</string>
<string name="RunQueueTitle">
- Avanzamento attivazione
+ Attiva avanzamento
</string>
<string name="RunQueueStart">
- Attiva
+ attiva
</string>
<string name="NotRunQueueTitle">
- Avanzamento disattivazione
+ Disattiva avanzamento
</string>
<string name="NotRunQueueStart">
- Disattivazione
+ disattiva
</string>
<string name="CompileSuccessful">
Compilazione riuscita!
@@ -1231,18 +1231,18 @@ di questa texture in inventario.
<string name="GroupsNone">
nessuno
</string>
- <string name="Group" value=" (gruppo)"/>
+ <string name="Group" value="(gruppo)"/>
<string name="Unknown">
(Sconosciuto)
</string>
<string name="SummaryForTheWeek" value="Riassunto della settimana, partendo dal"/>
- <string name="NextStipendDay" value="Il prossimo giorno di stipendio è "/>
- <string name="GroupIndividualShare" value=" Gruppo Dividendi individuali"/>
+ <string name="NextStipendDay" value="Il prossimo giorno di stipendio è"/>
+ <string name="GroupIndividualShare" value="Gruppo Dividendi individuali"/>
<string name="Balance">
Saldo
</string>
<string name="Credits">
- Crediti
+ Ringraziamenti
</string>
<string name="Debits">
Debiti
@@ -1257,7 +1257,7 @@ di questa texture in inventario.
Proprietà principale
</string>
<string name="IMMainland">
- mainland
+ continente
</string>
<string name="IMTeen">
teen
@@ -1266,13 +1266,13 @@ di questa texture in inventario.
errore
</string>
<string name="RegionInfoAllEstatesOwnedBy">
- la proprietà posseduta da [OWNER]
+ tutte le proprietà immobiliari di [OWNER]
</string>
<string name="RegionInfoAllEstatesYouOwn">
- Le proprietà che possiedi
+ tutte le tue proprietà immobiliari
</string>
<string name="RegionInfoAllEstatesYouManage">
- Le proprietà di cui sei manager per conto di [OWNER]
+ tutte le proprietà immobiliari che gestisci per conto di [OWNER]
</string>
<string name="RegionInfoAllowedResidents">
Residenti ammessi: ([ALLOWEDAGENTS], massimo [MAXACCESS])
@@ -1287,10 +1287,10 @@ di questa texture in inventario.
[COUNT] trovato/i
</string>
<string name="PanelContentsNewScript">
- Nuovo Script
+ Nuovo script
</string>
<string name="MuteByName">
- (per nome)
+ (in base al nome)
</string>
<string name="MuteAgent">
(residente)
@@ -1302,18 +1302,18 @@ di questa texture in inventario.
(gruppo)
</string>
<string name="RegionNoCovenant">
- Non esiste nessun regolamento per questa proprietà.
+ Non esiste alcun regolamento per questa proprietà.
</string>
<string name="RegionNoCovenantOtherOwner">
- Non esiste nessun regolamento per questa proprietà. Il terreno di questa proprietà è messo in vendita dal proprietario, non dalla Linden Lab. Contatta il proprietario del terreno per i dettagli della vendita.
+ Non esiste alcun regolamento per questa proprietà. Il terreno di questa proprietà è messo in vendita dal proprietario, non dalla Linden Lab. Contatta il proprietario del terreno per i dettagli della vendita.
</string>
<string name="covenant_last_modified">
Ultima modifica:
</string>
- <string name="none_text" value=" (nessuno) "/>
- <string name="never_text" value=" (mai) "/>
+ <string name="none_text" value="(nessuno)"/>
+ <string name="never_text" value="(mai)"/>
<string name="GroupOwned">
- Posseduta da un gruppo
+ Di proprietà di un gruppo
</string>
<string name="Public">
Pubblica
@@ -1328,22 +1328,22 @@ di questa texture in inventario.
Anteprima
</string>
<string name="MultiPropertiesTitle">
- Proprietà
+ Beni immobiliari
</string>
<string name="InvOfferAnObjectNamed">
- Un oggetto chiamato
+ Un oggetto denominato
</string>
<string name="InvOfferOwnedByGroup">
- Posseduto dal gruppo
+ di proprietà del gruppo
</string>
<string name="InvOfferOwnedByUnknownGroup">
- Posseduto da un gruppo sconosciuto
+ di proprietà di un gruppo sconosciuto
</string>
<string name="InvOfferOwnedBy">
- Posseduto da
+ di proprietà di
</string>
<string name="InvOfferOwnedByUnknownUser">
- Posseduto da un&apos;utente sconosciuto
+ di proprietà di un utente sconosciuto
</string>
<string name="InvOfferGaveYou">
Ti ha offerto
@@ -1379,7 +1379,7 @@ di questa texture in inventario.
Saldo
</string>
<string name="GroupMoneyCredits">
- Crediti
+ Ringraziamenti
</string>
<string name="GroupMoneyDebits">
Debiti
@@ -1391,7 +1391,7 @@ di questa texture in inventario.
Oggetti acquisiti
</string>
<string name="Cancel">
- Cancella
+ Annulla
</string>
<string name="UploadingCosts">
Costi di caricamento [%s]
@@ -1401,22 +1401,22 @@ di questa texture in inventario.
Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
</string>
<string name="AddLandmarkNavBarMenu">
- Aggiungi landmark...
+ Aggiungi punto di riferimento...
</string>
<string name="EditLandmarkNavBarMenu">
- Modifica landmark...
+ Modifica punto di riferimento...
</string>
<string name="accel-mac-control">
- &#8963;
+ ⌃
</string>
<string name="accel-mac-command">
- &#8984;
+ ⌘
</string>
<string name="accel-mac-option">
- &#8997;
+ ⌥
</string>
<string name="accel-mac-shift">
- &#8679;
+ ⇧
</string>
<string name="accel-win-control">
Ctrl+
@@ -1428,22 +1428,22 @@ Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
Shift+
</string>
<string name="FileSaved">
- File Salvato
+ File salvato
</string>
<string name="Receiving">
In ricezione
</string>
<string name="AM">
- AM
+ antemeridiane
</string>
<string name="PM">
- PM
+ pomeridiane
</string>
<string name="PST">
- PST
+ Ora Pacifico
</string>
<string name="PDT">
- PDT
+ Ora legale Pacifico
</string>
<string name="Forward">
Avanti
@@ -1455,7 +1455,7 @@ Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
Destra
</string>
<string name="Back">
- Dietro
+ Indietro
</string>
<string name="North">
Nord
@@ -1476,13 +1476,13 @@ Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
Giù
</string>
<string name="Any Category">
- Tutte le categorie
+ Qualsiasi categoria
</string>
<string name="Shopping">
- Shopping
+ Acquisti
</string>
<string name="Land Rental">
- Affitto terreni
+ Affitto terreno
</string>
<string name="Property Rental">
Affitto proprietà
@@ -1494,13 +1494,13 @@ Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
Nuovi prodotti
</string>
<string name="Employment">
- Impiego
+ Lavoro
</string>
<string name="Wanted">
- Richiesti
+ Cercasi
</string>
<string name="Service">
- Servizi
+ Servizio
</string>
<string name="Personal">
Personale
@@ -1539,7 +1539,7 @@ Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
Residenziale
</string>
<string name="Stage">
- Stage
+ Fase
</string>
<string name="Other">
Altro
@@ -1551,10 +1551,10 @@ Tipi conosciuti .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
Tu
</string>
<string name="Multiple Media">
- Media Multipli
+ Più supporti
</string>
<string name="Play Media">
- Media Play/Pausa
+ Riproduci/Pausa supporto
</string>
<string name="MBCmdLineError">
Un errore è stato riscontrato analizzando la linea di comando.
@@ -1562,17 +1562,17 @@ Per informazioni: http://wiki.secondlife.com/wiki/Client_parameters
Errore:
</string>
<string name="MBCmdLineUsg">
- uso linea di comando del programma [APP_NAME] :
+ Uso linea di comando del programma [APP_NAME] :
</string>
<string name="MBUnableToAccessFile">
Il programma [APP_NAME] non è in grado di accedere ad un file necessario.
-Potrebbe darsi che tu abbia copie multiple attivate, o il tuo sistema reputa erroneamente che il file sia già aperto.
+Potrebbe darsi che tu abbia copie multiple attivate o che il tuo sistema reputi erroneamente che il file sia già aperto.
Se il problema persiste, riavvia il computer e riprova.
-Se il problema persiste ancora, dovresti completamente disinstallare l&apos;applicazione [APP_NAME] e reinstallarla.
+Se il problema continua ancora, dovresti completamente disinstallare l&apos;applicazione [APP_NAME] e reinstallarla.
</string>
<string name="MBFatalError">
- Errore fatale
+ Errore critico
</string>
<string name="MBRequiresAltiVec">
Il programma [APP_NAME] richiede un processore con AltiVec (G4 o superiore).
@@ -1591,7 +1591,7 @@ Vuoi mandare un crash report?
</string>
<string name="MBNoDirectX">
Il programmma [APP_NAME] non riesce a trovare una DirectX 9.0b o superiore.
-[APP_NAME] usa le DirectX per determinare hardware e/o i driver non aggiornati che possono causare problemi di stabilità, scarsa performance e interruzioni. Sebbene tu possa avviare il programma [APP_NAME] senza di esse, raccomandiamo caldamente di installare le DirectX 9.0b.
+[APP_NAME] usa DirectX per rilevare hardware e/o i driver non aggiornati che possono causare problemi di stabilità, scarsa performance e interruzioni. Benché tu possa avviare il programma [APP_NAME] senza di esse, consigliamo caldamente l&apos;esecuzione con DirectX 9.0b.
Vuoi continuare?
</string>
@@ -1599,8 +1599,8 @@ Vuoi continuare?
Attenzione
</string>
<string name="MBNoAutoUpdate">
- L&apos;aggiornamento automatico non è stato ancora implementato per Linux.
-Raccomandiamo di scaricare l&apos;utima versione da www.secondlife.com.
+ L&apos;aggiornamento automatico non è stato ancora realizzato per Linux.
+Consigliamo di scaricare l&apos;ultima versione direttamente da www.secondlife.com.
</string>
<string name="MBRegClassFailed">
RegisterClass non riuscito
@@ -1609,8 +1609,8 @@ Raccomandiamo di scaricare l&apos;utima versione da www.secondlife.com.
Errore
</string>
<string name="MBFullScreenErr">
- Impossibile visualizzare a schermo intero a risoluzione [WIDTH] x [HEIGHT].
-Visualizzazione corrente ridotta a finestra.
+ Impossibile visualizzare a schermo intero con risoluzione [WIDTH] x [HEIGHT].
+Visualizzazione corrente in modalità finestra.
</string>
<string name="MBDestroyWinFailed">
Errore di arresto durante il tentativo di chiusura della finestra (DestroyWindow() non riuscito)
@@ -1628,14 +1628,14 @@ Visualizzazione corrente ridotta a finestra.
Impossibile ottenere una descrizione del formato pixel
</string>
<string name="MBTrueColorWindow">
- [APP_NAME] richiede True Color (32-bit) per funzionare.
-Vai alle impostazioni dello schermo del tuo computer e imposta il colore in modalità 32-bit.
+ [APP_NAME] richiede True Color (32 bit) per funzionare.
+Vai alle impostazioni dello schermo del tuo computer e imposta il colore in modalità 32 bit.
</string>
<string name="MBAlpha">
- [APP_NAME] non funziona poichè è impossibile trovare un canale alpha ad 8 Bit. Questo problema normalmente deriva dai driver della scheda video.
+ [APP_NAME] non funziona poichè è impossibile trovare un canale alpha a 8 bit. Questo problema normalmente deriva dai driver della scheda video.
Assicurati di avere installato i driver della scheda video più recenti.
-Assicurati anche che il monitor sia impostato a True Color (32-bit) nel pannello di controllo &gt; Display &gt; Settings.
-Se il messaggio persiste, contatta contatta [SUPPORT_SITE].
+Assicurati anche che il monitor sia impostato a True Color (32 bit) nel Pannello di controllo &gt; Schermo &gt; Impostazioni.
+Se il messaggio persiste, contatta [SUPPORT_SITE].
</string>
<string name="MBPixelFmtSetErr">
Impossibile impostare il formato pixel
@@ -1647,7 +1647,7 @@ Se il messaggio persiste, contatta contatta [SUPPORT_SITE].
Impossibile attivare il GL rendering
</string>
<string name="MBVideoDrvErr">
- [APP_NAME] Non riesce ad avviarsi perchè i driver della tua scheda video non sono stati installati correttamente, non sono aggiornati, o sono per un hardware non supportato. Assicurati di avere i driver della scheda video più recenti e anche se li hai installati, prova a reinstallarli di nuovo.
+ [APP_NAME] Non riesce ad avviarsi perchè i driver della tua scheda video non sono stati installati correttamente, non sono aggiornati, o sono per un hardware non supportato. Assicurati di avere i driver della scheda video più recenti e anche se li hai installati, prova a installarli di nuovo.
Se il messaggio persiste, contatta [SUPPORT_SITE].
</string>
@@ -1673,43 +1673,43 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Lobi attaccati
</string>
<string name="Back Bangs">
- #Back Bangs
+ Frangetta da dietro
</string>
<string name="Back Bangs Down">
- #Back Bangs Down
+ Frangetta da dietro giù
</string>
<string name="Back Bangs Up">
- #Back Bangs Up
+ Frangetta da dietro su
</string>
<string name="Back Fringe">
Frangetta all&apos;indietro
</string>
<string name="Back Hair">
- #Back Hair
+ Capelli da dietro
</string>
<string name="Back Hair Down">
- #Back Hair Down
+ Capelli da dietro giù
</string>
<string name="Back Hair Up">
- #Back Hair Up
+ Capelli da dietro su
</string>
<string name="Baggy">
- Con le borse
+ Larghi
</string>
<string name="Bangs">
Frange
</string>
<string name="Bangs Down">
- #Bangs Down
+ Frangetta giù
</string>
<string name="Bangs Up">
- #Bangs Up
+ Frangetta su
</string>
<string name="Beady Eyes">
Occhi piccoli
</string>
<string name="Belly Size">
- punto vita
+ Punto vita
</string>
<string name="Big">
Grande
@@ -1718,22 +1718,22 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Sedere grande
</string>
<string name="Big Eyeball">
- #Big Eyeball
+ Bulbo oculare grande
</string>
<string name="Big Hair Back">
- Gonfiore dei capelli: dietro
+ Capigliatura grande: Indietro
</string>
<string name="Big Hair Front">
- Gonfiore dei capelli: davanti
+ Capigliatura grande: anteriore
</string>
<string name="Big Hair Top">
- Gonfiore dei capelli: sopra
+ Capigliatura grande: in alto
</string>
<string name="Big Head">
- Grandezza testa
+ Grande testa
</string>
<string name="Big Pectorals">
- Grandezza pettorali
+ Grandi pettorali
</string>
<string name="Big Spikes">
Capelli con punte
@@ -1766,13 +1766,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Lentiggini e nei
</string>
<string name="Body Thick">
- Corpo robusto
+ Corpo più robusto
</string>
<string name="Body Thickness">
Robustezza del corpo
</string>
<string name="Body Thin">
- Magrezza del corpo
+ Corpo più magro
</string>
<string name="Bow Legged">
Gambe arcuate
@@ -1781,7 +1781,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Altezza del seno
</string>
<string name="Breast Cleavage">
- Avvicinamento dei seni
+ Décolleté
</string>
<string name="Breast Size">
Grandezza del seno
@@ -1796,7 +1796,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Grandezza delle sopracciglia
</string>
<string name="Bug Eyes">
- Sporgenza degli occhi
+ Occhi sporgenti
</string>
<string name="Bugged Eyes">
Occhi sporgenti
@@ -1817,19 +1817,19 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Grandezza del sedere
</string>
<string name="bustle skirt">
- Arricciatura posteriore
+ Crinolina
</string>
<string name="no bustle">
- Meno arricciatura
+ Nessuna crinolina
</string>
<string name="more bustle">
- Più arricciatura
+ Più crinolina
</string>
<string name="Chaplin">
Baffetti
</string>
<string name="Cheek Bones">
- Mascella
+ Zigomi
</string>
<string name="Chest Size">
Ampiezza del torace
@@ -1838,7 +1838,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Angolo del mento
</string>
<string name="Chin Cleft">
- Fessura inf. del mento
+ Fossetta sul mento
</string>
<string name="Chin Curtains">
Barba sottomento
@@ -1847,16 +1847,16 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Profondità mento
</string>
<string name="Chin Heavy">
- Appuntita verso l&apos;alto
+ Mento forte
</string>
<string name="Chin In">
Mento in dentro
</string>
<string name="Chin Out">
- Mento in fuori
+ Mento sporgente
</string>
<string name="Chin-Neck">
- Grandezza mento-collo
+ Mento-collo
</string>
<string name="Clear">
Trasparente
@@ -1871,46 +1871,46 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Chiusa
</string>
<string name="Closed Back">
- Spacco chiuso dietro
+ Chiuso dietro
</string>
<string name="Closed Front">
- Spacco chiuso davanti
+ Chiuso davanti
</string>
<string name="Closed Left">
- Spacco chiuso sx
+ Chiuso sinistra
</string>
<string name="Closed Right">
- Spacco chiuso dx
+ Chiuso destra
</string>
<string name="Coin Purse">
Meno pronunciati
</string>
<string name="Collar Back">
- Scollatura posteriore
+ Colletto posteriore
</string>
<string name="Collar Front">
- Scollatura anteriore
+ Colletto anteriore
</string>
<string name="Corner Down">
Angolo all&apos;ingiù
</string>
<string name="Corner Normal">
- Angolo Normale
+ Angolo normale
</string>
<string name="Corner Up">
Angolo all&apos;insù
</string>
<string name="Creased">
- Alzato
+ Piega
</string>
<string name="Crooked Nose">
Naso storto
</string>
<string name="Cropped Hair">
- Capelli raccolti
+ Capelli corti
</string>
<string name="Cuff Flare">
- Fondo pantalone
+ Svasato con risvolto
</string>
<string name="Dark">
Scuro
@@ -1922,7 +1922,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Più scuro
</string>
<string name="Deep">
- Più pronunciato
+ Profondo
</string>
<string name="Default Heels">
Tacchi standard
@@ -1931,40 +1931,40 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Punta del piede standard
</string>
<string name="Dense">
- Meno rade
+ Folti
</string>
<string name="Dense hair">
- #Dense Hair
+ Capelli folti
</string>
<string name="Double Chin">
Doppio mento
</string>
<string name="Downturned">
- Naso all&apos;ingiù
+ All&apos;ingiù
</string>
<string name="Duffle Bag">
Più pronunciati
</string>
<string name="Ear Angle">
- Orecchie a sventola
+ Angolo orecchie
</string>
<string name="Ear Size">
Grandezza orecchie
</string>
<string name="Ear Tips">
- Tipo di orecchio
+ Estremità orecchie
</string>
<string name="Egg Head">
Ovalizzazione testa
</string>
<string name="Eye Bags">
- Borse sotto agli occhi
+ Occhiaie
</string>
<string name="Eye Color">
Colore degli occhi
</string>
<string name="Eye Depth">
- Occhi incavati
+ Profondità degli occhi
</string>
<string name="Eye Lightness">
Luminosità degli occhi
@@ -1973,7 +1973,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Apertura degli occhi
</string>
<string name="Eye Pop">
- Differenza apertura occhi
+ Prominenza degli occhi
</string>
<string name="Eye Size">
Grandezza occhi
@@ -1982,7 +1982,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Distanza occhi
</string>
<string name="Eyeball Size">
- #Eyeball Size
+ Grandezza bulbo oculare
</string>
<string name="Eyebrow Arc">
Arco delle sopracciglia
@@ -2009,64 +2009,64 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Colore dell&apos;eyeliner
</string>
<string name="Eyes Back">
- #Eyes Back
+ Occhi indietro
</string>
<string name="Eyes Bugged">
Occhi sporgenti
</string>
<string name="Eyes Forward">
- #Eyes Forward
+ Occhi in avanti
</string>
<string name="Eyes Long Head">
- #Eyes Long Head
+ Occhi testa lunga
</string>
<string name="Eyes Shear Left Up">
- Distorsione occhi in alto a sx
+ Occhio a sinistra verso l&apos;alto
</string>
<string name="Eyes Shear Right Up">
- Distorsione occhi in alto a dx
+ Occhio a destra verso il basso
</string>
<string name="Eyes Short Head">
- #Eyes Short Head
+ Occhi testa corta
</string>
<string name="Eyes Spread">
- #Eyes Spread
+ Spaziatura occhi
</string>
<string name="Eyes Sunken">
- #Eyes Sunken
+ Occhi infossati
</string>
<string name="Eyes Together">
- #Eyes Together
+ Occhi ravvicinati
</string>
<string name="Face Shear">
- Distorsione del viso
+ Taglio del viso
</string>
<string name="Facial Definition">
- Lineamenti del viso
+ Definizione del viso
</string>
<string name="Far Set Eyes">
Occhi distanti
</string>
<string name="Fat">
- #Fat
+ Grasso
</string>
<string name="Fat Head">
- #Fat Head
+ Testa grossa
</string>
<string name="Fat Lips">
Labbra carnose
</string>
<string name="Fat Lower">
- #Fat Lower
+ Inferiore carnoso
</string>
<string name="Fat Lower Lip">
Labbro inferiore sporgente
</string>
<string name="Fat Torso">
- #Fat Torso
+ Torace grosso
</string>
<string name="Fat Upper">
- #Fat Upper
+ Torace grosso
</string>
<string name="Fat Upper Lip">
Labbro superiore sporgente
@@ -2081,7 +2081,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Dita
</string>
<string name="Flared Cuffs">
- Fondo largo
+ Risvolti svasati
</string>
<string name="Flat">
Piatto
@@ -2090,88 +2090,88 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Sedere piatto
</string>
<string name="Flat Head">
- Viso piatto
+ Testa piatta
</string>
<string name="Flat Toe">
Punta piatta
</string>
<string name="Foot Size">
- Grandezza piede
+ Misura piede
</string>
<string name="Forehead Angle">
Angolo della fronte
</string>
<string name="Forehead Heavy">
- Appuntita verso il basso
+ Fronte sporgente
</string>
<string name="Freckles">
Lentiggini
</string>
<string name="Front Bangs Down">
- #Front Bangs Down
+ Frangette in giù
</string>
<string name="Front Bangs Up">
- #Front Bangs Up
+ Frangette in su
</string>
<string name="Front Fringe">
Frangetta
</string>
<string name="Front Hair">
- #Front Hair
+ Capelli davanti
</string>
<string name="Front Hair Down">
- #Front Hair Down
+ Capelli davanti sciolti
</string>
<string name="Front Hair Up">
- #Front Hair Up
+ Capelli davanti raccolti
</string>
<string name="Full Back">
- Scostati
+ Dietro gonfi
</string>
<string name="Full Eyeliner">
- Con eyeliner
+ Eyeliner marcato
</string>
<string name="Full Front">
- Anteriore pieno
+ Anteriore gonfio
</string>
<string name="Full Hair Sides">
- Riempimento lati
+ Lati capelli gonfi
</string>
<string name="Full Sides">
- Pieni
+ Lati gonfi
</string>
<string name="Glossy">
Lucido
</string>
<string name="Glove Fingers">
- Dita dei guanti
+ Dita con guanti
</string>
<string name="Glove Length">
Lunghezza guanti
</string>
<string name="Hair">
- Capelli
+ Capigliature
</string>
<string name="Hair Back">
- Capelli: dietro
+ Capelli: Indietro
</string>
<string name="Hair Front">
- Capelli: davanti
+ Capelli: anteriore
</string>
<string name="Hair Sides">
Capelli: lati
</string>
<string name="Hair Sweep">
- Traslazione
+ Direzione capigliatura
</string>
<string name="Hair Thickess">
- Spessore
+ Foltezza
</string>
<string name="Hair Thickness">
- Spessore barba
+ Foltezza
</string>
<string name="Hair Tilt">
- Rotazione capelli
+ Inclinazione
</string>
<string name="Hair Tilted Left">
Verso sinistra
@@ -2180,16 +2180,16 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Verso destra
</string>
<string name="Hair Volume">
- Capelli: volume
+ Capelli: Volume
</string>
<string name="Hand Size">
Grandezza mani
</string>
<string name="Handlebars">
- Baffi lunghi
+ Baffi a manubrio
</string>
<string name="Head Length">
- Sporgenza del viso
+ Lunghezza testa
</string>
<string name="Head Shape">
Forma della testa
@@ -2198,7 +2198,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Grandezza della testa
</string>
<string name="Head Stretch">
- Compressione lat testa
+ Allungamento testa
</string>
<string name="Heel Height">
Altezza tacchi
@@ -2222,7 +2222,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Alta
</string>
<string name="High and Tight">
- Cavallo alto
+ Alto e stretto
</string>
<string name="Higher">
Più alto
@@ -2267,7 +2267,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Forma del mento
</string>
<string name="Join">
- Avvicinati
+ Iscriviti
</string>
<string name="Jowls">
Guance
@@ -2297,7 +2297,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Meno
</string>
<string name="Less Body Fat">
- Meno grasso
+ Meno grasso corporeo
</string>
<string name="Less Curtains">
Meno
@@ -2339,16 +2339,16 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Meno
</string>
<string name="Lighter">
- Più chiaro
+ Più leggero
</string>
<string name="Lip Cleft">
- Distanza divis. labbro sup.
+ Distanza fossetta labbro
</string>
<string name="Lip Cleft Depth">
- Prof. spacco labbro sup.
+ Prof. fossetta labbro
</string>
<string name="Lip Fullness">
- Riempimento delle labbra
+ Volume labbra
</string>
<string name="Lip Pinkness">
Tonalità rosa labbra
@@ -2375,7 +2375,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Lungo
</string>
<string name="Long Head">
- Viso sporgente
+ Testa lunga
</string>
<string name="Long Hips">
Bacino alto
@@ -2387,7 +2387,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Collo lungo
</string>
<string name="Long Pigtails">
- Ciuffi laterali lunghi
+ Codini lunghi
</string>
<string name="Long Ponytail">
Codino lungo
@@ -2399,16 +2399,16 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Braccia lunghe
</string>
<string name="Longcuffs">
- Longcuffs
+ Maniche lunghe
</string>
<string name="Loose Pants">
- Non attillati
+ Pantaloni ampi
</string>
<string name="Loose Shirt">
- Non attillata
+ Camicia ampia
</string>
<string name="Loose Sleeves">
- Maniche lente
+ Maniche non attillate
</string>
<string name="Love Handles">
Maniglie dell&apos;amore
@@ -2426,7 +2426,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Bassa
</string>
<string name="Low and Loose">
- Cavallo basso
+ Basso e ampio
</string>
<string name="Lower">
Più basso
@@ -2435,7 +2435,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Parte bassa del setto
</string>
<string name="Lower Cheeks">
- Guance
+ Guance inferiori
</string>
<string name="Male">
Maschio
@@ -2444,13 +2444,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Riga nel mezzo
</string>
<string name="More">
- Di più
+ Altro
</string>
<string name="More Blush">
Più fard
</string>
<string name="More Body Fat">
- Più grasso
+ Più grasso corporeo
</string>
<string name="More Curtains">
Più
@@ -2519,7 +2519,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Posizione della bocca
</string>
<string name="Mowhawk">
- Vuoti
+ Moicana
</string>
<string name="Muscular">
Muscolatura
@@ -2597,10 +2597,10 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Superiore normale
</string>
<string name="Nose Left">
- Storto a sinistra
+ Naso a sinistra
</string>
<string name="Nose Right">
- Storto a destra
+ Naso a destra
</string>
<string name="Nose Size">
Grandezza naso
@@ -2630,13 +2630,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Opaco
</string>
<string name="Open">
- Aperto
+ Apri
</string>
<string name="Open Back">
Retro aperto
</string>
<string name="Open Front">
- Aperto Frontale
+ Davanti aperto
</string>
<string name="Open Left">
Lato sin. aperto
@@ -2672,7 +2672,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Genitali
</string>
<string name="Painted Nails">
- Unghie colorate
+ Unghie smaltate
</string>
<string name="Pale">
Pallido
@@ -2687,7 +2687,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Lunghezza pantaloni
</string>
<string name="Pants Waist">
- Altezza slip
+ Taglia pantalone
</string>
<string name="Pants Wrinkles">
Pantaloni con le grinze
@@ -2705,7 +2705,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Pigmento
</string>
<string name="Pigtails">
- Ciuffi
+ Codini
</string>
<string name="Pink">
Rosa
@@ -2807,16 +2807,16 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Meno pronunciato
</string>
<string name="Shear Back">
- Accostamento posteriore
+ Taglio posteriore
</string>
<string name="Shear Face">
- Distorsione viso
+ Taglio del viso
</string>
<string name="Shear Front">
- Riempimento davanti
+ Taglio anteriore
</string>
<string name="Shear Left">
- A sinistra
+ Taglio a sinistra
</string>
<string name="Shear Left Up">
Distorto a sinistra
@@ -2828,10 +2828,10 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Distorto a destra
</string>
<string name="Sheared Back">
- Accostati
+ Taglio verso dietro
</string>
<string name="Sheared Front">
- Anteriormente vuoto
+ Taglio verso davanti
</string>
<string name="Shift Left">
A sinistra
@@ -2867,10 +2867,10 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Collo corto
</string>
<string name="Short Pigtails">
- Ciuffi laterali corti
+ Codini corti
</string>
<string name="Short Ponytail">
- Codino Corto
+ Codino corto
</string>
<string name="Short Sideburns">
Basette corte
@@ -2900,13 +2900,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Basette
</string>
<string name="Sides Hair">
- Capigliatura later.
+ Capigliatura di lato
</string>
<string name="Sides Hair Down">
- Giù
+ Capigliatura di lato sciolta
</string>
<string name="Sides Hair Up">
- Su
+ Capigliatura di lato raccolta
</string>
<string name="Skinny">
Skinny
@@ -2930,19 +2930,19 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Morbidezza maniche
</string>
<string name="Slit Back">
- Spacco: posteriore
+ Spacco: Indietro
</string>
<string name="Slit Front">
Spacco: anteriore
</string>
<string name="Slit Left">
- Spacco: sinistro
+ Spacco: Sinistra
</string>
<string name="Slit Right">
- Spacco: destro
+ Spacco: Destra
</string>
<string name="Small">
- Piccolo
+ Piccola
</string>
<string name="Small Hands">
Mani piccole
@@ -3032,37 +3032,37 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Punta spessa
</string>
<string name="Thickness">
- Thickness
+ Spessore
</string>
<string name="Thin">
- Ossute
+ Sottili
</string>
<string name="Thin Eyebrows">
- Sopracciglia fini
+ Sopracciglia sottili
</string>
<string name="Thin Lips">
- Labbra fini
+ Labbra sottili
</string>
<string name="Thin Nose">
- Naso fino
+ Naso sottile
</string>
<string name="Tight Chin">
- Mento magro
+ Mento stretto
</string>
<string name="Tight Cuffs">
Fondo stretto
</string>
<string name="Tight Pants">
- Attillati
+ Pantaloni attillati
</string>
<string name="Tight Shirt">
- Attilata
+ Camicia attillata
</string>
<string name="Tight Skirt">
- Attillata
+ Gonna attillata
</string>
<string name="Tight Sleeves">
- Attillate
+ Maniche strette
</string>
<string name="Tilt Left">
Tilt Left
@@ -3089,7 +3089,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Distaccato
</string>
<string name="Uncreased">
- Abbassato
+ Senza piega
</string>
<string name="Underbite">
Denti inf. in fuori
@@ -3104,13 +3104,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Parte alta degli zigomi
</string>
<string name="Upper Chin Cleft">
- Fessura sup. del mento
+ Fossetta sup. del mento
</string>
<string name="Upper Eyelid Fold">
Piega palpebra sup.
</string>
<string name="Upturned">
- Naso all&apos;insù
+ All&apos;insù
</string>
<string name="Very Red">
Molto rossi
@@ -3125,13 +3125,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Capelli bianchi
</string>
<string name="Wide">
- Spalancati
+ Largo
</string>
<string name="Wide Back">
- Laterali post. larghi
+ Dietro largo
</string>
<string name="Wide Front">
- Laterali ant. larghi
+ Davanti largo
</string>
<string name="Wide Lips">
Labbra larghe
@@ -3143,31 +3143,31 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Grinze
</string>
<string name="LocationCtrlAddLandmarkTooltip">
- Aggiungi ai miei landmark
+ Aggiungi ai miei punti di riferimento
</string>
<string name="LocationCtrlEditLandmarkTooltip">
- Modifica i miei landmark
+ Modifica i miei punti di riferimento
</string>
<string name="LocationCtrlInfoBtnTooltip">
- maggiori informazioni sulla posizione attuale
+ Maggiori informazioni sulla posizione attuale
</string>
<string name="LocationCtrlComboBtnTooltip">
- Lo storico delle mie posizioni
+ La cronologia delle mie posizioni
</string>
<string name="UpdaterWindowTitle">
Aggiornamento [APP_NAME]
</string>
<string name="UpdaterNowUpdating">
- [APP_NAME] In aggiornamento...
+ Aggiornamento di [APP_NAME]...
</string>
<string name="UpdaterNowInstalling">
- [APP_NAME] In installazione...
+ Installazione di [APP_NAME]...
</string>
<string name="UpdaterUpdatingDescriptive">
- Il Viewer del programma [APP_NAME] si sta aggiornando all&apos;ultima versione. Potrebbe volerci del tempo, attendi.
+ Il Viewer del programma [APP_NAME] si sta aggiornando all&apos;ultima versione. Potrebbe volerci del tempo, attendi.
</string>
<string name="UpdaterProgressBarTextWithEllipses">
- Aggiornamento in download...
+ Download dell&apos;aggiornamento...
</string>
<string name="UpdaterProgressBarText">
Download dell&apos;aggiornamento
@@ -3176,13 +3176,13 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
Download dell&apos;aggiornamento non riuscito
</string>
<string name="UpdaterFailUpdateDescriptive">
- Il programma [APP_NAME] ha riscontrato un&apos;errore nel tentativo di aggiornamento. Consigliamo di scaricare l&apos;ultima versione direttamente da www.secondlife.com.
+ Il programma [APP_NAME] ha riscontrato un&apos;errore durante il tentativo di aggiornamento. Consigliamo di scaricare l&apos;ultima versione direttamente da www.secondlife.com.
</string>
<string name="UpdaterFailInstallTitle">
- Tentativo di installazione aggiornamento non riuscito
+ Installazione dell&apos;aggiornamento non riuscita
</string>
<string name="UpdaterFailStartTitle">
- Errore nell&apos;apertura del viewer
+ Errore nell&apos;avvio del viewer
</string>
<string name="IM_logging_string">
-- Registrazione messaggi instantanei abilitata --
@@ -3194,7 +3194,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
(anonimo)
</string>
<string name="IM_moderated_chat_label">
- (Moderato: Voice spento di default)
+ (Moderato: Voci disattivate di default)
</string>
<string name="IM_unavailable_text_label">
La chat di testo non è disponibile per questa chiamata.
@@ -3203,7 +3203,7 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
La chat di testo è stata disabilitata da un moderatore di gruppo.
</string>
<string name="IM_default_text_label">
- Clicca qua per inviare un messaggio instantaneo.
+ Clicca qui per inviare un messaggio instantaneo.
</string>
<string name="IM_to_label">
A
diff --git a/indra/test_apps/llplugintest/bookmarks.txt b/indra/test_apps/llplugintest/bookmarks.txt
index b8b83df386..2ff64f217f 100644
--- a/indra/test_apps/llplugintest/bookmarks.txt
+++ b/indra/test_apps/llplugintest/bookmarks.txt
@@ -18,20 +18,20 @@
(Flash) Scribd,http://www.scribd.com/doc/14427744/Second-Life-Quickstart-Guide
(Flash) MAME,http://yvern.com/fMAME/fMAME.html
(QT) Local sample,file:///C|/Program Files/QuickTime/Sample.mov
-(QT) Movie - Watchmen Trailer,http://movies.apple.com/movies/wb/watchmen/watchmen-tlr2_480p.mov
-(QT) Movie - Transformers - Revenge of the Fallen,http://movies.apple.com/movies/paramount/transformers2/transformersrevengeofthefallen-tlr1_h.320.mov
-(QT) Movie - Terminator Salvation,http://movies.apple.com/movies/wb/terminatorsalvation/terminatorsalvation-tlr3_h.320.mov
-(QT) Movie - Angels and Demons,http://movies.apple.com/movies/sony_pictures/angelsanddemons/angelsanddemons-video_h.320.mov
-(QT) Movie - Sin City Trailer,http://movies.apple.com/movies/miramax/sin_city/sin_city_480.mov
-(QT) Movie - The Incredibles Trailer,http://movies.apple.com/movies/disney/the_incredibles/the_incredibles-tlr_a480.mov
+(QT) Movie - Watchmen Trailer,http://trailers.apple.com/movies/wb/watchmen/watchmen-tlr2_480p.mov
+(QT) Movie - Transformers - Revenge of the Fallen,http://trailers.apple.com/movies/paramount/transformers2/transformersrevengeofthefallen-tlr1_h.320.mov
+(QT) Movie - Terminator Salvation,http://trailers.apple.com/movies/wb/terminatorsalvation/terminatorsalvation-tlr3_h.320.mov
+(QT) Movie - Angels and Demons,http://trailers.apple.com/movies/sony_pictures/angelsanddemons/angelsanddemons-video_h.320.mov
+(QT) Movie - Sin City Trailer,http://trailers.apple.com/movies/miramax/sin_city/sin_city_480.mov
+(QT) Movie - The Incredibles Trailer,http://trailers.apple.com/movies/disney/the_incredibles/the_incredibles-tlr_a480.mov
(QT) Movie - Streaming Apple Event,http://stream.qtv.apple.com/events/mar/0903lajkszg/m_090374535329zdwg_650_ref.mov
(QT) Movie - MPEG-4 from Amazon S3,http://s3.amazonaws.com/callum-linden/flashdemo/interactive_flash_demo.mp4
-(QT) Movie - Star Trek,http://movies.apple.com/movies/paramount/star_trek/startrek-tlr3_h.320.mov
-(QT) Movie - Ice Age 3,http://movies.apple.com/movies/fox/ice_age_iii/iceage3-tlrd_h.320.mov
-(QT) Movie - AstroBoy,http://movies.apple.com/movies/summit/astroboy/astroboy-tsr_h.320.mov
-(QT) Movie - Ante Up,http://movies.apple.com/movies/independent/anteup/anteup_h.320.mov
-(QT) Movie - Every Little Step,http://movies.apple.com/movies/sony/everylittlestep/everylittlestep-clip_h.320.mov
-(QT) Movie - The Informers,http://movies.apple.com/movies/independent/theinformers/theinformers_h.320.mov
+(QT) Movie - Star Trek,http://trailers.apple.com/movies/paramount/star_trek/startrek-tlr3_h.320.mov
+(QT) Movie - Ice Age 3,http://trailers.apple.com/movies/fox/ice_age_iii/iceage3-tlrd_h.320.mov
+(QT) Movie - AstroBoy,http://trailers.apple.com/movies/summit/astroboy/astroboy-tsr_h.320.mov
+(QT) Movie - Ante Up,http://trailers.apple.com/movies/independent/anteup/anteup_h.320.mov
+(QT) Movie - Every Little Step,http://trailers.apple.com/movies/sony/everylittlestep/everylittlestep-clip_h.320.mov
+(QT) Movie - The Informers,http://trailers.apple.com/movies/independent/theinformers/theinformers_h.320.mov
(QT) Animated GIF,http://upload.wikimedia.org/wikipedia/commons/4/44/Optical.greysquares.arp-animated.gif
(QT) Apple Text Descriptors,http://ubrowser.com/tmp/apple_text.txt
(EX) Example Plugin,example://blah
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index e5a846f15a..5677308fb0 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -1593,8 +1593,8 @@ void LLMediaPluginTest::addMediaPanel( std::string url )
}
std::string user_data_path = std::string( cwd ) + "/";
#endif
-
- media_source->init( launcher_name, plugin_name, false, user_data_path );
+ media_source->setUserDataPath(user_data_path);
+ media_source->init( launcher_name, plugin_name, false );
media_source->setDisableTimeout(mDisableTimeout);
// make a new panel and save parameters
@@ -1831,7 +1831,8 @@ void LLMediaPluginTest::replaceMediaPanel( mediaPanel* panel, std::string url )
std::string user_data_path = std::string( cwd ) + "/";
#endif
- media_source->init( launcher_name, plugin_name, false, user_data_path );
+ media_source->setUserDataPath(user_data_path);
+ media_source->init( launcher_name, plugin_name, false );
media_source->setDisableTimeout(mDisableTimeout);
// make a new panel and save parameters