summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/CMakeLists.txt10
-rw-r--r--indra/llui/llurlentry.cpp17
-rw-r--r--indra/llui/llurlentry.h3
-rw-r--r--indra/llui/llurlregistry.cpp2
-rw-r--r--indra/media_plugins/webkit/media_plugin_webkit.cpp28
-rw-r--r--indra/newview/llclassifiedstatsresponder.cpp24
-rw-r--r--indra/newview/llclassifiedstatsresponder.h3
-rw-r--r--indra/newview/llfloaterpreference.cpp3
-rw-r--r--indra/newview/llfloaterscriptlimits.cpp2
-rw-r--r--indra/newview/llgrouplist.h5
-rw-r--r--indra/newview/llnotificationhandler.h9
-rw-r--r--indra/newview/llnotificationhandlerutil.cpp77
-rw-r--r--indra/newview/llnotificationtiphandler.cpp17
-rw-r--r--indra/newview/llpanelclassified.cpp152
-rw-r--r--indra/newview/llpanelclassified.h25
-rw-r--r--indra/newview/llpanelpeople.cpp4
-rw-r--r--indra/newview/llscreenchannel.cpp5
-rw-r--r--indra/newview/lltexturectrl.h2
-rw-r--r--indra/newview/llviewermedia.cpp4
-rw-r--r--indra/newview/llwearablelist.cpp5
-rw-r--r--indra/newview/skins/default/textures/navbar/BuyArrow_Over.pngbin689 -> 508 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/da/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_task_info.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/de/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_world_map.xml17
-rw-r--r--indra/newview/skins/default/xui/en/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_people.xml16
-rw-r--r--indra/newview/skins/default/xui/en/panel_place_profile.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml12
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_task_info.xml1
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml6
-rw-r--r--indra/newview/skins/default/xui/es/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/es/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/es/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/it/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/it/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/it/sidepanel_task_info.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/ja/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/pt/panel_place_profile.xml8
-rw-r--r--install.xml4
59 files changed, 536 insertions, 123 deletions
diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt
index 853f6f173d..532b6b6524 100644
--- a/indra/llui/CMakeLists.txt
+++ b/indra/llui/CMakeLists.txt
@@ -209,6 +209,16 @@ set(llui_HEADER_FILES
set_source_files_properties(${llui_HEADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
+SET(llurlentry_TEST_DEPENDENCIES
+ llurlmatch.cpp
+ llurlregistry.cpp
+ )
+
+set_source_files_properties(llurlentry.cpp
+ PROPERTIES LL_TEST_ADDITIONAL_SOURCE_FILES
+ "${llurlentry_TEST_DEPENDENCIES}"
+ )
+
list(APPEND llui_SOURCE_FILES ${llui_HEADER_FILES})
add_library (llui ${llui_SOURCE_FILES})
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp
index 20c939874b..35428e4227 100644
--- a/indra/llui/llurlentry.cpp
+++ b/indra/llui/llurlentry.cpp
@@ -34,6 +34,8 @@
#include "linden_common.h"
#include "llurlentry.h"
#include "lluri.h"
+#include "llurlmatch.h"
+#include "llurlregistry.h"
#include "llcachename.h"
#include "lltrans.h"
@@ -308,6 +310,7 @@ 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");
}
@@ -602,6 +605,20 @@ std::string LLUrlEntrySLLabel::getUrl(const std::string &string) const
return getUrlFromWikiLink(string);
}
+std::string LLUrlEntrySLLabel::getTooltip(const std::string &string) const
+{
+ // return a tooltip corresponding to the URL type instead of the generic one (EXT-4574)
+ std::string url = getUrl(string);
+ LLUrlMatch match;
+ if (LLUrlRegistry::instance().findUrl(url, match))
+ {
+ return match.getTooltip();
+ }
+
+ // unrecognized URL? should not happen
+ return LLUrlEntryBase::getTooltip(string);
+}
+
//
// LLUrlEntryWorldMap Describes secondlife:///<location> URLs
//
diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h
index 3abada0f24..c947ef7259 100644
--- a/indra/llui/llurlentry.h
+++ b/indra/llui/llurlentry.h
@@ -83,7 +83,7 @@ public:
LLUIColor getColor() const { return mColor; }
/// Given a matched Url, return a tooltip string for the hyperlink
- std::string getTooltip() const { return mTooltip; }
+ virtual std::string getTooltip(const std::string &string) const { return mTooltip; }
/// Return the name of a XUI file containing the context menu items
std::string getMenuName() const { return mMenuName; }
@@ -257,6 +257,7 @@ public:
LLUrlEntrySLLabel();
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb);
/*virtual*/ std::string getUrl(const std::string &string) const;
+ /*virtual*/ std::string getTooltip(const std::string &string) const;
};
///
diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp
index 722dbe41b3..faa02e1904 100644
--- a/indra/llui/llurlregistry.cpp
+++ b/indra/llui/llurlregistry.cpp
@@ -174,7 +174,7 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
match.setValues(match_start, match_end,
match_entry->getUrl(url),
match_entry->getLabel(url, cb),
- match_entry->getTooltip(),
+ match_entry->getTooltip(url),
match_entry->getIcon(),
match_entry->getColor(),
match_entry->getMenuName(),
diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp
index c7aba04492..e66ac3049f 100644
--- a/indra/media_plugins/webkit/media_plugin_webkit.cpp
+++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp
@@ -43,6 +43,13 @@
#include "llpluginmessageclasses.h"
#include "media_plugin_base.h"
+// set to 1 if you're using the version of llqtwebkit that's QPixmap-ified
+#if LL_LINUX
+# define LL_QTWEBKIT_USES_PIXMAPS 1
+#else
+# define LL_QTWEBKIT_USES_PIXMAPS 0
+#endif // LL_LINUX
+
#if LL_LINUX
# include "linux_volume_catcher.h"
#endif // LL_LINUX
@@ -142,7 +149,11 @@ private:
{
const unsigned char* browser_pixels = LLQtWebKit::getInstance()->grabBrowserWindow( mBrowserWindowId );
- unsigned int buffer_size = LLQtWebKit::getInstance()->getBrowserRowSpan( mBrowserWindowId ) * LLQtWebKit::getInstance()->getBrowserHeight( mBrowserWindowId );
+ unsigned int rowspan = LLQtWebKit::getInstance()->getBrowserRowSpan( mBrowserWindowId );
+ unsigned int height = LLQtWebKit::getInstance()->getBrowserHeight( mBrowserWindowId );
+#if !LL_QTWEBKIT_USES_PIXMAPS
+ unsigned int buffer_size = rowspan * height;
+#endif // !LL_QTWEBKIT_USES_PIXMAPS
// std::cerr << "webkit plugin: updating" << std::endl;
@@ -150,7 +161,16 @@ private:
if ( mPixels && browser_pixels )
{
// std::cerr << " memcopy of " << buffer_size << " bytes" << std::endl;
+
+#if LL_QTWEBKIT_USES_PIXMAPS
+ // copy the pixel data upside-down because of the co-ord system
+ for (int y=0; y<height; ++y)
+ {
+ memcpy( &mPixels[(height-y-1)*rowspan], &browser_pixels[y*rowspan], rowspan );
+ }
+#else
memcpy( mPixels, browser_pixels, buffer_size );
+#endif // LL_QTWEBKIT_USES_PIXMAPS
}
if ( mWidth > 0 && mHeight > 0 )
@@ -258,8 +278,10 @@ private:
// 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 );
+#endif // !LL_QTWEBKIT_USES_PIXMAPS
// set background color
// convert background color channels from [0.0, 1.0] to [0, 255];
@@ -677,7 +699,11 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
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);
diff --git a/indra/newview/llclassifiedstatsresponder.cpp b/indra/newview/llclassifiedstatsresponder.cpp
index ecd1879090..95f17aa7ba 100644
--- a/indra/newview/llclassifiedstatsresponder.cpp
+++ b/indra/newview/llclassifiedstatsresponder.cpp
@@ -43,11 +43,12 @@
#include "llview.h"
#include "message.h"
-LLClassifiedStatsResponder::LLClassifiedStatsResponder(LLHandle<LLView> classified_panel_handle, LLUUID classified_id)
-: mClassifiedPanelHandle(classified_panel_handle),
+LLClassifiedStatsResponder::LLClassifiedStatsResponder(LLUUID classified_id)
+:
mClassifiedID(classified_id)
{
}
+
/*virtual*/
void LLClassifiedStatsResponder::result(const LLSD& content)
{
@@ -58,17 +59,12 @@ void LLClassifiedStatsResponder::result(const LLSD& content)
S32 search_map = content["search_map_clicks"].asInteger();
S32 search_profile = content["search_profile_clicks"].asInteger();
- LLPanelClassified* classified_panelp = (LLPanelClassified*)mClassifiedPanelHandle.get();
-
- if(classified_panelp)
- {
- classified_panelp->setClickThrough(mClassifiedID,
- teleport + search_teleport,
- map + search_map,
- profile + search_profile,
- true);
- }
-
+ LLPanelClassifiedInfo::setClickThrough(
+ mClassifiedID,
+ teleport + search_teleport,
+ map + search_map,
+ profile + search_profile,
+ true);
}
/*virtual*/
@@ -77,5 +73,3 @@ void LLClassifiedStatsResponder::error(U32 status, const std::string& reason)
llinfos << "LLClassifiedStatsResponder::error("
<< status << ": " << reason << ")" << llendl;
}
-
-
diff --git a/indra/newview/llclassifiedstatsresponder.h b/indra/newview/llclassifiedstatsresponder.h
index 9c52ed5ae1..4a74f7b129 100644
--- a/indra/newview/llclassifiedstatsresponder.h
+++ b/indra/newview/llclassifiedstatsresponder.h
@@ -40,7 +40,7 @@
class LLClassifiedStatsResponder : public LLHTTPClient::Responder
{
public:
- LLClassifiedStatsResponder(LLHandle<LLView> classified_panel_handle, LLUUID classified_id);
+ LLClassifiedStatsResponder(LLUUID classified_id);
//If we get back a normal response, handle it here
virtual void result(const LLSD& content);
//If we get back an error (not found, etc...), handle it here
@@ -48,7 +48,6 @@ public:
virtual void error(U32 status, const std::string& reason);
protected:
- LLHandle<LLView> mClassifiedPanelHandle;
LLUUID mClassifiedID;
};
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 780393a9c0..224514dd48 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -985,7 +985,8 @@ void LLFloaterPreference::cleanupBadSetting()
if (gSavedPerAccountSettings.getString("BusyModeResponse2") == "|TOKEN COPY BusyModeResponse|")
{
llwarns << "cleaning old BusyModeResponse" << llendl;
- gSavedPerAccountSettings.setString("BusyModeResponse2", gSavedPerAccountSettings.getText("BusyModeResponse"));
+ //LLTrans::getString("BusyModeResponseDefault") is used here for localization (EXT-5885)
+ gSavedPerAccountSettings.setString("BusyModeResponse2", LLTrans::getString("BusyModeResponseDefault"));
}
}
diff --git a/indra/newview/llfloaterscriptlimits.cpp b/indra/newview/llfloaterscriptlimits.cpp
index fdf128945e..122bdc8bc7 100644
--- a/indra/newview/llfloaterscriptlimits.cpp
+++ b/indra/newview/llfloaterscriptlimits.cpp
@@ -557,7 +557,7 @@ void LLPanelScriptLimitsRegionMemory::setParcelID(const LLUUID& parcel_id)
// virtual
void LLPanelScriptLimitsRegionMemory::setErrorStatus(U32 status, const std::string& reason)
{
- llerrs << "Can't handle remote parcel request."<< " Http Status: "<< status << ". Reason : "<< reason<<llendl;
+ llwarns << "Can't handle remote parcel request."<< " Http Status: "<< status << ". Reason : "<< reason<<llendl;
}
// callback from the name cache with an owner name to add to the list
diff --git a/indra/newview/llgrouplist.h b/indra/newview/llgrouplist.h
index f3ac676edd..0e9da25c58 100644
--- a/indra/newview/llgrouplist.h
+++ b/indra/newview/llgrouplist.h
@@ -74,6 +74,11 @@ public:
void setNameFilter(const std::string& filter);
void toggleIcons();
bool getIconsVisible() const { return mShowIcons; }
+
+ // *WORKAROUND: two methods to overload appropriate Params due to localization issue:
+ // no_groups_msg & no_filtered_groups_msg attributes are not defined as translatable in VLT. See EXT-5931
+ void setNoGroupsMsg(const std::string& msg) { mNoGroupsMsg = msg; }
+ void setNoFilteredGroupsMsg(const std::string& msg) { mNoFilteredGroupsMsg = msg; }
private:
void setDirty(bool val = true) { mDirty = val; }
diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h
index 0d5c431d75..a163b6fd62 100644
--- a/indra/newview/llnotificationhandler.h
+++ b/indra/newview/llnotificationhandler.h
@@ -122,9 +122,17 @@ protected:
class LLSysHandler : public LLEventHandler
{
public:
+ LLSysHandler();
virtual ~LLSysHandler() {};
virtual bool processNotification(const LLSD& notify)=0;
+
+protected :
+ static void init();
+ void removeExclusiveNotifications(const LLNotificationPtr& notif);
+
+ typedef std::list< std::set<std::string> > exclusive_notif_sets;
+ static exclusive_notif_sets sExclusiveNotificationGroups;
};
/**
@@ -171,6 +179,7 @@ public:
protected:
virtual void onDeleteToast(LLToast* toast);
+ virtual void onRejectToast(const LLUUID& id);
virtual void initChannel();
};
diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp
index 9de9998cbd..88bb769109 100644
--- a/indra/newview/llnotificationhandlerutil.cpp
+++ b/indra/newview/llnotificationhandlerutil.cpp
@@ -43,6 +43,75 @@
using namespace LLNotificationsUI;
+// static
+std::list< std::set<std::string> > LLSysHandler::sExclusiveNotificationGroups;
+
+// static
+void LLSysHandler::init()
+{
+ std::set<std::string> online_offline_group;
+ online_offline_group.insert("FriendOnline");
+ online_offline_group.insert("FriendOffline");
+
+ sExclusiveNotificationGroups.push_back(online_offline_group);
+}
+
+LLSysHandler::LLSysHandler()
+{
+ if(sExclusiveNotificationGroups.empty())
+ {
+ init();
+ }
+}
+
+void LLSysHandler::removeExclusiveNotifications(const LLNotificationPtr& notif)
+{
+ LLScreenChannel* channel = dynamic_cast<LLScreenChannel *>(mChannel);
+ if (channel == NULL)
+ {
+ return;
+ }
+
+ class ExclusiveMatcher: public LLScreenChannel::Matcher
+ {
+ public:
+ ExclusiveMatcher(const std::set<std::string>& excl_group,
+ const std::string& from_name) :
+ mExclGroup(excl_group), mFromName(from_name)
+ {
+ }
+ bool matches(const LLNotificationPtr notification) const
+ {
+ for (std::set<std::string>::const_iterator it = mExclGroup.begin(); it
+ != mExclGroup.end(); it++)
+ {
+ std::string from_name = LLHandlerUtil::getSubstitutionName(notification);
+ if (notification->getName() == *it && from_name == mFromName)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ private:
+ const std::set<std::string>& mExclGroup;
+ const std::string& mFromName;
+ };
+
+
+ for (exclusive_notif_sets::iterator it = sExclusiveNotificationGroups.begin(); it
+ != sExclusiveNotificationGroups.end(); it++)
+ {
+ std::set<std::string> group = *it;
+ std::set<std::string>::iterator g_it = group.find(notif->getName());
+ if (g_it != group.end())
+ {
+ channel->killMatchedToasts(ExclusiveMatcher(group,
+ LLHandlerUtil::getSubstitutionName(notif)));
+ }
+ }
+}
+
const static std::string GRANTED_MODIFY_RIGHTS("GrantedModifyRights"),
REVOKED_MODIFY_RIGHTS("RevokedModifyRights"), OBJECT_GIVE_ITEM(
"ObjectGiveItem"), OBJECT_GIVE_ITEM_UNKNOWN_USER(
@@ -249,9 +318,15 @@ LLUUID LLHandlerUtil::spawnIMSession(const std::string& name, const LLUUID& from
// static
std::string LLHandlerUtil::getSubstitutionName(const LLNotificationPtr& notification)
{
- return notification->getSubstitutions().has("NAME")
+ std::string res = notification->getSubstitutions().has("NAME")
? notification->getSubstitutions()["NAME"]
: notification->getSubstitutions()["[NAME]"];
+ if (res.empty())
+ {
+ LLUUID from_id = notification->getPayload()["FROM_ID"];
+ gCacheName->getFullName(from_id, res);
+ }
+ return res;
}
// static
diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp
index be76959d07..4e2c5085ed 100644
--- a/indra/newview/llnotificationtiphandler.cpp
+++ b/indra/newview/llnotificationtiphandler.cpp
@@ -40,6 +40,7 @@
#include "lltoastnotifypanel.h"
#include "llviewercontrol.h"
#include "llviewerwindow.h"
+#include "llnotificationmanager.h"
using namespace LLNotificationsUI;
@@ -82,6 +83,10 @@ LLTipHandler::LLTipHandler(e_notification_type type, const LLSD& id)
// Getting a Channel for our notifications
mChannel = LLChannelManager::getInstance()->createNotificationChannel();
+
+ LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel);
+ if(channel)
+ channel->setOnRejectToastCallback(boost::bind(&LLTipHandler::onRejectToast, this, _1));
}
//--------------------------------------------------------------------------
@@ -167,6 +172,8 @@ bool LLTipHandler::processNotification(const LLSD& notify)
p.is_tip = true;
p.can_be_stored = false;
+ removeExclusiveNotifications(notification);
+
LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel);
if(channel)
channel->addToast(p);
@@ -185,4 +192,14 @@ void LLTipHandler::onDeleteToast(LLToast* toast)
//--------------------------------------------------------------------------
+void LLTipHandler::onRejectToast(const LLUUID& id)
+{
+ LLNotificationPtr notification = LLNotifications::instance().find(id);
+ if (notification
+ && LLNotificationManager::getInstance()->getHandlerForNotification(
+ notification->getType()) == this)
+ {
+ LLNotifications::instance().cancel(notification);
+ }
+}
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index 7cf27d9141..6f0b7df935 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -41,6 +41,7 @@
#include "lldir.h"
#include "lldispatcher.h"
#include "llfloaterreg.h"
+#include "llhttpclient.h"
#include "llnotifications.h"
#include "llnotificationsutil.h"
#include "llparcel.h"
@@ -83,6 +84,7 @@ const S32 DECLINE_TO_STATE = 0;
//static
std::list<LLPanelClassified*> LLPanelClassified::sAllPanels;
+std::list<LLPanelClassifiedInfo*> LLPanelClassifiedInfo::sAllPanels;
// "classifiedclickthrough"
// strings[0] = classified_id
@@ -103,10 +105,10 @@ public:
S32 teleport_clicks = atoi(strings[1].c_str());
S32 map_clicks = atoi(strings[2].c_str());
S32 profile_clicks = atoi(strings[3].c_str());
- LLPanelClassified::setClickThrough(classified_id, teleport_clicks,
- map_clicks,
- profile_clicks,
- false);
+
+ LLPanelClassifiedInfo::setClickThrough(
+ classified_id, teleport_clicks, map_clicks, profile_clicks, false);
+
return true;
}
};
@@ -497,7 +499,7 @@ void LLPanelClassified::sendClassifiedInfoRequest()
if (!url.empty())
{
llinfos << "Classified stat request via capability" << llendl;
- LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(((LLView*)this)->getHandle(), mClassifiedID));
+ LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(mClassifiedID));
}
}
}
@@ -1157,11 +1159,20 @@ LLPanelClassifiedInfo::LLPanelClassifiedInfo()
, mScrollContainer(NULL)
, mScrollingPanelMinHeight(0)
, mScrollingPanelWidth(0)
+ , mSnapshotStreched(false)
+ , mTeleportClicksOld(0)
+ , mMapClicksOld(0)
+ , mProfileClicksOld(0)
+ , mTeleportClicksNew(0)
+ , mMapClicksNew(0)
+ , mProfileClicksNew(0)
{
+ sAllPanels.push_back(this);
}
LLPanelClassifiedInfo::~LLPanelClassifiedInfo()
{
+ sAllPanels.remove(this);
}
// static
@@ -1184,6 +1195,8 @@ BOOL LLPanelClassifiedInfo::postBuild()
mScrollingPanelMinHeight = mScrollContainer->getScrolledViewRect().getHeight();
mScrollingPanelWidth = mScrollingPanel->getRect().getWidth();
+ mSnapshotRect = getChild<LLUICtrl>("classified_snapshot")->getRect();
+
return TRUE;
}
@@ -1215,6 +1228,8 @@ void LLPanelClassifiedInfo::reshape(S32 width, S32 height, BOOL called_from_pare
{
mScrollingPanel->reshape(mScrollingPanelWidth + scrollbar_size, scroll_height);
}
+
+ mSnapshotRect = getChild<LLUICtrl>("classified_snapshot")->getRect();
}
void LLPanelClassifiedInfo::onOpen(const LLSD& key)
@@ -1242,6 +1257,19 @@ void LLPanelClassifiedInfo::onOpen(const LLSD& key)
LLAvatarPropertiesProcessor::getInstance()->addObserver(getAvatarId(), this);
LLAvatarPropertiesProcessor::getInstance()->sendClassifiedInfoRequest(getClassifiedId());
+ gGenericDispatcher.addHandler("classifiedclickthrough", &sClassifiedClickThrough);
+
+ // While we're at it let's get the stats from the new table if that
+ // capability exists.
+ std::string url = gAgent.getRegion()->getCapability("SearchStatRequest");
+ if (!url.empty())
+ {
+ llinfos << "Classified stat request via capability" << llendl;
+ LLSD body;
+ body["classified_id"] = getClassifiedId();
+ LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(getClassifiedId()));
+ }
+
setInfoLoaded(false);
}
@@ -1263,6 +1291,7 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
static std::string mature_str = getString("type_mature");
static std::string pg_str = getString("type_pg");
static LLUIString price_str = getString("l$_price");
+ static std::string date_fmt = getString("date_fmt");
bool mature = is_cf_mature(c_info->flags);
childSetValue("content_type", mature ? mature_str : pg_str);
@@ -1271,6 +1300,10 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
price_str.setArg("[PRICE]", llformat("%d", c_info->price_for_listing));
childSetValue("price_for_listing", LLSD(price_str));
+ std::string date_str = date_fmt;
+ LLStringUtil::format(date_str, LLSD().with("datetime", (S32) c_info->creation_date));
+ childSetText("creation_date", date_str);
+
setInfoLoaded(true);
}
}
@@ -1286,6 +1319,7 @@ void LLPanelClassifiedInfo::resetData()
mPosGlobal.clearVec();
childSetValue("category", LLStringUtil::null);
childSetValue("content_type", LLStringUtil::null);
+ childSetText("click_through_text", LLStringUtil::null);
}
void LLPanelClassifiedInfo::resetControls()
@@ -1295,6 +1329,7 @@ void LLPanelClassifiedInfo::resetControls()
childSetEnabled("edit_btn", is_self);
childSetVisible("edit_btn", is_self);
childSetVisible("price_layout_panel", is_self);
+ childSetVisible("clickthrough_layout_panel", is_self);
}
void LLPanelClassifiedInfo::setClassifiedName(const std::string& name)
@@ -1325,6 +1360,21 @@ void LLPanelClassifiedInfo::setClassifiedLocation(const std::string& location)
void LLPanelClassifiedInfo::setSnapshotId(const LLUUID& id)
{
childSetValue("classified_snapshot", id);
+ if(!mSnapshotStreched)
+ {
+ LLUICtrl* snapshot = getChild<LLUICtrl>("classified_snapshot");
+ snapshot->setRect(mSnapshotRect);
+ }
+ mSnapshotStreched = false;
+}
+
+void LLPanelClassifiedInfo::draw()
+{
+ LLPanel::draw();
+
+ // Stretch in draw because it takes some time to load a texture,
+ // going to try to stretch snapshot until texture is loaded
+ stretchSnapshot();
}
LLUUID LLPanelClassifiedInfo::getSnapshotId()
@@ -1333,6 +1383,62 @@ LLUUID LLPanelClassifiedInfo::getSnapshotId()
}
// static
+void LLPanelClassifiedInfo::setClickThrough(
+ const LLUUID& classified_id,
+ S32 teleport,
+ S32 map,
+ S32 profile,
+ bool from_new_table)
+{
+ llinfos << "Click-through data for classified " << classified_id << " arrived: ["
+ << teleport << ", " << map << ", " << profile << "] ("
+ << (from_new_table ? "new" : "old") << ")" << llendl;
+
+ for (panel_list_t::iterator iter = sAllPanels.begin(); iter != sAllPanels.end(); ++iter)
+ {
+ LLPanelClassifiedInfo* self = *iter;
+ if (self->getClassifiedId() != classified_id)
+ {
+ continue;
+ }
+
+ // *HACK: Skip LLPanelClassifiedEdit instances: they don't display clicks data.
+ // Those instances should not be in the list at all.
+ if (typeid(*self) != typeid(LLPanelClassifiedInfo))
+ {
+ continue;
+ }
+
+ llinfos << "Updating classified info panel" << llendl;
+
+ // We need to check to see if the data came from the new stat_table
+ // or the old classified table. We also need to cache the data from
+ // the two separate sources so as to display the aggregate totals.
+
+ if (from_new_table)
+ {
+ self->mTeleportClicksNew = teleport;
+ self->mMapClicksNew = map;
+ self->mProfileClicksNew = profile;
+ }
+ else
+ {
+ self->mTeleportClicksOld = teleport;
+ self->mMapClicksOld = map;
+ self->mProfileClicksOld = profile;
+ }
+
+ static LLUIString ct_str = self->getString("click_through_text_fmt");
+
+ ct_str.setArg("[TELEPORT]", llformat("%d", self->mTeleportClicksNew + self->mTeleportClicksOld));
+ ct_str.setArg("[MAP]", llformat("%d", self->mMapClicksNew + self->mMapClicksOld));
+ ct_str.setArg("[PROFILE]", llformat("%d", self->mProfileClicksNew + self->mProfileClicksOld));
+
+ self->childSetText("click_through_text", ct_str.getString());
+ }
+}
+
+// static
std::string LLPanelClassifiedInfo::createLocationText(
const std::string& original_name,
const std::string& sim_name,
@@ -1363,6 +1469,41 @@ std::string LLPanelClassifiedInfo::createLocationText(
return location_text;
}
+void LLPanelClassifiedInfo::stretchSnapshot()
+{
+ // *NOTE dzaporozhan
+ // Could be moved to LLTextureCtrl
+
+ LLTextureCtrl* texture_ctrl = getChild<LLTextureCtrl>("classified_snapshot");
+ LLViewerFetchedTexture* texture = texture_ctrl->getTexture();
+
+ if(!texture || mSnapshotStreched)
+ {
+ return;
+ }
+
+ if(0 == texture->getOriginalWidth() || 0 == texture->getOriginalHeight())
+ {
+ // looks like texture is not loaded yet
+ llinfos << "Missing image size" << llendl;
+ return;
+ }
+
+ LLRect rc = mSnapshotRect;
+ F32 t_width = texture->getFullWidth();
+ F32 t_height = texture->getFullHeight();
+
+ F32 ratio = llmin<F32>( (rc.getWidth() / t_width), (rc.getHeight() / t_height) );
+
+ t_width *= ratio;
+ t_height *= ratio;
+
+ rc.setCenterAndSize(rc.getCenterX(), rc.getCenterY(), llfloor(t_width), llfloor(t_height));
+ texture_ctrl->setRect(rc);
+
+ mSnapshotStreched = true;
+}
+
void LLPanelClassifiedInfo::onMapClick()
{
LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal());
@@ -1381,6 +1522,7 @@ void LLPanelClassifiedInfo::onTeleportClick()
void LLPanelClassifiedInfo::onExit()
{
LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(), this);
+ gGenericDispatcher.addHandler("classifiedclickthrough", NULL); // deregister our handler
}
//////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index 9e33e55b88..43b47d4e3e 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -250,12 +250,21 @@ public:
void setInfoLoaded(bool loaded) { mInfoLoaded = loaded; }
+ static void setClickThrough(
+ const LLUUID& classified_id,
+ S32 teleport,
+ S32 map,
+ S32 profile,
+ bool from_new_table);
+
void setExitCallback(const commit_callback_t& cb);
void setEditClassifiedCallback(const commit_callback_t& cb);
/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
+ /*virtual*/ void draw();
+
protected:
LLPanelClassifiedInfo();
@@ -269,6 +278,8 @@ protected:
const std::string& sim_name,
const LLVector3d& pos_global);
+ void stretchSnapshot();
+
void onMapClick();
void onTeleportClick();
void onExit();
@@ -281,11 +292,25 @@ private:
LLUUID mParcelId;
bool mInfoLoaded;
+ bool mSnapshotStreched;
+ LLRect mSnapshotRect;
+
LLScrollContainer* mScrollContainer;
LLPanel* mScrollingPanel;
S32 mScrollingPanelMinHeight;
S32 mScrollingPanelWidth;
+
+ // Needed for stat tracking
+ S32 mTeleportClicksOld;
+ S32 mMapClicksOld;
+ S32 mProfileClicksOld;
+ S32 mTeleportClicksNew;
+ S32 mMapClicksNew;
+ S32 mProfileClicksNew;
+
+ typedef std::list<LLPanelClassifiedInfo*> panel_list_t;
+ static panel_list_t sAllPanels;
};
class LLPanelClassifiedEdit : public LLPanelClassifiedInfo
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index 93a6a7803a..03e8ab644e 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -519,6 +519,8 @@ BOOL LLPanelPeople::postBuild()
mRecentList->setShowIcons("RecentListShowIcons");
mGroupList = getChild<LLGroupList>("group_list");
+ mGroupList->setNoGroupsMsg(getString("no_groups_msg"));
+ mGroupList->setNoFilteredGroupsMsg(getString("no_filtered_groups_msg"));
mNearbyList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
mRecentList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
@@ -1440,8 +1442,6 @@ void LLPanelPeople::onFriendListRefreshComplete(LLUICtrl*ctrl, const LLSD& param
{
showAccordion("tab_all", param.asInteger());
}
- updateButtons();
-
}
void LLPanelPeople::setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed)
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index c75d90be6f..a4426b370e 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -687,7 +687,10 @@ void LLNotificationsUI::LLScreenChannel::startFadingToasts()
while (it != mToastList.end())
{
ToastElem& elem = *it;
- elem.toast->startFading();
+ if (elem.toast->getVisible())
+ {
+ elem.toast->startFading();
+ }
++it;
}
}
diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h
index 8ca92c3d87..837f837430 100644
--- a/indra/newview/lltexturectrl.h
+++ b/indra/newview/lltexturectrl.h
@@ -183,6 +183,8 @@ public:
void setShowLoadingPlaceholder(BOOL showLoadingPlaceholder);
+ LLViewerFetchedTexture* getTexture() { return mTexturep; }
+
private:
BOOL allowDrop(LLInventoryItem* item);
BOOL doDrop(LLInventoryItem* item);
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 344c4c469b..59b4ae6aa6 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -700,9 +700,9 @@ void LLViewerMedia::updateMedia(void *dummy_arg)
impl_list::iterator iter = sViewerMediaImplList.begin();
impl_list::iterator end = sViewerMediaImplList.end();
- for(; iter != end; iter++)
+ for(; iter != end;)
{
- LLViewerMediaImpl* pimpl = *iter;
+ LLViewerMediaImpl* pimpl = *iter++;
pimpl->update();
pimpl->calculateInterest();
}
diff --git a/indra/newview/llwearablelist.cpp b/indra/newview/llwearablelist.cpp
index d6a9837b86..b2de31218b 100644
--- a/indra/newview/llwearablelist.cpp
+++ b/indra/newview/llwearablelist.cpp
@@ -235,8 +235,9 @@ LLWearable* LLWearableList::createNewWearable( EWearableType type )
LLWearable *wearable = generateNewWearable();
wearable->setType( type );
- std::string name = "New ";
- name.append( wearable->getTypeLabel() );
+ LLSD item_name = LLSD().with("[WEARABLE_ITEM]", wearable->getTypeLabel());
+ std::string name = LLTrans::getString("NewWearable");
+ LLStringUtil::format(name, item_name);
wearable->setName( name );
LLPermissions perm;
diff --git a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png
index 605073d786..95913dd55b 100644
--- a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png
+++ b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 4768cf14fb..b1594816b2 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -83,7 +83,7 @@ with the same filename but different name
<texture name="BottomTray_Scroll_Left" file_name="navbar/Arrow_Left_Off.png" preload="false" />
<texture name="BuyArrow_Off" file_name="navbar/BuyArrow_Off.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
- <texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
+ <texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="0" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="BuyArrow_Press" file_name="navbar/BuyArrow_Press.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="Cam_Avatar_Disabled" file_name="bottomtray/Cam_Avatar_Disabled.png" preload="false" />
diff --git a/indra/newview/skins/default/xui/da/floater_world_map.xml b/indra/newview/skins/default/xui/da/floater_world_map.xml
index 137e8509a4..b5ec1cb302 100644
--- a/indra/newview/skins/default/xui/da/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/da/floater_world_map.xml
@@ -5,7 +5,8 @@
Forklaring
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button label="Vis min position" label_selected="Vis min position" name="Show My Location" tool_tip="Centrér kort om min avatars position"/>
<text name="person_label">
Mig
@@ -36,12 +37,14 @@
</text>
<check_box label="Adult" name="event_adult_chk"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Find på kort
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Venner online" name="friend combo" tool_tip="Vis venner på kort">
<combo_box.item label="Mine venner online" name="item1"/>
</combo_box>
@@ -58,12 +61,14 @@
<button label="Kopiér SLurl" name="copy_slurl" tool_tip="Kopierer denne lokation som SLurl der kan bruges på web."/>
<button label="Vis selektion" label_selected="Vis destination" name="Show Destination" tool_tip="Centrér kortet på valgte lokation"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/da/panel_place_profile.xml b/indra/newview/skins/default/xui/da/panel_place_profile.xml
index 24316fea14..74753c64d4 100644
--- a/indra/newview/skins/default/xui/da/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/da/panel_place_profile.xml
@@ -48,7 +48,7 @@
<text name="maturity_value" value="ukendt"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcel">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Rating:"/>
<text name="rating_value" value="ukendt"/>
<text name="voice_label" value="Stem:"/>
@@ -67,7 +67,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Region">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Region:"/>
<text name="region_type_label" value="Type:"/>
<text name="region_rating_label" value="Rating:"/>
@@ -77,7 +77,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Estate">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Estate:"/>
<text name="estate_rating_label" value="Rating:"/>
<text name="estate_owner_label" value="Ejer:"/>
@@ -85,7 +85,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="Til salg">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Pris:"/>
<text name="area_label" value="Areal:"/>
<text name="traffic_label" value="Trafik:"/>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
index 6ade03ce56..666c6936fe 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
@@ -36,7 +36,7 @@
<panel.string name="Sale Mixed">
Blandet salg
</panel.string>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Navn:
</text>
@@ -74,7 +74,7 @@
</combo_box>
<spinner label="Pris: L$" name="Edit Cost"/>
<check_box label="Vis i søgning" name="search_check" tool_tip="Lad personer se dette objekt i søgeresultater"/>
- <panel name="perms_build">
+ <panel name="perms_inv">
<text name="perm_modify">
Du kan redigere dette objekt
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_world_map.xml b/indra/newview/skins/default/xui/de/floater_world_map.xml
index 978d6115e4..a80be2b594 100644
--- a/indra/newview/skins/default/xui/de/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/de/floater_world_map.xml
@@ -5,7 +5,8 @@
Legende
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button label="Meine Position" label_selected="Wo bin ich?" name="Show My Location" tool_tip="Karte auf Position meines Avatars zentrieren"/>
<text name="me_label">
Ich
@@ -48,12 +49,14 @@
Adult
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Auf Karte anzeigen
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Online-Freunde" name="friend combo" tool_tip="Freunde auf Karte anzeigen">
<combo_box.item label="Meine Freunde: Online" name="item1"/>
</combo_box>
@@ -71,12 +74,14 @@
<button font="SansSerifSmall" label="SLurl kopieren" name="copy_slurl" tool_tip="Kopiert die aktuelle Position als SLurl zur Verwendung im Web."/>
<button label="Auswahl anzeigen" label_selected="Ziel anzeigen" name="Show Destination" tool_tip="Karte auf ausgewählte Position zentrieren"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml b/indra/newview/skins/default/xui/de/panel_im_control_panel.xml
index 0dca272633..abf8011d9d 100644
--- a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/de/panel_im_control_panel.xml
@@ -14,7 +14,7 @@
<layout_panel name="share_btn_panel">
<button label="Teilen" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="Bezahlen" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/de/panel_place_profile.xml b/indra/newview/skins/default/xui/de/panel_place_profile.xml
index fd4da94edc..3af4ee5a1e 100644
--- a/indra/newview/skins/default/xui/de/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/de/panel_place_profile.xml
@@ -68,7 +68,7 @@
<text name="maturity_value" value="unbekannt"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parzelle">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Einstufung:"/>
<text name="rating_value" value="unbekannt"/>
<text name="voice_label" value="Voice:"/>
@@ -87,7 +87,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Region">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Region:"/>
<text name="region_name" value="Mooseland"/>
<text name="region_type_label" value="Typ:"/>
@@ -104,7 +104,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Grundstück">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Grundstück:"/>
<text name="estate_rating_label" value="Einstufung:"/>
<text name="estate_owner_label" value="Eigentümer:"/>
@@ -112,7 +112,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="Zum Verkauf">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Preis:"/>
<text name="area_label" value="Gebiet:"/>
<text name="traffic_label" value="Traffic:"/>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
index f580691c0d..626e35dd0b 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Text-Chat" name="chat">
+ <text name="font_size">
+ Schriftgröße:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="Klein" name="radio" value="0"/>
<radio_item label="Mittel" name="radio2" value="1"/>
<radio_item label="Groß" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Schriftfarbe:
+ </text>
<color_swatch label="Sie" name="user"/>
<text name="text_box1">
Ich
diff --git a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
index 825acac79d..81f1ebdf91 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="Objektprofil"/>
<text name="where" value="(inworld)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Name:
</text>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index 2c25d81d87..c4b540d08a 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -753,7 +753,7 @@
Alpha
</string>
<string name="tattoo">
- Tätowierung
+ Taetowierung
</string>
<string name="invalid">
ungültig
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index 86ac7c8e54..291f8f6f51 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -53,7 +53,8 @@
follows="right|top"
height="126"
top_pad="0"
- width="238">
+ width="238"
+ name="layout_panel_2">
<button
follows="right|top"
height="22"
@@ -374,7 +375,8 @@
top_pad="0"
width="238"
background_visible="true"
- bg_alpha_color="DkGray2">
+ bg_alpha_color="DkGray2"
+ name="layout_panel_3">
<text
text_color="White"
font="SansSerifLarge"
@@ -396,7 +398,8 @@
follows="right|top|bottom"
height="310"
top_pad="0"
- width="238">
+ width="238"
+ name="layout_panel_4">
<icon
color="0.5 0 0 1"
follows="top|right"
@@ -638,7 +641,8 @@
top_pad="0"
width="238"
background_visible="true"
- bg_alpha_color="DkGray2">
+ bg_alpha_color="DkGray2"
+ name="layout_panel_5">
<text
text_color="White"
font="SansSerifLarge"
@@ -660,7 +664,8 @@
height="30"
min_height="30"
top_pad="0"
- width="238">
+ width="238"
+ name="layout_panel_6">
<icon
follows="left|bottom"
height="16"
@@ -670,7 +675,7 @@
mouse_opaque="true"
name="zoom_icon"
top_pad="7"
- width="16" />
+ width="16" ></icon>
<slider
follows="left|bottom"
height="16"
diff --git a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml
index 28c4adf67c..88566ea037 100644
--- a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml
@@ -111,7 +111,7 @@
layout="topleft"
min_height="25"
width="100"
- name="share_btn_panel"
+ name="pay_btn_panel"
user_resize="false">
<button
auto_resize="true"
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index 0c57b99b68..13791a6d32 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -28,6 +28,16 @@
<string
name="groups_filter_label"
value="Filter Groups" />
+ <!--
+ *WORKAROUND: for group_list.no_groups_msg & group_list.no_filtered_groups_msg attributes.
+ They are not defined as translatable in VLT. See EXT-5931
+ -->
+ <string
+ name="no_filtered_groups_msg"
+ value="[secondlife:///app/search/groups Try finding the group in search?]" />
+ <string
+ name="no_groups_msg"
+ value="[secondlife:///app/search/groups Try searching for some groups to join.]" />
<filter_editor
text_pad_left="10"
follows="left|top|right"
@@ -240,13 +250,17 @@ If you're looking for people to hang out with, [secondlife:///app/worldmap try t
name="groups_panel"
top="0"
width="313">
+ <!--
+ *NOTE: no_groups_msg & group_list attributes are not defined as translatable in VLT. See EXT-5931
+ Values are set from appropriate strings at the top of file via LLPeoplePanel::postBuild()
+ -->
<group_list
follows="all"
height="345"
layout="topleft"
left="0"
name="group_list"
- no_filtered_groups_msg="[secondlife:///app/search/groups Try fine the group in search?]"
+ no_filtered_groups_msg="[secondlife:///app/search/groups Try finding the group in search?]"
no_groups_msg="[secondlife:///app/search/groups Try searching for some groups to join.]"
top="0"
width="313" />
diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml
index 44b2508e56..01a27a08c7 100644
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -333,6 +333,7 @@
height="160"
layout="topleft"
left="0"
+ name="parcel_characteristics_panel"
top="0"
width="275">
<icon
@@ -544,6 +545,7 @@
height="125"
layout="topleft"
left="0"
+ name="region_information_panel"
top="0"
width="290">
<text
@@ -670,6 +672,7 @@
height="189"
layout="topleft"
left="0"
+ name="estate_information_panel"
top="0"
width="290">
<text
@@ -758,6 +761,7 @@
height="300"
layout="topleft"
left="0"
+ name="sales_panel"
top="0"
width="290">
<text
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
index 2e81139ef2..3d434361b9 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -14,6 +14,7 @@
layout="topleft"
left="30"
height="12"
+ name="font_size"
width="120"
top="10">
Font size:
@@ -60,6 +61,7 @@
layout="topleft"
left="30"
height="12"
+ name="font_colors"
top_pad="10"
width="120"
>
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index c188c1bf8b..8a1f74c46c 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -3,7 +3,7 @@
background_opaque="true"
background_visible="true"
bg_opaque_color="MouseGray"
- chrome="true"
+ chrome="true"
follows="top|right"
height="19"
layout="topleft"
@@ -11,7 +11,7 @@
mouse_opaque="false"
name="status"
top="19"
- tab_stop="false"
+ tab_stop="false"
width="1000">
<panel.string
name="StatBarDaysOfWeek">
@@ -51,12 +51,12 @@
image_unselected="spacer35.tga"
image_pressed="spacer35.tga"
height="16"
- right="-210"
+ right="-220"
label_shadow="false"
name="buycurrency"
tool_tip="My Balance"
top="3"
- width="110" />
+ width="120" />
<button
auto_resize="true"
halign="right"
@@ -75,7 +75,7 @@
pad_bottom="2"
tool_tip="Click to buy more L$"
top="2"
- width="45" />
+ width="55" />
<text
type="string"
font="SansSerifSmall"
@@ -88,7 +88,7 @@
left_pad="0"
name="TimeText"
tool_tip="Current time (Pacific)"
- width="80">
+ width="100">
24:00 AM PST
</text>
<button
diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
index 6588663bac..86739b24c8 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
@@ -94,6 +94,7 @@
layout="topleft"
left="10"
help_topic=""
+ name="properties_panel"
top="45"
width="313"
background_visible="true"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 455b4be264..59c54f0cad 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1769,6 +1769,9 @@ Clears (deletes) the media and all params from the given face.
<string name="tattoo">Tattoo</string>
<string name="invalid">invalid</string>
+ <!-- Wearable List-->
+ <string name="NewWearable">New [WEARABLE_ITEM]</string>
+
<!-- LLGroupNotify -->
<!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->
<string name="next">Next</string>
@@ -2104,6 +2107,9 @@ Clears (deletes) the media and all params from the given face.
<!-- panel contents -->
<string name="PanelContentsNewScript">New Script</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>
+
<!-- Mute -->
<string name="MuteByName">(by name)</string>
<string name="MuteAgent">(Resident)</string>
diff --git a/indra/newview/skins/default/xui/es/floater_world_map.xml b/indra/newview/skins/default/xui/es/floater_world_map.xml
index d5708483e5..24b5ece0aa 100644
--- a/indra/newview/skins/default/xui/es/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/es/floater_world_map.xml
@@ -5,7 +5,8 @@
Leyenda
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button label="Mostrar mi posición" label_selected="Mostrar mi posición" name="Show My Location" tool_tip="Centrar el mapa en la posición de mi avatar"/>
<text name="me_label">
Yo
@@ -48,12 +49,14 @@
Adulto
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Encontrar en el mapa
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Amigos conectados" name="friend combo" tool_tip="Ver a los amigos en el mapa">
<combo_box.item label="Mis amigos conectados" name="item1"/>
</combo_box>
@@ -71,12 +74,14 @@
<button label="Copiar la SLurl" name="copy_slurl" tool_tip="Copiar la SLurl de esta posición para usarla en una web."/>
<button label="Ver lo elegido" label_selected="Mostrar el destino" name="Show Destination" tool_tip="Centrar el mapa en la localización elegida"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml b/indra/newview/skins/default/xui/es/panel_im_control_panel.xml
index 09969a796c..f218324d50 100644
--- a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/es/panel_im_control_panel.xml
@@ -13,7 +13,7 @@
<layout_panel name="share_btn_panel">
<button label="Compartir" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="Pagar" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/es/panel_place_profile.xml b/indra/newview/skins/default/xui/es/panel_place_profile.xml
index 9d4a958e16..2c873ef464 100644
--- a/indra/newview/skins/default/xui/es/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/es/panel_place_profile.xml
@@ -49,7 +49,7 @@
<text name="maturity_value" value="desconocido"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcela">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Calificación:"/>
<text name="rating_value" value="desconocida"/>
<text name="voice_label" value="Voz:"/>
@@ -68,7 +68,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Región">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Región:"/>
<text name="region_type_label" value="Tipo:"/>
<text name="region_rating_label" value="Calificación:"/>
@@ -78,7 +78,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Estado">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Estado:"/>
<text name="estate_rating_label" value="Calificación:"/>
<text name="estate_owner_label" value="Propietario:"/>
@@ -86,7 +86,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="En venta">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Precio:"/>
<text name="area_label" value="Área:"/>
<text name="traffic_label" value="Tráfico:"/>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
index b8010e0a35..17e3b45beb 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Chat de texto" name="chat">
+ <text name="font_size">
+ Font size:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="Disminuir" name="radio" value="0"/>
<radio_item label="Media" name="radio2" value="1"/>
<radio_item label="Aumentar" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Font colors:
+ </text>
<color_swatch label="Usted" name="user"/>
<text name="text_box1">
Yo
diff --git a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
index 6bfdbea2bc..524550fd6e 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="Perfil del objeto"/>
<text name="where" value="(en el mundo)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Nombre:
</text>
diff --git a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml
index 115e25e487..1f2169e22c 100644
--- a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml
@@ -14,7 +14,7 @@
<layout_panel name="share_btn_panel">
<button label="Partager" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="Payer" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/fr/panel_place_profile.xml b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
index d24570b0a1..2cd8744ae5 100644
--- a/indra/newview/skins/default/xui/fr/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
@@ -68,7 +68,7 @@
<text name="maturity_value" value="(inconnu)"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcelle">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Catégorie :"/>
<text name="rating_value" value="(inconnu)"/>
<text name="voice_label" value="Voix :"/>
@@ -87,7 +87,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Région">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Région :"/>
<text name="region_name" value="Pays des orignaux"/>
<text name="region_type_label" value="Type :"/>
@@ -104,7 +104,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Domaine">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Domaine :"/>
<text name="estate_rating_label" value="Catégorie :"/>
<text name="estate_owner_label" value="Propriétaire :"/>
@@ -112,7 +112,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="À vendre">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Prix :"/>
<text name="area_label" value="Surface :"/>
<text name="traffic_label" value="Trafic :"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
index 27242ec3de..71f7990073 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Chat écrit" name="chat">
+ <text name="font_size">
+ Font size:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="Moins" name="radio" value="0"/>
<radio_item label="Moyenne" name="radio2" value="1"/>
<radio_item label="Plus" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Font colors:
+ </text>
<color_swatch label="Vous" name="user"/>
<text name="text_box1">
Moi
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
index e617ae444d..def71d96b4 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="Profil de l&apos;objet"/>
<text name="where" value="(dans Second Life)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Nom :
</text>
diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml
index a672df0d96..1b47dd7d7e 100644
--- a/indra/newview/skins/default/xui/it/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/it/floater_world_map.xml
@@ -5,7 +5,8 @@
Legenda
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button font="SansSerifSmall" label="Mostra la mia posizione" label_selected="Mostra la mia posizione" left_delta="91" name="Show My Location" tool_tip="Centra la mappa sul luogo dove si trova il mio avatar" width="135"/>
<text name="person_label">
Io
@@ -37,12 +38,14 @@
</text>
<check_box label="Adult" name="event_adult_chk"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Trova sulla Mappa
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Amici Online" name="friend combo" tool_tip="Mostra amici sulla mappa">
<combo_box.item label="Miei Amici Online" name="item1"/>
</combo_box>
@@ -59,12 +62,14 @@
<button font="SansSerifSmall" label="Copia SLurl" name="copy_slurl" tool_tip="Copia il luogo attuale come SLurl per essere usato nel web."/>
<button font="SansSerifSmall" label="Mostra Selezione" label_selected="Mostra destinazione" left_delta="91" name="Show Destination" tool_tip="Centra la mappa sul luogo prescelto" width="135"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/it/panel_place_profile.xml b/indra/newview/skins/default/xui/it/panel_place_profile.xml
index 70e1577199..03716ba4c5 100644
--- a/indra/newview/skins/default/xui/it/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/it/panel_place_profile.xml
@@ -48,7 +48,7 @@
<text name="maturity_value" value="sconosciuto"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcel">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Valutazione:"/>
<text name="rating_value" value="sconosciuto"/>
<text name="voice_label" value="Voice:"/>
@@ -67,7 +67,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Regione">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Regione:"/>
<text name="region_type_label" value="Scrivi:"/>
<text name="region_rating_label" value="Valutazione:"/>
@@ -77,7 +77,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Proprietà immobiliare">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Proprietà immobiliare:"/>
<text name="estate_rating_label" value="Valutazione:"/>
<text name="estate_owner_label" value="Proprietà:"/>
@@ -85,7 +85,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="In vendita">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Prezzo:"/>
<text name="area_label" value="Area:"/>
<text name="traffic_label" value="Traffico:"/>
diff --git a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml
index e5f27795be..0eecdfb2a2 100644
--- a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml
@@ -36,7 +36,7 @@
<panel.string name="Sale Mixed">
Vendita assortita
</panel.string>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Nome:
</text>
@@ -74,7 +74,7 @@
</combo_box>
<spinner label="Prezzo: L$" name="Edit Cost"/>
<check_box label="Mostra nella ricerca" name="search_check" tool_tip="Mostra questo oggetto nei risultati della ricerca"/>
- <panel name="perms_build">
+ <panel name="perms_inv">
<text name="perm_modify">
Puoi modificare questo oggetto
</text>
diff --git a/indra/newview/skins/default/xui/ja/floater_world_map.xml b/indra/newview/skins/default/xui/ja/floater_world_map.xml
index 42fedfc075..04120b4bea 100644
--- a/indra/newview/skins/default/xui/ja/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/ja/floater_world_map.xml
@@ -5,7 +5,8 @@
表記・記号
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button label="現在地を表示" label_selected="現在地を表示" name="Show My Location" tool_tip="アバターの位置を地図の中心に表示します"/>
<text name="me_label">
自分
@@ -48,12 +49,14 @@
Adult
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
地図上で探す
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="オンラインのフレンド" name="friend combo" tool_tip="フレンドを地図上に表示します">
<combo_box.item label="オンラインのフレンド" name="item1"/>
</combo_box>
@@ -71,12 +74,14 @@
<button label="SLurl をコピー" name="copy_slurl" tool_tip="現在地を SLurl でコピーして Web で使用します。"/>
<button label="選択をを表示する" label_selected="目的地を表示" name="Show Destination" tool_tip="選択した場所を地図の中心に表示します"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
ズーム
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="ズーム" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml
index be15e92aa1..f2429ac12a 100644
--- a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml
@@ -14,7 +14,7 @@
<layout_panel name="share_btn_panel">
<button label="共有" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="支払う" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/ja/panel_place_profile.xml b/indra/newview/skins/default/xui/ja/panel_place_profile.xml
index 1f5031f3de..132fb95fe7 100644
--- a/indra/newview/skins/default/xui/ja/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/ja/panel_place_profile.xml
@@ -68,7 +68,7 @@
<text name="maturity_value" value="不明"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="区画">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="レーティング区分:"/>
<text name="rating_value" value="不明"/>
<text name="voice_label" value="ボイス:"/>
@@ -87,7 +87,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="リージョン(地域) ">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="地域:"/>
<text name="region_name" value="Mooseland"/>
<text name="region_type_label" value="種類:"/>
@@ -104,7 +104,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="エステート(不動産)">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="不動産:"/>
<text name="estate_rating_label" value="レーティング区分:"/>
<text name="estate_owner_label" value="所有者:"/>
@@ -112,7 +112,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="販売中">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="価格:"/>
<text name="area_label" value="面積:"/>
<text name="traffic_label" value="トラフィック:"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
index d6fe54fbd1..b0572804cb 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="チャット" name="chat">
+ <text name="font_size">
+ Font size:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="小" name="radio" value="0"/>
<radio_item label="中" name="radio2" value="1"/>
<radio_item label="大" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Font colors:
+ </text>
<color_swatch label="自分" name="user"/>
<text name="text_box1">
自分
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
index ab00953f1a..439891bab1 100644
--- a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="オブジェクトのプロフィール"/>
<text name="where" value="(インワールド)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
名前:
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml
index 5b6ce3a3ca..95bb899071 100644
--- a/indra/newview/skins/default/xui/pt/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/pt/floater_world_map.xml
@@ -5,7 +5,8 @@
Legenda
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button font="SansSerifSmall" label="Mostra minha localização" label_selected="Mostra minha localização" left_delta="91" name="Show My Location" tool_tip="Centrar o mapa na localização do meu avatar" width="135"/>
<text name="me_label">
Eu
@@ -48,12 +49,14 @@
Público adulto
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Localizar no mapa
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Amigos Conectados" name="friend combo" tool_tip="Mostrar amigos no mapa">
<combo_box.item label="Amigos conectados" name="item1"/>
</combo_box>
@@ -67,12 +70,14 @@
<button font="SansSerifSmall" label="Copiar SLurl" name="copy_slurl" tool_tip="Copia a localização atual como um SLurl para usar na web."/>
<button font="SansSerifSmall" label="Mostrar seleção" label_selected="Mostrar Destino" left_delta="91" name="Show Destination" tool_tip="Centralizar mapa na posição selecionada" width="135"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/panel_place_profile.xml b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
index a3d3b6f605..453c56d280 100644
--- a/indra/newview/skins/default/xui/pt/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
@@ -49,7 +49,7 @@
<text name="maturity_value" value="(Desconhecido)"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Lote">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Classificação:"/>
<text name="rating_value" value="(Desconhecido)"/>
<text name="voice_label" value="Voz:"/>
@@ -68,7 +68,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Região">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Região:"/>
<text name="region_type_label" value="Tipo:"/>
<text name="region_rating_label" value="Classificação:"/>
@@ -78,7 +78,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Propriedade">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Propriedade:"/>
<text name="estate_rating_label" value="Classificação:"/>
<text name="estate_owner_label" value="Proprietário:"/>
@@ -86,7 +86,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="À venda">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Preço:"/>
<text name="area_label" value="Área:"/>
<text name="traffic_label" value="Trânsito:"/>
diff --git a/install.xml b/install.xml
index 17091d65a6..3cd40d8893 100644
--- a/install.xml
+++ b/install.xml
@@ -974,9 +974,9 @@ anguage Infrstructure (CLI) international standard</string>
<key>linux</key>
<map>
<key>md5sum</key>
- <string>4c75b2f1e8524c7844ee3ea1cd59a3db</string>
+ <string>4b1913c509ea8bec78523960700d7005</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-20100209b.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-20100304.tar.bz2</uri>
</map>
<key>windows</key>
<map>