summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorRichard Linden <none@none>2011-11-14 15:39:41 -0800
committerRichard Linden <none@none>2011-11-14 15:39:41 -0800
commit3c5cdd2948d4c215d70a86a1cab12ae55d3958b9 (patch)
treede94b58ecd23ef5d8e4304602dc8b55a1cc96bd6 /indra/newview
parent7766ccb7731a596d6716e9d0def90b3d7da5fcf3 (diff)
parent98755a62bb414f23919e003101153c20d3ab3f72 (diff)
Automated merge with http://hg.secondlife.com/viewer-development
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/app_settings/settings.xml26
-rwxr-xr-xindra/newview/llappviewer.cpp14
-rw-r--r--indra/newview/llfloaterland.cpp14
-rw-r--r--indra/newview/llfloaterland.h1
-rw-r--r--indra/newview/llfolderviewitem.cpp4
-rw-r--r--indra/newview/llinventorybridge.cpp14
-rw-r--r--indra/newview/llinventorybridge.h1
-rw-r--r--indra/newview/llinventorymodel.h2
-rw-r--r--indra/newview/llinventorypanel.cpp46
-rw-r--r--indra/newview/llnotificationtiphandler.cpp2
-rw-r--r--indra/newview/llurldispatcher.cpp4
-rw-r--r--indra/newview/llviewerfoldertype.cpp71
-rw-r--r--indra/newview/llviewerfoldertype.h1
-rw-r--r--indra/newview/llviewerwindow.cpp14
-rw-r--r--indra/newview/skins/default/xui/da/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml113
-rw-r--r--indra/newview/skins/default/xui/en/floater_tools.xml1
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/es/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/it/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/pl/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/ru/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/tr/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/zh/notifications.xml10
28 files changed, 268 insertions, 180 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 9c055bdc5a..bc6c63985f 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -12927,6 +12927,17 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>MinWindowHeight</key>
+ <map>
+ <key>Comment</key>
+ <string>SL viewer minimum window height in pixels</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>768</integer>
+ </map>
<key>WindowHeight</key>
<map>
<key>Comment</key>
@@ -12934,7 +12945,7 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
- <string>S32</string>
+ <string>U32</string>
<key>Value</key>
<integer>738</integer>
</map>
@@ -12949,6 +12960,17 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>MinWindowWidth</key>
+ <map>
+ <key>Comment</key>
+ <string>SL viewer minimum window width in pixels</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>1024</integer>
+ </map>
<key>WindowWidth</key>
<map>
<key>Comment</key>
@@ -12956,7 +12978,7 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
- <string>S32</string>
+ <string>U32</string>
<key>Value</key>
<integer>1024</integer>
</map>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 8bf4d94059..9b8f5c5961 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2860,10 +2860,22 @@ bool LLAppViewer::initWindow()
// always start windowed
BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth");
+
+ // clamp to minimum window size
+ U32 min_window_width=gSavedSettings.getU32("MinWindowWidth");
+ U32 window_width=gSavedSettings.getU32("WindowWidth");
+ if ( window_width < min_window_width )
+ window_width=min_window_width;
+
+ U32 min_window_height=gSavedSettings.getU32("MinWindowHeight");
+ U32 window_height=gSavedSettings.getU32("WindowHeight");
+ if ( window_height < min_window_height )
+ window_height=min_window_height;
+
gViewerWindow = new LLViewerWindow(gWindowTitle,
VIEWER_WINDOW_CLASSNAME,
gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"),
- gSavedSettings.getS32("WindowWidth"), gSavedSettings.getS32("WindowHeight"),
+ window_width, window_height,
gSavedSettings.getBOOL("WindowFullScreen"), ignorePixelDepth);
LL_INFOS("AppInit") << "gViewerwindow created." << LL_ENDL;
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 2bb1075ec4..b13a9aab88 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -1806,7 +1806,6 @@ LLPanelLandOptions::LLPanelLandOptions(LLParcelSelectionHandle& parcel)
mCheckEditGroupObjects(NULL),
mCheckAllObjectEntry(NULL),
mCheckGroupObjectEntry(NULL),
- mCheckEditLand(NULL),
mCheckSafe(NULL),
mCheckFly(NULL),
mCheckGroupScripts(NULL),
@@ -1840,10 +1839,6 @@ BOOL LLPanelLandOptions::postBuild()
mCheckGroupObjectEntry = getChild<LLCheckBoxCtrl>( "group object entry check");
childSetCommitCallback("group object entry check", onCommitAny, this);
- mCheckEditLand = getChild<LLCheckBoxCtrl>( "edit land check");
- childSetCommitCallback("edit land check", onCommitAny, this);
-
-
mCheckGroupScripts = getChild<LLCheckBoxCtrl>( "check group scripts");
childSetCommitCallback("check group scripts", onCommitAny, this);
@@ -1956,9 +1951,6 @@ void LLPanelLandOptions::refresh()
mCheckGroupObjectEntry ->set(FALSE);
mCheckGroupObjectEntry ->setEnabled(FALSE);
- mCheckEditLand ->set(FALSE);
- mCheckEditLand ->setEnabled(FALSE);
-
mCheckSafe ->set(FALSE);
mCheckSafe ->setEnabled(FALSE);
@@ -2006,10 +1998,6 @@ void LLPanelLandOptions::refresh()
mCheckGroupObjectEntry ->set( parcel->getAllowGroupObjectEntry() || parcel->getAllowAllObjectEntry());
mCheckGroupObjectEntry ->setEnabled( can_change_options && !parcel->getAllowAllObjectEntry() );
-
- BOOL can_change_terraform = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_EDIT);
- mCheckEditLand ->set( parcel->getAllowTerraform() );
- mCheckEditLand ->setEnabled( can_change_terraform );
mCheckSafe ->set( !parcel->getAllowDamage() );
mCheckSafe ->setEnabled( can_change_options );
@@ -2235,7 +2223,7 @@ void LLPanelLandOptions::onCommitAny(LLUICtrl *ctrl, void *userdata)
BOOL create_group_objects = self->mCheckEditGroupObjects->get() || self->mCheckEditObjects->get();
BOOL all_object_entry = self->mCheckAllObjectEntry->get();
BOOL group_object_entry = self->mCheckGroupObjectEntry->get() || self->mCheckAllObjectEntry->get();
- BOOL allow_terraform = self->mCheckEditLand->get();
+ BOOL allow_terraform = false; // removed from UI so always off now - self->mCheckEditLand->get();
BOOL allow_damage = !self->mCheckSafe->get();
BOOL allow_fly = self->mCheckFly->get();
BOOL allow_landmark = TRUE; // cannot restrict landmark creation
diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h
index 6fceca1acd..4f1c10274a 100644
--- a/indra/newview/llfloaterland.h
+++ b/indra/newview/llfloaterland.h
@@ -330,7 +330,6 @@ private:
LLCheckBoxCtrl* mCheckEditGroupObjects;
LLCheckBoxCtrl* mCheckAllObjectEntry;
LLCheckBoxCtrl* mCheckGroupObjectEntry;
- LLCheckBoxCtrl* mCheckEditLand;
LLCheckBoxCtrl* mCheckSafe;
LLCheckBoxCtrl* mCheckFly;
LLCheckBoxCtrl* mCheckGroupScripts;
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index 622dcfe8dd..68a176e385 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -1173,8 +1173,8 @@ BOOL LLFolderViewFolder::addToFolder(LLFolderViewFolder* folder, LLFolderView* r
return folder->addFolder(this);
}
-// Finds width and height of this object and it's children. Also
-// makes sure that this view and it's children are the right size.
+// Finds width and height of this object and its children. Also
+// makes sure that this view and its children are the right size.
S32 LLFolderViewFolder::arrange( S32* width, S32* height, S32 filter_generation)
{
// sort before laying out contents
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 0c092e9a56..244b001adb 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -195,6 +195,20 @@ BOOL LLInvFVBridge::isLink() const
return mIsLink;
}
+// Is a "System" folder
+// System folders are predefined named folders that have a specific preferred type
+// e.g. "Textures" which has an FT_TEXTURE preferred type.
+// Those are folders used to route incoming items in the current (soon to be obsolete) inventory
+// asset routing.
+// If a folder uses the same name as a predefined folder but is not of the same preferred type
+// or if it has a preferred type but a different name, it will not be considered a system folder.
+// *TODO: Test that logic in all languages
+bool LLInvFVBridge::isSystemFolder() const
+{
+ LLFolderType::EType preferred_type = getPreferredType();
+ return (preferred_type == LLFolderType::FT_NONE ? false : LLViewerFolderType::lookupTypeFromNewCategoryName(getDisplayName()) == preferred_type);
+}
+
/*virtual*/
/**
* @brief Adds this item into clipboard storage
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 2d625befb4..9832c683c6 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -72,6 +72,7 @@ public:
BOOL canShare() const;
BOOL canListOnMarketplace() const;
BOOL canListOnMarketplaceNow() const;
+ bool isSystemFolder() const; // true if is a "System" folder
//--------------------------------------------------------------------
// LLInvFVBridge functionality
diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h
index a0fd455cf3..340c1b0c22 100644
--- a/indra/newview/llinventorymodel.h
+++ b/indra/newview/llinventorymodel.h
@@ -411,7 +411,7 @@ public:
// Return (yes/no/maybe) child status of category children.
EHasChildren categoryHasChildren(const LLUUID& cat_id) const;
- // Returns true iff category version is known and theoretical
+ // Returns true if category version is known and theoretical
// descendents == actual descendents.
bool isCategoryComplete(const LLUUID& cat_id) const;
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index acbec531b6..aff48b1961 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -618,22 +618,41 @@ LLFolderView * LLInventoryPanel::createFolderView(LLInvFVBridge * bridge, bool u
LLFolderViewFolder * LLInventoryPanel::createFolderViewFolder(LLInvFVBridge * bridge)
{
- LLFolderViewFolder::Params params;
+ // Create the folder ui widget, unless it's an empty system folder that should be hidden
+ // Note : we still let the code create a listener for it (in case something shows up in it)
+ // but we simply skip creating the ui ctrl and adding it.
+ // *TODO : Need to be verified: if the listener is triggered and something added, will the code
+ // crash (because it's assuming, wrongly, that the uictrl exists)?
+
+ bool is_system_folder = bridge->isSystemFolder();
+ bool is_hidden_if_empty = LLViewerFolderType::lookupIsHiddenIfEmpty(bridge->getPreferredType());
+ bool is_empty = (mInventory->categoryHasChildren(bridge->getUUID()) != LLInventoryModel::CHILDREN_YES);
+
+ if (!is_system_folder || !is_empty || !is_hidden_if_empty)
+ {
+ LLFolderViewFolder::Params params;
- params.name = bridge->getDisplayName();
- params.icon = bridge->getIcon();
- params.icon_open = bridge->getOpenIcon();
+ params.name = bridge->getDisplayName();
+ params.icon = bridge->getIcon();
+ params.icon_open = bridge->getOpenIcon();
- if (mShowItemLinkOverlays) // if false, then links show up just like normal items
+ if (mShowItemLinkOverlays) // if false, then links show up just like normal items
+ {
+ params.icon_overlay = LLUI::getUIImage("Inv_Link");
+ }
+
+ params.root = mFolderRoot;
+ params.listener = bridge;
+ params.tool_tip = params.name;
+
+ return LLUICtrlFactory::create<LLFolderViewFolder>(params);
+ }
+ else
{
- params.icon_overlay = LLUI::getUIImage("Inv_Link");
+ // It's an empty system folder that should be hidden -> return NULL
+ return NULL;
}
-
- params.root = mFolderRoot;
- params.listener = bridge;
- params.tool_tip = params.name;
- return LLUICtrlFactory::create<LLFolderViewFolder>(params);
}
LLFolderViewItem * LLInventoryPanel::createFolderViewItem(LLInvFVBridge * bridge)
@@ -697,7 +716,10 @@ LLFolderViewItem* LLInventoryPanel::buildNewViews(const LLUUID& id)
if (new_listener)
{
LLFolderViewFolder* folderp = createFolderViewFolder(new_listener);
- folderp->setItemSortOrder(mFolderRoot->getSortOrder());
+ if (folderp)
+ {
+ folderp->setItemSortOrder(mFolderRoot->getSortOrder());
+ }
itemp = folderp;
}
}
diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp
index aa009a76fa..fb0891c4c5 100644
--- a/indra/newview/llnotificationtiphandler.cpp
+++ b/indra/newview/llnotificationtiphandler.cpp
@@ -95,7 +95,7 @@ bool LLTipHandler::processNotification(const LLSD& notify)
// don't show toast if Nearby Chat is opened
LLNearbyChat* nearby_chat = LLNearbyChat::getInstance();
LLNearbyChatBar* nearby_chat_bar = LLNearbyChatBar::getInstance();
- if (nearby_chat_bar->getVisible() && nearby_chat->getVisible())
+ if (!nearby_chat_bar->isMinimized() && nearby_chat_bar->getVisible() && nearby_chat->getVisible())
{
return false;
}
diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp
index f6d7ceeec3..4240a38326 100644
--- a/indra/newview/llurldispatcher.cpp
+++ b/indra/newview/llurldispatcher.cpp
@@ -167,9 +167,9 @@ bool LLURLDispatcherImpl::dispatchApp(const LLSLURL& slurl,
// static
bool LLURLDispatcherImpl::dispatchRegion(const LLSLURL& slurl, const std::string& nav_type, bool right_mouse)
{
- if(slurl.getType() != LLSLURL::LOCATION)
+ if(slurl.getType() != LLSLURL::LOCATION)
{
- return false;
+ return false;
}
// Before we're logged in, need to update the startup screen
// to tell the user where they are going.
diff --git a/indra/newview/llviewerfoldertype.cpp b/indra/newview/llviewerfoldertype.cpp
index 9101222393..a179b61cff 100644
--- a/indra/newview/llviewerfoldertype.cpp
+++ b/indra/newview/llviewerfoldertype.cpp
@@ -40,6 +40,7 @@ struct ViewerFolderEntry : public LLDictionaryEntry
const std::string &icon_name_open, // name of the folder icon
const std::string &icon_name_closed,
BOOL is_quiet, // folder doesn't need a UI update when changed
+ bool hide_if_empty, // folder not shown if empty
const std::string &dictionary_name = empty_string // no reverse lookup needed on non-ensembles, so in most cases just leave this blank
)
:
@@ -47,7 +48,8 @@ struct ViewerFolderEntry : public LLDictionaryEntry
mNewCategoryName(new_category_name),
mIconNameOpen(icon_name_open),
mIconNameClosed(icon_name_closed),
- mIsQuiet(is_quiet)
+ mIsQuiet(is_quiet),
+ mHideIfEmpty(hide_if_empty)
{
mAllowedNames.clear();
}
@@ -66,7 +68,8 @@ struct ViewerFolderEntry : public LLDictionaryEntry
*/
mIconNameOpen("Inv_FolderOpen"), mIconNameClosed("Inv_FolderClosed"),
mNewCategoryName(new_category_name),
- mIsQuiet(FALSE)
+ mIsQuiet(FALSE),
+ mHideIfEmpty(false)
{
const std::string delims (",");
LLStringUtilBase<char>::getTokens(allowed_names, mAllowedNames, delims);
@@ -91,6 +94,7 @@ struct ViewerFolderEntry : public LLDictionaryEntry
typedef std::vector<std::string> name_vec_t;
name_vec_t mAllowedNames;
BOOL mIsQuiet;
+ bool mHideIfEmpty;
};
class LLViewerFolderDictionary : public LLSingleton<LLViewerFolderDictionary>,
@@ -104,43 +108,43 @@ protected:
LLViewerFolderDictionary::LLViewerFolderDictionary()
{
- // NEW CATEGORY NAME FOLDER OPEN FOLDER CLOSED QUIET?
- // |-------------------------|-----------------------|----------------------|-----------|
- addEntry(LLFolderType::FT_TEXTURE, new ViewerFolderEntry("Textures", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_SOUND, new ViewerFolderEntry("Sounds", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_CALLINGCARD, new ViewerFolderEntry("Calling Cards", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_LANDMARK, new ViewerFolderEntry("Landmarks", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_CLOTHING, new ViewerFolderEntry("Clothing", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_OBJECT, new ViewerFolderEntry("Objects", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_NOTECARD, new ViewerFolderEntry("Notecards", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_ROOT_INVENTORY, new ViewerFolderEntry("My Inventory", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_LSL_TEXT, new ViewerFolderEntry("Scripts", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_BODYPART, new ViewerFolderEntry("Body Parts", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_TRASH, new ViewerFolderEntry("Trash", "Inv_TrashOpen", "Inv_TrashClosed", TRUE));
- addEntry(LLFolderType::FT_SNAPSHOT_CATEGORY, new ViewerFolderEntry("Photo Album", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_LOST_AND_FOUND, new ViewerFolderEntry("Lost And Found", "Inv_LostOpen", "Inv_LostClosed", TRUE));
- addEntry(LLFolderType::FT_ANIMATION, new ViewerFolderEntry("Animations", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_GESTURE, new ViewerFolderEntry("Gestures", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_FAVORITE, new ViewerFolderEntry("Favorites", "Inv_SysOpen", "Inv_SysClosed", FALSE));
+ // NEW CATEGORY NAME FOLDER OPEN FOLDER CLOSED QUIET? HIDE IF EMPTY?
+ // |-------------------------|-----------------------|----------------------|-----------|--------------|
+ addEntry(LLFolderType::FT_TEXTURE, new ViewerFolderEntry("Textures", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_SOUND, new ViewerFolderEntry("Sounds", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_CALLINGCARD, new ViewerFolderEntry("Calling Cards", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_LANDMARK, new ViewerFolderEntry("Landmarks", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_CLOTHING, new ViewerFolderEntry("Clothing", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_OBJECT, new ViewerFolderEntry("Objects", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_NOTECARD, new ViewerFolderEntry("Notecards", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_ROOT_INVENTORY, new ViewerFolderEntry("My Inventory", "Inv_SysOpen", "Inv_SysClosed", FALSE, false));
+ addEntry(LLFolderType::FT_LSL_TEXT, new ViewerFolderEntry("Scripts", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_BODYPART, new ViewerFolderEntry("Body Parts", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_TRASH, new ViewerFolderEntry("Trash", "Inv_TrashOpen", "Inv_TrashClosed", TRUE, false));
+ addEntry(LLFolderType::FT_SNAPSHOT_CATEGORY, new ViewerFolderEntry("Photo Album", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_LOST_AND_FOUND, new ViewerFolderEntry("Lost And Found", "Inv_LostOpen", "Inv_LostClosed", TRUE, true));
+ addEntry(LLFolderType::FT_ANIMATION, new ViewerFolderEntry("Animations", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_GESTURE, new ViewerFolderEntry("Gestures", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_FAVORITE, new ViewerFolderEntry("Favorites", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
- addEntry(LLFolderType::FT_CURRENT_OUTFIT, new ViewerFolderEntry("Current Outfit", "Inv_SysOpen", "Inv_SysClosed", TRUE));
- addEntry(LLFolderType::FT_OUTFIT, new ViewerFolderEntry("New Outfit", "Inv_LookFolderOpen", "Inv_LookFolderClosed", TRUE));
- addEntry(LLFolderType::FT_MY_OUTFITS, new ViewerFolderEntry("My Outfits", "Inv_SysOpen", "Inv_SysClosed", TRUE));
- addEntry(LLFolderType::FT_MESH, new ViewerFolderEntry("Meshes", "Inv_SysOpen", "Inv_SysClosed", FALSE));
+ addEntry(LLFolderType::FT_CURRENT_OUTFIT, new ViewerFolderEntry("Current Outfit", "Inv_SysOpen", "Inv_SysClosed", TRUE, false));
+ addEntry(LLFolderType::FT_OUTFIT, new ViewerFolderEntry("New Outfit", "Inv_LookFolderOpen", "Inv_LookFolderClosed", TRUE, true));
+ addEntry(LLFolderType::FT_MY_OUTFITS, new ViewerFolderEntry("My Outfits", "Inv_SysOpen", "Inv_SysClosed", TRUE, true));
+ addEntry(LLFolderType::FT_MESH, new ViewerFolderEntry("Meshes", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
- addEntry(LLFolderType::FT_INBOX, new ViewerFolderEntry("Inbox", "Inv_SysOpen", "Inv_SysClosed", FALSE));
- addEntry(LLFolderType::FT_OUTBOX, new ViewerFolderEntry("Outbox", "Inv_SysOpen", "Inv_SysClosed", FALSE));
+ addEntry(LLFolderType::FT_INBOX, new ViewerFolderEntry("Inbox", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
+ addEntry(LLFolderType::FT_OUTBOX, new ViewerFolderEntry("Outbox", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
- addEntry(LLFolderType::FT_BASIC_ROOT, new ViewerFolderEntry("Basic Root", "Inv_SysOpen", "Inv_SysClosed", FALSE));
+ addEntry(LLFolderType::FT_BASIC_ROOT, new ViewerFolderEntry("Basic Root", "Inv_SysOpen", "Inv_SysClosed", FALSE, true));
- addEntry(LLFolderType::FT_NONE, new ViewerFolderEntry("New Folder", "Inv_FolderOpen", "Inv_FolderClosed", FALSE, "default"));
+ addEntry(LLFolderType::FT_NONE, new ViewerFolderEntry("New Folder", "Inv_FolderOpen", "Inv_FolderClosed", FALSE, false, "default"));
#if SUPPORT_ENSEMBLES
initEnsemblesFromFile();
#else
for (U32 type = (U32)LLFolderType::FT_ENSEMBLE_START; type <= (U32)LLFolderType::FT_ENSEMBLE_END; ++type)
{
- addEntry((LLFolderType::EType)type, new ViewerFolderEntry("New Folder", "Inv_FolderOpen", "Inv_FolderClosed", FALSE));
+ addEntry((LLFolderType::EType)type, new ViewerFolderEntry("New Folder", "Inv_FolderOpen", "Inv_FolderClosed", FALSE, false));
}
#endif
}
@@ -259,6 +263,15 @@ BOOL LLViewerFolderType::lookupIsQuietType(LLFolderType::EType folder_type)
return FALSE;
}
+bool LLViewerFolderType::lookupIsHiddenIfEmpty(LLFolderType::EType folder_type)
+{
+ const ViewerFolderEntry *entry = LLViewerFolderDictionary::getInstance()->lookup(folder_type);
+ if (entry)
+ {
+ return entry->mHideIfEmpty;
+ }
+ return false;
+}
const std::string &LLViewerFolderType::lookupNewCategoryName(LLFolderType::EType folder_type)
{
diff --git a/indra/newview/llviewerfoldertype.h b/indra/newview/llviewerfoldertype.h
index f5938de619..13d5a8fbbd 100644
--- a/indra/newview/llviewerfoldertype.h
+++ b/indra/newview/llviewerfoldertype.h
@@ -40,6 +40,7 @@ public:
static const std::string& lookupIconName(EType folder_type, BOOL is_open = FALSE); // folder icon name
static BOOL lookupIsQuietType(EType folder_type); // folder doesn't require UI update when changes have occured
+ static bool lookupIsHiddenIfEmpty(EType folder_type); // folder is not displayed if empty
static const std::string& lookupNewCategoryName(EType folder_type); // default name when creating new category
static LLFolderType::EType lookupTypeFromNewCategoryName(const std::string& name); // default name when creating new category
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index cf21ac4e5d..140cbb4e04 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2161,8 +2161,18 @@ void LLViewerWindow::reshape(S32 width, S32 height)
if (!maximized
&& mWindow->getSize(&window_size))
{
- gSavedSettings.setS32("WindowWidth", window_size.mX);
- gSavedSettings.setS32("WindowHeight", window_size.mY);
+ U32 min_window_width=gSavedSettings.getU32("MinWindowWidth");
+ if ( window_size.mX < min_window_width )
+ window_size.mX=min_window_width;
+ gSavedSettings.setU32("WindowWidth", window_size.mX);
+
+ U32 min_window_height=gSavedSettings.getU32("MinWindowHeight");
+ if ( window_size.mY < min_window_height )
+ window_size.mY=min_window_height;
+ gSavedSettings.setU32("WindowHeight", window_size.mY);
+
+ // tell the OS specific window code about min windoow size
+ mWindow->setMinSize(min_window_width, min_window_height);
}
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_WINDOW_WIDTH, (F64)width);
diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml
index 3ccdfc036a..cf6f1ccdd9 100644
--- a/indra/newview/skins/default/xui/da/notifications.xml
+++ b/indra/newview/skins/default/xui/da/notifications.xml
@@ -438,7 +438,7 @@ Tilbyd venskab til [NAME]?
</form>
</notification>
<notification name="RemoveFromFriends">
- Ønsker du at fjerne [NAME] fra din venneliste?
+ Ønsker du at fjerne &lt;nolink&gt;[NAME]&lt;/nolink&gt; fra din venneliste?
</notification>
<notification name="ConfirmItemDeleteHasLinks">
Mindst en af genstandene har lænkede genstande der peger på den. Hvis du sletter denne genstand, vil lænkninger ikke virke mere. Det anbefales kraftigt at fjerne lænkninger først.
@@ -1023,10 +1023,10 @@ Henvis til dette fra en hjemmeside for at give andre nem adgang til denne lokati
Erstattet manglende tøj/kropsdele med standard.
</notification>
<notification name="FriendOnline">
- [NAME] er logget på
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; er logget på
</notification>
<notification name="FriendOffline">
- [NAME] er logget af
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; er logget af
</notification>
<notification name="AddSelfFriend">
Selvom du nok er meget sød, kan du ikke tilføje dig selv som ven.
@@ -1404,10 +1404,10 @@ Prøv igen om lidt.
(Som udgangspunkt, vil du være i stand til at se den andens online status)
</notification>
<notification name="FriendshipAccepted">
- [NAME] accepterede dit tilbud om venskab.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; accepterede dit tilbud om venskab.
</notification>
<notification name="FriendshipDeclined">
- [NAME] afviste dit tilbud om venskab.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; afviste dit tilbud om venskab.
</notification>
<notification name="FriendshipAcceptedByMe">
Tilbud om venskab accepteret.
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index fc38608df5..72e7ec8eb4 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -992,7 +992,7 @@ Sie sind nicht berechtigt, Land für die aktive Gruppe zu kaufen.
</form>
</notification>
<notification name="RemoveFromFriends">
- Möchten Sie [NAME] aus Ihrer Freundesliste entfernen?
+ Möchten Sie &lt;nolink&gt;[NAME]&lt;/nolink&gt; aus Ihrer Freundesliste entfernen?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2134,10 +2134,10 @@ Hierzu wird Ihr Webbrowser geöffnet.
Betreff: [SUBJECT], Nachricht: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] ist online
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ist online
</notification>
<notification name="FriendOffline">
- [NAME] ist offline
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ist offline
</notification>
<notification name="AddSelfFriend">
Obwohl Sie ein sehr netter Mensch sind, können Sie sich nicht selbst als Freund hinzufügen.
@@ -2532,10 +2532,10 @@ Versuchen Sie es in einigen Minuten erneut.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] hat Ihr Freundschaftsangebot akzeptiert.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; hat Ihr Freundschaftsangebot akzeptiert.
</notification>
<notification name="FriendshipDeclined">
- [NAME] hat Ihr Freundschaftsangebot abgelehnt.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; hat Ihr Freundschaftsangebot abgelehnt.
</notification>
<notification name="FriendshipAcceptedByMe">
Ihr Freundschaftsangebot wurde angeommen.
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index 1c7b354221..4772f744ea 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1208,7 +1208,7 @@ Only large parcels can be listed in search.
</panel.string>
<panel.string
name="see_avs_text">
- See and chat with residents on this parcel
+ Avatars on other parcels can see
</panel.string>
<text
type="string"
@@ -1223,30 +1223,33 @@ Only large parcels can be listed in search.
width="278">
Allow other Residents to:
</text>
- <check_box
- height="16"
- label="Edit Terrain"
- layout="topleft"
- left="14"
- name="edit land check"
- tool_tip="If checked, anyone can terraform your land. It is best to leave this unchecked, as you can always edit your own land."
- top_pad="4"
- width="147i" />
- <check_box
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ height="16"
+ layout="topleft"
+ left="20"
+ name="allow_label0"
+ width="150">
+ Fly:
+ </text>
+
+ <check_box
height="16"
- label="Fly"
+ label="Everyone"
layout="topleft"
name="check fly"
tool_tip="If checked, Residents can fly on your land. If unchecked, they can only fly into and over your land."
- left_pad="4"
- width="150" />
+ left_pad="2"
+ width="130" />
<text
type="string"
length="1"
follows="left|top"
height="16"
layout="topleft"
- left="14"
+ left="20"
name="allow_label2"
width="150">
Build:
@@ -1271,7 +1274,7 @@ Only large parcels can be listed in search.
follows="left|top"
height="16"
layout="topleft"
- left="14"
+ left="20"
name="allow_label3"
width="150">
Object Entry:
@@ -1298,7 +1301,7 @@ Only large parcels can be listed in search.
follows="left|top"
height="16"
layout="topleft"
- left="14"
+ left="20"
name="allow_label4"
width="150">
Run Scripts:
@@ -1319,49 +1322,47 @@ Only large parcels can be listed in search.
name="check group scripts"
top_delta="0"
width="70" />
- <text
- type="string"
- text_color="white"
- length="1"
- follows="left|top"
- height="16"
- layout="topleft"
- left="10"
- name="land_options_label"
- width="278">
- Land Options:
- </text>
- <check_box
+ <panel
+ bevel_style="none"
+ border="true"
+ top="146"
+ bottom="146"
+ follows="left|bottom|right"
+ left="20"
+ right="-20"/>
+ <check_box
height="16"
label="Safe (no damage)"
layout="topleft"
- left="14"
+ left="18"
name="check safe"
tool_tip="If checked, sets the land to Safe, disabling damage combat. If cleared, damage combat is enabled."
- top_pad="5"
+ top="130"
width="200" />
<check_box
height="16"
label="No Pushing"
layout="topleft"
- left_pad="5"
+ left_pad="35"
name="PushRestrictCheck"
tool_tip="Prevents scripts from pushing. Checking this option may be useful for preventing disruptive behavior on your land."
- top_delta="0"
+ top="130"
width="119" />
<check_box
height="16"
label="Show Place in Search (L$30/week)"
layout="topleft"
- left="14"
+ left="18"
name="ShowDirectoryCheck"
tool_tip="Let people see this parcel in search results"
+ top="150"
width="430" />
<combo_box
enabled="false"
height="23"
layout="topleft"
- left="30"
+ left="20"
+ top="194"
name="land category with adult"
visible="false"
width="140">
@@ -1426,7 +1427,8 @@ Only large parcels can be listed in search.
enabled="false"
height="23"
layout="topleft"
- left="30"
+ left="20"
+ top="194"
name="land category"
visible="false"
width="140">
@@ -1487,11 +1489,11 @@ Only large parcels can be listed in search.
height="16"
label="Moderate Content"
layout="topleft"
- left="14"
+ left="18"
name="MatureCheck"
- top="177"
+ top="170"
label_text.valign="center"
- label_text.v_pad="-5"
+ label_text.v_pad="-1"
tool_tip=" "
width="200" />
<text
@@ -1500,18 +1502,19 @@ Only large parcels can be listed in search.
follows="left|top"
height="16"
layout="topleft"
- left="10"
+ left="20"
name="Snapshot:"
text_color="white"
- top="220"
+ top="225"
width="200">
Snapshot:
</text>
<texture_picker
follows="left|top"
+ top_pad="0"
height="150"
layout="topleft"
- left="14"
+ left="20"
name="snapshot_ctrl"
fallback_image="default_land_picture.j2c"
tool_tip="Click to choose a picture"
@@ -1520,23 +1523,24 @@ Only large parcels can be listed in search.
type="string"
length="1"
follows="left|top"
- text_color="white"
+ text_color="LtGray"
height="16"
layout="topleft"
- left="230"
- top="174"
+ left="274"
+ top="166"
name="allow_label5"
width="278">
- Allow Residents on other parcels to:
+ and chat with avatars on this parcel
</text>
<check_box
height="16"
label="See Avatars"
follows="top"
layout="topleft"
- left="230"
+ left="253"
+ top="150"
name="SeeAvatarsCheck"
- tool_tip="Allows residents on other parcels to see and chat with residents on this parcel, and you to see and chat with them."
+ tool_tip="Allows avatars on other parcels to see and chat with avatars on this parcel, and you to see and chat with them."
width="120" />
<text
type="string"
@@ -1544,8 +1548,8 @@ Only large parcels can be listed in search.
follows="left|top"
height="16"
layout="topleft"
- left="230"
- top="230"
+ left="255"
+ top="282"
text_color="white"
name="landing_point"
word_wrap="true"
@@ -1554,12 +1558,13 @@ Only large parcels can be listed in search.
</text>
<button
follows="right|top"
+ top_pad="0"
height="23"
label="Set"
label_selected="Set"
layout="topleft"
name="Set"
- left="230"
+ left="255"
tool_tip="Sets the landing point where visitors arrive. Sets to your avatar&apos;s location inside this parcel."
width="50" />
<button
@@ -1579,7 +1584,7 @@ Only large parcels can be listed in search.
follows="left|top"
height="16"
layout="topleft"
- left="230"
+ left="255"
top_pad="10"
name="Teleport Routing: "
width="200">
@@ -1589,7 +1594,7 @@ Only large parcels can be listed in search.
height="23"
layout="topleft"
name="landing type"
- top_pad="3"
+ top_pad="0"
tool_tip="Teleport Routing -- select how to handle teleports onto your land"
width="120">
<combo_box.item
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index 1808cab2a5..aa18c6e039 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -791,6 +791,7 @@
tab_min_width="40"
tab_position="top"
tab_height="25"
+ open_tabs_on_drag_and_drop="true"
top="173"
width="295">
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index e4458f33b1..d925bf8f96 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -2369,7 +2369,7 @@ Would you be my friend?
name="RemoveFromFriends"
type="alertmodal">
<tag>friendship</tag>
-Do you want to remove [NAME] from your Friends List?
+Do you want to remove &lt;nolink&gt;[NAME]&lt;/nolink&gt; from your Friends List?
<tag>confirm</tag>
<usetemplate
name="okcancelbuttons"
@@ -5161,7 +5161,7 @@ Topic: [SUBJECT], Message: [MESSAGE]
name="FriendOnline"
type="notifytip">
<tag>friendship</tag>
-[NAME] is Online
+&lt;nolink&gt;[NAME]&lt;/nolink&gt; is Online
</notification>
<notification
@@ -5169,7 +5169,7 @@ Topic: [SUBJECT], Message: [MESSAGE]
name="FriendOffline"
type="notifytip">
<tag>friendship</tag>
-[NAME] is Offline
+&lt;nolink&gt;[NAME]&lt;/nolink&gt; is Offline
</notification>
<notification
@@ -6171,7 +6171,7 @@ Your object named &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; has given you th
name="FriendshipAccepted"
type="offer">
<tag>friendship</tag>
-[NAME] accepted your friendship offer.
+&lt;nolink&gt;[NAME]&lt;/nolink&gt; accepted your friendship offer.
</notification>
<notification
@@ -6180,7 +6180,7 @@ Your object named &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; has given you th
persist="true"
type="notify">
<tag>friendship</tag>
-[NAME] declined your friendship offer.
+&lt;nolink&gt;[NAME]&lt;/nolink&gt; declined your friendship offer.
</notification>
<notification
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 3fe0072a20..9591b424fc 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -981,7 +981,7 @@ no tienes el permiso de comprar terreno para el grupo que tienes activado actual
</form>
</notification>
<notification name="RemoveFromFriends">
- ¿Quieres eliminar a [NAME] de tu lista de amigos?
+ ¿Quieres eliminar a &lt;nolink&gt;[NAME]&lt;/nolink&gt; de tu lista de amigos?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2128,10 +2128,10 @@ Al hacerlo se iniciará el navegador web.
Asunto: [SUBJECT], Mensaje: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] está conectado
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; está conectado
</notification>
<notification name="FriendOffline">
- [NAME] está desconectado
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; está desconectado
</notification>
<notification name="AddSelfFriend">
Aunque eres muy agradable, no puedes añadirte como amigo a ti mismo.
@@ -2526,10 +2526,10 @@ Por favor, vuelve a intentarlo en unos momentos.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] ha aceptado tu oferta de amistad.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha aceptado tu oferta de amistad.
</notification>
<notification name="FriendshipDeclined">
- [NAME] ha rehusado tu oferta de amistad.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha rehusado tu oferta de amistad.
</notification>
<notification name="FriendshipAcceptedByMe">
Aceptado el ofrecimiento de amistad.
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 31c29029b5..18b9063c00 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -980,7 +980,7 @@ Proposer à [NAME] de devenir votre ami(e) ?
</form>
</notification>
<notification name="RemoveFromFriends">
- Voulez-vous supprimer [NAME] de votre liste d&apos;amis ?
+ Voulez-vous supprimer &lt;nolink&gt;[NAME]&lt;/nolink&gt; de votre liste d&apos;amis ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2119,10 +2119,10 @@ Cette opération lancera votre navigateur Web.
Sujet : [SUBJECT], Message : [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] est en ligne
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; est en ligne
</notification>
<notification name="FriendOffline">
- [NAME] est hors ligne
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; est hors ligne
</notification>
<notification name="AddSelfFriend">
Même si vous êtes extrêmement sympathique, vous ne pouvez pas devenir ami avec vous-même.
@@ -2518,10 +2518,10 @@ Veuillez réessayer dans quelques minutes.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] a accepté votre amitié.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; a accepté votre amitié.
</notification>
<notification name="FriendshipDeclined">
- [NAME] a refusé votre amitié.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; a refusé votre amitié.
</notification>
<notification name="FriendshipAcceptedByMe">
Amitié acceptée.
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index e19b84912a..2db0892cd6 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -978,7 +978,7 @@ Offri l&apos;amicizia a [NAME]?
</form>
</notification>
<notification name="RemoveFromFriends">
- Vuoi rimuovere [NAME] dalla lista dei tuoi amici?
+ Vuoi rimuovere &lt;nolink&gt;[NAME]&lt;/nolink&gt; dalla lista dei tuoi amici?
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2125,10 +2125,10 @@ Verrà avviato il browser Web.
Oggetto: [SUBJECT], Messaggio: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] è Online
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; è Online
</notification>
<notification name="FriendOffline">
- [NAME] è Offline
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; è Offline
</notification>
<notification name="AddSelfFriend">
Anche se sei molto simpatico, non puoi aggiungere te stesso all&apos;elenco degli amici.
@@ -2520,10 +2520,10 @@ Riprova tra qualche istante.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] ha accettato la tua offerta di amicizia.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha accettato la tua offerta di amicizia.
</notification>
<notification name="FriendshipDeclined">
- [NAME] ha rifiutato la tua offerta di amicizia.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha rifiutato la tua offerta di amicizia.
</notification>
<notification name="FriendshipAcceptedByMe">
Offerta di amicizia accettata.
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index 85f09b4500..7dfa6d2f7a 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -1010,7 +1010,7 @@ L$ は返金されません。
</form>
</notification>
<notification name="RemoveFromFriends">
- フレンドリストから [NAME] を削除しますか?
+ フレンドリストから &lt;nolink&gt;[NAME]&lt;/nolink&gt; を削除しますか?
<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2167,10 +2167,10 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
件名: [SUBJECT]、メッセージ: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] はオンライン中です
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; はオンライン中です
</notification>
<notification name="FriendOffline">
- [NAME] はオフライン中です
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; はオフライン中です
</notification>
<notification name="AddSelfFriend">
残念ながら自分自身をフレンド登録することはできません。
@@ -2567,10 +2567,10 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME]は、フレンド登録を受け入れました。
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt;は、フレンド登録を受け入れました。
</notification>
<notification name="FriendshipDeclined">
- [NAME]は、フレンド登録を断りました。
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt;は、フレンド登録を断りました。
</notification>
<notification name="FriendshipAcceptedByMe">
フレンドの登録依頼が承認されました。
diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml
index 7d3225ea31..e1fb6dd3f1 100644
--- a/indra/newview/skins/default/xui/pl/notifications.xml
+++ b/indra/newview/skins/default/xui/pl/notifications.xml
@@ -946,7 +946,7 @@ Zaproponować znajomość [NAME]?
</form>
</notification>
<notification name="RemoveFromFriends">
- Czy chcesz usunąć [NAME] z listy znajomych?
+ Czy chcesz usunąć &lt;nolink&gt;[NAME]&lt;/nolink&gt; z listy znajomych?
<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2078,10 +2078,10 @@ Zamieść go na stronie internetowej żeby umożliwić innym łatwy dostęp do t
Temat: [SUBJECT], Treść: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] jest w Second Life
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; jest w Second Life
</notification>
<notification name="FriendOffline">
- [NAME] opuszcza Second Life
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; opuszcza Second Life
</notification>
<notification name="AddSelfFriend">
Nie możesz dodać siebie do listy znajomych.
@@ -2458,10 +2458,10 @@ Spróbuj ponowanie za kilka minut.
</form>
</notification>
<notification name="FriendshipAccepted">
- Twoja propozycja znajomości została przyjęta przez [NAME].
+ Twoja propozycja znajomości została przyjęta przez &lt;nolink&gt;[NAME]&lt;/nolink&gt;.
</notification>
<notification name="FriendshipDeclined">
- Twoja propozycja znajomości została odrzucona przez [NAME].
+ Twoja propozycja znajomości została odrzucona przez &lt;nolink&gt;[NAME]&lt;/nolink&gt;.
</notification>
<notification name="FriendshipAcceptedByMe">
Propozycja znajomości została zaakceptowana.
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index 4bd9f86e0f..d3547beeb3 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -973,7 +973,7 @@ Oferecer amizade para [NAME]?
</form>
</notification>
<notification name="RemoveFromFriends">
- Remover [NAME] da sua lista de amigos?
+ Remover &lt;nolink&gt;[NAME]&lt;/nolink&gt; da sua lista de amigos?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Remover"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2109,10 +2109,10 @@ Isso abrirá o seu navegador.
Assunto: [SUBJECT], Mensagem: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] está online
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; está online
</notification>
<notification name="FriendOffline">
- [NAME] está offline
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; está offline
</notification>
<notification name="AddSelfFriend">
Você é o máximo! Mesmo assim, não dá para adicionar a si mesmo(a) como amigo(a).
@@ -2501,10 +2501,10 @@ Cada um pode ver o status do outro (definição padrão).
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] aceitou seu convite de amizade.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; aceitou seu convite de amizade.
</notification>
<notification name="FriendshipDeclined">
- [NAME] recusou seu convite de amizade
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; recusou seu convite de amizade
</notification>
<notification name="FriendshipAcceptedByMe">
Oferta de amizada aceita.
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index 87ae9d06dd..97b65a15eb 100644
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -979,7 +979,7 @@
</form>
</notification>
<notification name="RemoveFromFriends">
- Удалить жителя [NAME] из вашего списка друзей?
+ Удалить жителя &lt;nolink&gt;[NAME]&lt;/nolink&gt; из вашего списка друзей?
<usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2119,10 +2119,10 @@ http://secondlife.com/download.
Раздел: [SUBJECT], сообщение: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] в сети
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; в сети
</notification>
<notification name="FriendOffline">
- [NAME] не в сети
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; не в сети
</notification>
<notification name="AddSelfFriend">
Вы лучше всех, но нельзя добавить в друзья себя самого.
@@ -2518,10 +2518,10 @@ http://secondlife.com/download.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] принял(а) ваше предложение дружить.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; принял(а) ваше предложение дружить.
</notification>
<notification name="FriendshipDeclined">
- [NAME] отклонил(а) ваше предложение дружить.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; отклонил(а) ваше предложение дружить.
</notification>
<notification name="FriendshipAcceptedByMe">
Предложение дружить принято.
diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml
index a268c103a6..0d360bbf5f 100644
--- a/indra/newview/skins/default/xui/tr/notifications.xml
+++ b/indra/newview/skins/default/xui/tr/notifications.xml
@@ -979,7 +979,7 @@ Etkin grubunuz adına arazi satın almak için gerekli izne sahip değilsiniz.
</form>
</notification>
<notification name="RemoveFromFriends">
- [NAME] adlı kişiyi Arkadaş Listenizden çıkarmak istiyor musunuz?
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; adlı kişiyi Arkadaş Listenizden çıkarmak istiyor musunuz?
<usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2119,10 +2119,10 @@ Bu adımda web tarayıcınızın başlatılacağına dikkat edin.
Konu: [SUBJECT], İleti: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] Çevrimiçi
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; Çevrimiçi
</notification>
<notification name="FriendOffline">
- [NAME] Çevrimdışı
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; Çevrimdışı
</notification>
<notification name="AddSelfFriend">
Çok iyi biri olduğunuza eminiz fakat kendinizi arkadaş olarak ekleyemezsiniz.
@@ -2518,10 +2518,10 @@ Lütfen biraz sonra tekrar deneyin.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] arkadaşlık teklifinizi kabul etti.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; arkadaşlık teklifinizi kabul etti.
</notification>
<notification name="FriendshipDeclined">
- [NAME] arkadaşlık teklifinizi reddetti.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; arkadaşlık teklifinizi reddetti.
</notification>
<notification name="FriendshipAcceptedByMe">
Arkadaşlık teklifi kabul edildi.
diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml
index 2d309a2af0..17ff6288a5 100644
--- a/indra/newview/skins/default/xui/zh/notifications.xml
+++ b/indra/newview/skins/default/xui/zh/notifications.xml
@@ -966,7 +966,7 @@ Offer friendship to [NAME]?
</form>
</notification>
<notification name="RemoveFromFriends">
- Do you want to remove [NAME] from your Friends List?
+ Do you want to remove &lt;nolink&gt;[NAME]&lt;/nolink&gt; from your Friends List?
<usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -2109,10 +2109,10 @@ Link to this from a web page to give others easy access to this location, or try
Topic: [SUBJECT], Message: [MESSAGE]
</notification>
<notification name="FriendOnline">
- [NAME] 上線
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; 上線
</notification>
<notification name="FriendOffline">
- [NAME] 離線
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; 離線
</notification>
<notification name="AddSelfFriend">
Although you&apos;re very nice, you can&apos;t add yourself as a friend.
@@ -2491,10 +2491,10 @@ Please try again in a few moments.
</form>
</notification>
<notification name="FriendshipAccepted">
- [NAME] accepted your friendship offer.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; accepted your friendship offer.
</notification>
<notification name="FriendshipDeclined">
- [NAME] 謝絕你的交友邀請。
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; 謝絕你的交友邀請。
</notification>
<notification name="FriendshipAcceptedByMe">
交友邀請被接受。