summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt11
-rw-r--r--indra/newview/llfloaterabout.cpp67
-rw-r--r--indra/newview/llfloaterbuyland.cpp8
-rw-r--r--indra/newview/llfloatervoiceeffect.cpp2
-rw-r--r--indra/newview/llfloaterwebcontent.cpp6
-rwxr-xr-xindra/newview/llfloaterworldmap.cpp6
-rw-r--r--indra/newview/llpanelcontents.cpp2
-rw-r--r--indra/newview/llpanelobjectinventory.cpp56
-rw-r--r--indra/newview/llviewerobject.cpp4
-rw-r--r--indra/newview/skins/default/xui/da/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_delete_env_preset.xml2
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_about.xml78
-rw-r--r--indra/newview/skins/default/xui/en/floater_build_options.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_buy_land.xml16
-rw-r--r--indra/newview/skins/default/xui/en/floater_model_wizard.xml89
-rw-r--r--indra/newview/skins/default/xui/en/floater_openobject.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_voice_effect.xml40
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/nl/strings.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/zh/strings.xml2
-rw-r--r--indra/newview/viewer_manifest.py46
24 files changed, 345 insertions, 107 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 86fbc248b0..328cbf3936 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1253,11 +1253,16 @@ if (WINDOWS)
endif(USE_PRECOMPILED_HEADERS)
# Replace the icons with the appropriate ones for the channel
+ # ('test' is the default)
set(ICON_PATH "test")
string(TOLOWER ${VIEWER_CHANNEL} channel_lower)
- if(channel_lower MATCHES "^(release|beta|development)")
- set(ICON_PATH ${channel_lower})
- elseif(channel_lower MATCHES "^(project.*)")
+ if(channel_lower MATCHES "^second life release")
+ set(ICON_PATH "release")
+ elseif(channel_lower MATCHES "^second life beta viewer")
+ set(ICON_PATH "beta")
+ elseif(channel_lower MATCHES "^second life development")
+ set(ICON_PATH "development")
+ elseif(channel_lower MATCHES "project")
set(ICON_PATH "project")
endif()
message("Copying icons for ${ICON_PATH}")
diff --git a/indra/newview/llfloaterabout.cpp b/indra/newview/llfloaterabout.cpp
index 2873bc0059..849826bb6b 100644
--- a/indra/newview/llfloaterabout.cpp
+++ b/indra/newview/llfloaterabout.cpp
@@ -26,6 +26,8 @@
*/
#include "llviewerprecompiledheaders.h"
+#include <iostream>
+#include <fstream>
#include "llfloaterabout.h"
@@ -108,8 +110,14 @@ BOOL LLFloaterAbout::postBuild()
LLViewerTextEditor *support_widget =
getChild<LLViewerTextEditor>("support_editor", true);
- LLViewerTextEditor *credits_widget =
- getChild<LLViewerTextEditor>("credits_editor", true);
+ LLViewerTextEditor *linden_names_widget =
+ getChild<LLViewerTextEditor>("linden_names", true);
+
+ LLViewerTextEditor *contrib_names_widget =
+ getChild<LLViewerTextEditor>("contrib_names", true);
+
+ LLViewerTextEditor *trans_names_widget =
+ getChild<LLViewerTextEditor>("trans_names", true);
getChild<LLUICtrl>("copy_btn")->setCommitCallback(
boost::bind(&LLFloaterAbout::onClickCopyToClipboard, this));
@@ -190,8 +198,59 @@ BOOL LLFloaterAbout::postBuild()
support_widget->setEnabled(FALSE);
support_widget->startOfDoc();
- credits_widget->setEnabled(FALSE);
- credits_widget->startOfDoc();
+ // Get the names of Lindens, added by viewer_manifest.py at build time
+ std::string lindens_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"lindens.txt");
+ llifstream linden_file;
+ std::string lindens;
+ linden_file.open(lindens_path); /* Flawfinder: ignore */
+ if (linden_file.is_open())
+ {
+ std::getline(linden_file, lindens); // all names are on a single line
+ linden_file.close();
+ linden_names_widget->setText(lindens);
+ }
+ else
+ {
+ LL_INFOS("AboutInit") << "Could not read lindens file at " << lindens_path << LL_ENDL;
+ }
+ linden_names_widget->setEnabled(FALSE);
+ linden_names_widget->startOfDoc();
+
+ // Get the names of contributors, extracted from .../doc/contributions.txt by viewer_manifest.py at build time
+ std::string contributors_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"contributors.txt");
+ llifstream contrib_file;
+ std::string contributors;
+ contrib_file.open(contributors_path); /* Flawfinder: ignore */
+ if (contrib_file.is_open())
+ {
+ std::getline(contrib_file, contributors); // all names are on a single line
+ contrib_file.close();
+ }
+ else
+ {
+ LL_WARNS("AboutInit") << "Could not read contributors file at " << contributors_path << LL_ENDL;
+ }
+ contrib_names_widget->setText(contributors);
+ contrib_names_widget->setEnabled(FALSE);
+ contrib_names_widget->startOfDoc();
+
+ // Get the names of translators, extracted from .../doc/tranlations.txt by viewer_manifest.py at build time
+ std::string translators_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"translators.txt");
+ llifstream trans_file;
+ std::string translators;
+ trans_file.open(translators_path); /* Flawfinder: ignore */
+ if (trans_file.is_open())
+ {
+ std::getline(trans_file, translators); // all names are on a single line
+ trans_file.close();
+ }
+ else
+ {
+ LL_WARNS("AboutInit") << "Could not read translators file at " << translators_path << LL_ENDL;
+ }
+ trans_names_widget->setText(translators);
+ trans_names_widget->setEnabled(FALSE);
+ trans_names_widget->startOfDoc();
return TRUE;
}
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 5cfdd69f7b..8223e89b64 100644
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -508,7 +508,9 @@ void LLFloaterBuyLandUI::updateCovenantInfo()
LLIconCtrl* rating_icon = getChild<LLIconCtrl>("rating_icon");
LLRect rect = rating_icon->getRect();
- S32 icon_left_pad = region_name->getRect().mLeft + region_name->getTextBoundingRect().getWidth() + ICON_PAD;
+ S32 region_name_width = llmin(region_name->getRect().getWidth(), region_name->getTextBoundingRect().getWidth());
+ S32 icon_left_pad = region_name->getRect().mLeft + region_name_width + ICON_PAD;
+ region_name->setToolTip(region_name->getText());
rating_icon->setRect(rect.setOriginAndSize(icon_left_pad, rect.mBottom, rect.getWidth(), rect.getHeight()));
switch(sim_access)
@@ -530,6 +532,7 @@ void LLFloaterBuyLandUI::updateCovenantInfo()
if (region_type)
{
region_type->setText(region->getLocalizedSimProductName());
+ region_type->setToolTip(region->getLocalizedSimProductName());
}
LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
@@ -619,7 +622,8 @@ void LLFloaterBuyLandUI::updateFloaterCovenantText(const std::string &string, co
void LLFloaterBuyLandUI::updateFloaterEstateName(const std::string& name)
{
LLTextBox* box = getChild<LLTextBox>("estate_name_text");
- if (box) box->setText(name);
+ box->setText(name);
+ box->setToolTip(name);
}
void LLFloaterBuyLandUI::updateFloaterLastModified(const std::string& text)
diff --git a/indra/newview/llfloatervoiceeffect.cpp b/indra/newview/llfloatervoiceeffect.cpp
index 2a3950f9b1..030fed0575 100644
--- a/indra/newview/llfloatervoiceeffect.cpp
+++ b/indra/newview/llfloatervoiceeffect.cpp
@@ -145,7 +145,7 @@ void LLFloaterVoiceEffect::refreshEffectList()
for (voice_effect_list_t::const_iterator it = template_list.begin(); it != template_list.end(); ++it)
{
const LLUUID& effect_id = it->second;
- std::string effect_name = it->first;
+ std::string effect_name = getString("effect_" + it->first); // will throw an error if the effect is not listed in the XML
LLSD effect_properties = effect_interface->getVoiceEffectProperties(effect_id);
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp
index 03e90a3d27..2c9a736aff 100644
--- a/indra/newview/llfloaterwebcontent.cpp
+++ b/indra/newview/llfloaterwebcontent.cpp
@@ -229,10 +229,8 @@ void LLFloaterWebContent::open_media(const Params& p)
getChild<LLLayoutPanel>("status_bar")->setVisible(p.show_chrome);
getChild<LLLayoutPanel>("nav_controls")->setVisible(p.show_chrome);
bool address_entry_enabled = p.allow_address_entry && !p.trusted_content;
- // disable components of combo box so that we can still select and copy text from address bar (a disabled line editor still allows this, but not if its parent is disabled)
- getChildView("address")->getChildView("Combo Text Entry")->setEnabled(address_entry_enabled);
- getChildView("address")->getChildView("Combobox Button")->setEnabled(address_entry_enabled);
- getChildView("address")->getChildView("ComboBox")->setEnabled(address_entry_enabled);
+ getChildView("address")->setEnabled(address_entry_enabled);
+ getChildView("popexternal")->setEnabled(address_entry_enabled);
if (!address_entry_enabled)
{
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index d5f0648f3b..98a14f72dc 100755
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -1221,6 +1221,12 @@ void LLFloaterWorldMap::onLocationCommit()
{ // Set the value in the UI if any spaces were removed
getChild<LLUICtrl>("location")->setValue(str);
}
+
+ // Don't try completing empty name (STORM-1427).
+ if (str.empty())
+ {
+ return;
+ }
LLStringUtil::toLower(str);
mCompletingRegionName = str;
diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp
index bf3bf38863..a64b4ec94d 100644
--- a/indra/newview/llpanelcontents.cpp
+++ b/indra/newview/llpanelcontents.cpp
@@ -172,7 +172,7 @@ void LLPanelContents::onClickNewScript(void *userdata)
LLUUID::null,
LLAssetType::AT_LSL_TEXT,
LLInventoryType::IT_LSL,
- LLTrans::getString("PanelContentsNewScript"),
+ "New Script",
desc,
LLSaleInfo::DEFAULT,
LLInventoryItemFlags::II_FLAGS_NONE,
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index e3b61f695a..83ba8afbfc 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -83,6 +83,7 @@ protected:
LLAssetType::EType mAssetType;
LLInventoryType::EType mInventoryType;
+ LLInventoryObject* findInvObject() const;
LLInventoryItem* findItem() const;
public:
@@ -162,16 +163,22 @@ LLTaskInvFVBridge::LLTaskInvFVBridge(
}
}
-LLInventoryItem* LLTaskInvFVBridge::findItem() const
+LLInventoryObject* LLTaskInvFVBridge::findInvObject() const
{
LLViewerObject* object = gObjectList.findObject(mPanel->getTaskUUID());
- if(object)
+ if (object)
{
- return dynamic_cast<LLInventoryItem*>(object->getInventoryObject(mUUID));
+ return object->getInventoryObject(mUUID);
}
return NULL;
}
+
+LLInventoryItem* LLTaskInvFVBridge::findItem() const
+{
+ return dynamic_cast<LLInventoryItem*>(findInvObject());
+}
+
void LLTaskInvFVBridge::showProperties()
{
show_task_item_profile(mUUID, mPanel->getTaskUUID());
@@ -295,21 +302,15 @@ const std::string& LLTaskInvFVBridge::getDisplayName() const
if(item)
{
- if(item->getParentUUID().isNull())
- {
- if(item->getName() == "Contents")
- {
- mDisplayName.assign(LLTrans::getString("ViewerObjectContents"));
- }
- else
- {
- mDisplayName.assign(item->getName());
- }
- }
- else
+ mDisplayName.assign(item->getName());
+
+ // Localize "New Script", "New Script 1", "New Script 2", etc.
+ if (item->getType() == LLAssetType::AT_LSL_TEXT &&
+ LLStringUtil::startsWith(item->getName(), "New Script"))
{
- mDisplayName.assign(item->getName());
+ LLStringUtil::replaceString(mDisplayName, "New Script", LLTrans::getString("PanelContentsNewScript"));
}
+
const LLPermissions& perm(item->getPermissions());
BOOL copy = gAgent.allowOperation(PERM_COPY, perm, GP_OBJECT_MANIPULATE);
BOOL mod = gAgent.allowOperation(PERM_MODIFY, perm, GP_OBJECT_MANIPULATE);
@@ -700,7 +701,7 @@ public:
const std::string& name);
virtual LLUIImagePtr getIcon() const;
- virtual const std::string& getDisplayName() const { return getName(); }
+ virtual const std::string& getDisplayName() const;
virtual BOOL isItemRenameable() const;
// virtual BOOL isItemCopyable() const { return FALSE; }
virtual BOOL renameItem(const std::string& new_name);
@@ -728,6 +729,27 @@ LLUIImagePtr LLTaskCategoryBridge::getIcon() const
return LLUI::getUIImage("Inv_FolderClosed");
}
+// virtual
+const std::string& LLTaskCategoryBridge::getDisplayName() const
+{
+ LLInventoryObject* cat = findInvObject();
+
+ if (cat)
+ {
+ // Localize "Contents" folder.
+ if (cat->getParentUUID().isNull() && cat->getName() == "Contents")
+ {
+ mDisplayName.assign(LLTrans::getString("ViewerObjectContents"));
+ }
+ else
+ {
+ mDisplayName.assign(cat->getName());
+ }
+ }
+
+ return mDisplayName;
+}
+
BOOL LLTaskCategoryBridge::isItemRenameable() const
{
return FALSE;
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index b5fdca632b..cd71b6d42a 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -2750,7 +2750,7 @@ void LLViewerObject::processTaskInv(LLMessageSystem* msg, void** user_data)
LLPointer<LLInventoryObject> obj;
obj = new LLInventoryObject(object->mID, LLUUID::null,
LLAssetType::AT_CATEGORY,
- LLTrans::getString("ViewerObjectContents").c_str());
+ "Contents");
object->mInventory->push_front(obj);
object->doInventoryCallback();
delete ft;
@@ -2817,7 +2817,7 @@ void LLViewerObject::loadTaskInvFile(const std::string& filename)
{
LLPointer<LLInventoryObject> inv = new LLInventoryObject;
inv->importLegacyStream(ifs);
- inv->rename(LLTrans::getString("ViewerObjectContents").c_str());
+ inv->rename("Contents");
mInventory->push_front(inv);
}
else
diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml
index b5d8ac44bc..165d47c931 100644
--- a/indra/newview/skins/default/xui/da/strings.xml
+++ b/indra/newview/skins/default/xui/da/strings.xml
@@ -1835,7 +1835,7 @@ Prøv venligst om lidt igen.
<string name="RegionNoCovenantOtherOwner">
Der er ingen regler for dette estate. Land på dette estate sælges af estate ejeren, ikke af Linden Lab. Kontakt venligst estate ejeren for detaljer om salg.
</string>
- <string name="covenant_last_modified" value="Sidst rettet:"/>
+ <string name="covenant_last_modified" value="Sidst rettet: "/>
<string name="none_text" value=" (ingen) "/>
<string name="never_text" value=" (aldrig) "/>
<string name="GroupOwned">
diff --git a/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml b/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml
index c924716523..cc14ce640d 100644
--- a/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml
+++ b/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml
@@ -4,7 +4,7 @@
Wasser-Voreinstellung löschen
</string>
<string name="title_sky">
- Hilmmel-Voreinstellung löschen
+ Himmel-Voreinstellung löschen
</string>
<string name="title_day_cycle">
Tageszyklus löschen
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index e1c9ad0e5c..5cfec6446b 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -1882,7 +1882,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="RegionNoCovenantOtherOwner">
Für diesen Grundbesitz liegt kein Vertrag vor. Das Land auf diesem Grundbesitz wird vom Grundbesitzer und nicht von Linden Lab verkauft. Für Informationen zum Verkauf setzen Sie sich bitte mit dem Grundbesitzer in Verbindung.
</string>
- <string name="covenant_last_modified" value="Zuletzt geändert:"/>
+ <string name="covenant_last_modified" value="Zuletzt geändert: "/>
<string name="none_text" value=" (keiner) "/>
<string name="never_text" value=" (nie) "/>
<string name="GroupOwned">
diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml
index a8b3ce9c28..3dd394bac1 100644
--- a/indra/newview/skins/default/xui/en/floater_about.xml
+++ b/indra/newview/skins/default/xui/en/floater_about.xml
@@ -98,26 +98,80 @@ Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number
label="Credits"
help_topic="about_credits_tab"
name="credits_panel">
+ <text
+ follows="top|left|right"
+ height="10"
+ layout="topleft"
+ left="5"
+ name="linden_intro"
+ top="10"
+ width="435"
+ wrap="true">
+Second Life is brought to you by the Lindens:
+ </text>
<text_editor
enabled="false"
- follows="left|top"
- height="375"
+ follows="top|left"
+ height="98"
bg_readonly_color="Transparent"
left="5"
text_color="LtGray"
max_length="65536"
- name="credits_editor"
- top="5"
+ name="linden_names"
+ top_pad="10"
width="435"
word_wrap="true">
-Second Life is brought to you by Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain, and many others.
-
-Thank you to the following Residents for helping to ensure that this is the best version yet: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Aralara Rajal, Aura Dirval, Cayu Cluny, Eva Rau, FreeSL Aeon, Frontera Thor, Inma Rau, Lunita Savira, Minerva Memel, Polo Gufler, Xiki Luik, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan, and many others.
-
-
-
-
-"The work goes on, the cause endures, the hope still lives, and the dreams shall never die" - Edward Kennedy
+Philip, Andrew, Doug, Richard, Phoenix, Ian, Mark, Robin, Dan, Char, Ryan, Eric, Jim, Lee, Jeff, Michael, Kelly, Steve, Catherine, Bub, Ramzi, Jill, Jeska, Don, Kona, Callum, Charity, Jack, Shawn, babbage, James, Lauren, Blue, Brent, Reuben, Pathfinder, Jesse, Patsy, Torley, Bo, Cyn, Jonathan, Gia, Annette, Ginsu, Harry, Lex, Runitai, Guy, Cornelius, Beth, Swiss, Thumper, Wendy, Teeple, Seth, Dee, Mia, Sally, Liana, Aura, Beez, Milo, Red, Gulliver, Marius, Joe, Jose, Dore, Justin, Nora, Morpheus, Lexie, Amber, Chris, Xan, Leyla, Walker, Sabin, Joshua, Hiromi, Tofu, Fritz, June, Jean, Ivy, Dez, Ken, Betsy, Which, Spike, Rob, Zee, Dustin, George, Claudia, del, Matthew, jane, jay, Adrian, Yool, Rika, Yoz, siobhan, Qarl, Benjamin, Beast, Everett, madhavi, Christopher, Izzy, stephany, Jeremy, sean, adreanne, Pramod, Tobin, sejong, Iridium, maurice, kj, Meta, kari, JP, bert, kyle, Jon, Socrates, Bridie, Ivan, maria, Aric, Coco, Periapse, sandy, Storrs, Lotte, Colossus, Brad, Pastrami, Zen, BigPapi, Banzai, Sardonyx, Mani, Garry, Jaime, Neuro, Samuel, Niko, CeeLo, Austin, Soft, Poppy, emma, tessa, angelo, kurz, alexa, Sue, CG, Blake, Erica, Brett, Bevis, kristen, Q, simon, Enus, MJ, laurap, Kip, Scouse, Ron, Ram, kend, Marty, Prospero, melissa, kraft, Nat, Seraph, Hamilton, Lordan, Green, miz, Ashlei, Trinity, Ekim, Echo, Charlie, Rowan, Rome, Jt, Doris, benoc, Christy, Bao, Kate, Tj, Patch, Cheah, Johan, Brandy, Angela, Oreh, Cogsworth, Lan, Mitchell, Space, Bambers, Einstein, Bender, Malbers, Matias, Maggie, Rothman, Milton, Niall, Marin, Allison, Mango, Andrea, Katt, Yi, Ambroff, Rico, Raymond, Gail, Christa, William, Dawn, Usi, Dynamike, M, Corr, Dante, Molly, kaylee, Danica, Kelv, Lil, jacob, Nya, Rodney, elsie, Blondin, Grant, Nyx, Devin, Monty, Minerva, Keira, Katie, Jenn, Makai, Clare, Joy, Cody, Gayathri, FJ, spider, Oskar, Landon, Jarv, Noelle, Al, Doc, Gray, Vir, t, Maestro, Simone, Shannon, yang, Courtney, Scott, charlene, Quixote, Susan, Zed, Amanda, Katelin, Esbee, JoRoan, Enkidu, roxie, Scarlet, Merov, Kevin, Judy, Rand, Newell, Les, Dessie, Galen, Michon, Geo, Siz, Calyle, Pete, Praveen, Callen, Sheldon, Pink, Nelson, jenelle, Terrence, Nathan, Juan, Sascha, Huseby, Karina, Kaye, Kotler, Lis, Darv, Charrell, Dakota, Kimmora, Theeba, Taka, Mae, Perry, Ducot, dana, Esther, Dough, gisele, Doten, Viale, Fisher, jessieann, ashley, Torres, delby, rountree, kurt, Slaton, Madison, Rue, Gino, Wen, Casssandra, Brodesky, Squid, Gez, Rakesh, Gecko, Ladan, Tony, Tatem, Squire, Falcon, BK, Crimp, Tiggs, Bacon, Coyot, Carmilla, Webb, Sea, Arch, Jillian, Jason, Bernard, Vogt, Peggy, dragon, Pup, xandix, Wallace, Bewest, Inoshiro, Rhett, AG, Aimee, Ghengis, Itiaes, Eli, Steffan, Epic, Grapes, Stone, Prep, Scobu, Robert, Alain, Carla, Vicky, Tia, Alec, Taras, Lisa, Oz, Ariane, Log, House, Kazu, Kim, Drofnas, Tyler, Campbell, Michele, Madeline, Nelly, Baron, Thor, Lori, Hele, Fredrik, Teddy, Pixie, Berry, Gabrielle, Alfonso, Brooke, Wolf, Ringo, Cru, Charlar, Rodvik, Gibson, Elise, Bagman, Greger, Leonidas, Jerm, Leslie, CB, Brenda, Durian, Carlo, mm, Zeeshan, Caleb, Max, Elikak, Mercille, Steph, Chase
+ </text_editor>
+ <text
+ follows="top|left"
+ height="10"
+ layout="topleft"
+ left="5"
+ name="contrib_intro"
+ top_pad="10"
+ width="435"
+ wrap="true">
+with open source contributions from:
+ </text>
+ <text_editor
+ enabled="false"
+ follows="top|left"
+ height="98"
+ bg_readonly_color="Transparent"
+ left="5"
+ text_color="LtGray"
+ max_length="65536"
+ name="contrib_names"
+ top_pad="10"
+ width="435"
+ word_wrap="true">
+Dummy Name replaced at run time
+ </text_editor>
+ <text
+ follows="top|left"
+ height="10"
+ layout="topleft"
+ left="5"
+ name="trans_intro"
+ top_pad="10"
+ width="435"
+ wrap="true">
+and translations from:
+ </text>
+ <text_editor
+ enabled="false"
+ follows="top|left"
+ height="98"
+ bg_readonly_color="Transparent"
+ left="5"
+ text_color="LtGray"
+ max_length="65536"
+ name="trans_names"
+ top_pad="10"
+ width="435"
+ word_wrap="true">
+Dummy Name replaced at run time
</text_editor>
</panel>
<panel
diff --git a/indra/newview/skins/default/xui/en/floater_build_options.xml b/indra/newview/skins/default/xui/en/floater_build_options.xml
index c247a12e7a..afb7917043 100644
--- a/indra/newview/skins/default/xui/en/floater_build_options.xml
+++ b/indra/newview/skins/default/xui/en/floater_build_options.xml
@@ -37,7 +37,7 @@
layout="topleft"
left="10"
tool_tip="Grid opacity"
- name="grid_opacity_label"
+ name="grid_mode_label"
top_pad="30"
width="123">
Mode
diff --git a/indra/newview/skins/default/xui/en/floater_buy_land.xml b/indra/newview/skins/default/xui/en/floater_buy_land.xml
index ab81a86720..22cc058e46 100644
--- a/indra/newview/skins/default/xui/en/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_buy_land.xml
@@ -208,7 +208,7 @@ supports [AMOUNT2] objects
name="region_name_text"
top_delta="0"
use_ellipses="true"
- width="155">
+ width="150">
(unknown)
</text>
<icon
@@ -240,7 +240,8 @@ supports [AMOUNT2] objects
left_delta="125"
name="region_type_text"
top_delta="0"
- width="175">
+ use_ellipses="true"
+ width="170">
(unknown)
</text>
<text
@@ -265,7 +266,8 @@ supports [AMOUNT2] objects
left_delta="125"
name="estate_name_text"
top_delta="0"
- width="175">
+ use_ellipses="true"
+ width="170">
(unknown)
</text>
<text
@@ -290,7 +292,8 @@ supports [AMOUNT2] objects
left_delta="125"
name="estate_owner_text"
top_delta="0"
- width="175">
+ use_ellipses="true"
+ width="170">
(unknown)
</text>
<text
@@ -348,11 +351,10 @@ supports [AMOUNT2] objects
follows="left|top"
height="12"
layout="topleft"
- left="500"
name="covenant_timestamp_text"
- right="725"
+ right="-15"
top="175"
- width="275"
+ width="281"
word_wrap="true" />
<text_editor
type="string"
diff --git a/indra/newview/skins/default/xui/en/floater_model_wizard.xml b/indra/newview/skins/default/xui/en/floater_model_wizard.xml
index b5a5ff5342..3d16ccbc45 100644
--- a/indra/newview/skins/default/xui/en/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/en/floater_model_wizard.xml
@@ -108,7 +108,7 @@
height="22"
top_pad="15"
width="505"
- name="header_panel"
+ name="choose_file_header_panel"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true"
@@ -117,7 +117,7 @@
width="200"
left="10"
top="3"
- name="header_text"
+ name="choose_file_header_text"
text_color="White"
height="10"
font="SansSerifBig"
@@ -130,7 +130,7 @@
left="15"
height="310"
width="505"
- name="content"
+ name="choose_file_content_panel"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
@@ -163,7 +163,7 @@
height="10"
layout="topleft"
left_delta="0"
- name="Cache location"
+ name="choose_model_file_label"
width="320">
Choose model file to upload
</text>
@@ -199,7 +199,7 @@
height="10"
layout="topleft"
left="10"
- name="Cache location"
+ name="support_collada_text"
width="320">
Second Life supports COLLADA (.dae) files
</text>
@@ -221,6 +221,7 @@
width="130"
height="14"
left_delta="0"
+ name="dimensions_label"
text_color="White"
word_wrap="true">
Dimensions (meters):
@@ -287,7 +288,7 @@
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="optimize_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -296,7 +297,7 @@
<text
width="200"
left="10"
- name="header_text"
+ name="optimize_header_text"
top="3"
text_color="White"
height="10"
@@ -311,7 +312,7 @@
height="20"
font="SansSerifSmall"
layout="topleft"
- name="description"
+ name="optimize_hint"
word_wrap="true"
left_delta="5">
We have optimized the model for performance. Adjust it further if you wish.
@@ -322,11 +323,12 @@
left="15"
height="270"
width="505"
- name="content"
+ name="optimize_content_panel"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
<text
+ name="generating_lod_label"
top="20"
width="300"
height="12"
@@ -401,12 +403,12 @@
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
- <text top="69" left="10" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Performance</text>
- <text top="85" left="10" width="120" word_wrap="true" font="SansSerifSmall" height="40">Faster rendering
+ <text name="optimize_performance_text" top="69" left="10" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Performance</text>
+ <text name="optimize_faster_rendering_text" top="85" left="10" width="120" word_wrap="true" font="SansSerifSmall" height="40">Faster rendering
Less detail
Lower prim weight</text>
- <text top="69" left="184" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Accuracy</text>
- <text top="85" left="184" width="120" word_wrap="true" font="SansSerifSmall" height="40">Slower rendering
+ <text name="optimize_accuracy_text" top="69" left="184" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Accuracy</text>
+ <text name="optimize_slower_rendering_text" top="85" left="184" width="120" word_wrap="true" font="SansSerifSmall" height="40">Slower rendering
More detail
Higher prim weight</text>
@@ -424,21 +426,24 @@ Higher prim weight</text>
top="130"
width="290" />
<text
- font="SansSerifSmall"
+ font="SansSerifSmall"
+ name="accuracy_slider_mark1"
top_pad="0"
width="5"
left_delta="6"
height="4">'
</text>
<text
- font="SansSerifSmall"
+ font="SansSerifSmall"
+ name="accuracy_slider_mark2"
top_delta="0"
width="5"
left_delta="137"
height="4">'
</text>
<text
- font="SansSerifSmall"
+ font="SansSerifSmall"
+ name="accuracy_slider_mark3"
top_delta="0"
width="5"
left_delta="137"
@@ -454,7 +459,7 @@ Higher prim weight</text>
top_pad="15"
width="150">
</button>
- <text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="lod_label">
+ <text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="geometry_preview_label">
Geometry preview
</text>
<panel
@@ -471,16 +476,16 @@ Higher prim weight</text>
</panel>
<combo_box left_delta="75" top_pad="10" follows="left|top" list_position="below" height="22"
name="preview_lod_combo" width="110" tool_tip="LOD to view in preview render">
- <combo_item name="high">
+ <combo_item name="preview_lod_high">
High detail
</combo_item>
- <combo_item name="medium">
+ <combo_item name="preview_lod_medium">
Medium detail
</combo_item>
- <combo_item name="low">
+ <combo_item name="preview_lod_low">
Low detail
</combo_item>
- <combo_item name="lowest">
+ <combo_item name="preview_lod_lowest">
Lowest detail
</combo_item>
</combo_box>
@@ -497,7 +502,7 @@ Higher prim weight</text>
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="physics_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -506,7 +511,7 @@ Higher prim weight</text>
<text
width="200"
left="10"
- name="header_text"
+ name="physics_header_text"
top="3"
height="10"
font="SansSerifBig"
@@ -521,7 +526,7 @@ Higher prim weight</text>
height="50"
font="SansSerifSmall"
layout="topleft"
- name="description"
+ name="physics_hint"
word_wrap="true"
left_delta="5">
We will create a shape for the outer hull of the model. Adjust the shape's detail level as needed for the intended purpose of your model.
@@ -531,16 +536,16 @@ Higher prim weight</text>
left="15"
height="270"
width="505"
- name="content"
+ name="physics_content_panel"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
- <text top="10" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Performance</text>
- <text top="26" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Faster rendering
+ <text name="physics_performance_text" top="10" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Performance</text>
+ <text name="physics_faster_rendering_text" top="26" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Faster rendering
Less detail
Lower prim weight</text>
- <text top="174" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Accuracy</text>
- <text top="190" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Slower rendering
+ <text name="physics_accuracy_text" top="174" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Accuracy</text>
+ <text name="physics_slower_dendering_text" top="190" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Slower rendering
More detail
Higher prim weight</text>
@@ -558,15 +563,15 @@ Higher prim weight</text>
show_text="false"
top="25"
width="22" />
- <text top="10" width="120" word_wrap="true" left_pad="10" height="50">Examples:
+ <text name="physics_example_1" top="10" width="120" word_wrap="true" left_pad="10" height="50">Examples:
Moving objects
Flying objects
Vehicles</text>
- <text top="95" width="120" word_wrap="true" left_delta="0" height="50">Examples:
+ <text name="physics_example_2" top="95" width="120" word_wrap="true" left_delta="0" height="50">Examples:
Small static objects
Less detailed objects
Simple furniture</text>
- <text top="180" width="120" word_wrap="true" left_delta="0" height="50">Examples:
+ <text name="physics_example_3" top="180" width="120" word_wrap="true" left_delta="0" height="50">Examples:
Static objects
Detailed objects
Buildings</text>
@@ -592,7 +597,7 @@ Buildings</text>
visible="false"
width="150">
</button>
- <text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="lod_label">
+ <text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="physics_preview_label">
Physics preview
</text>
<panel
@@ -609,16 +614,16 @@ Buildings</text>
</panel>
<combo_box left_delta="75" top_pad="10" follows="left|top" list_position="below" height="22"
name="preview_lod_combo2" width="110" tool_tip="LOD to view in preview render">
- <combo_item name="high">
+ <combo_item name="preview_lod2_high">
High detail
</combo_item>
- <combo_item name="medium">
+ <combo_item name="preview_lod2_medium">
Medium detail
</combo_item>
- <combo_item name="low">
+ <combo_item name="preview_lod2_low">
Low detail
</combo_item>
- <combo_item name="lowest">
+ <combo_item name="preview_lod2_lowest">
Lowest detail
</combo_item>
</combo_box>
@@ -635,7 +640,7 @@ Buildings</text>
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="review_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -644,7 +649,7 @@ Buildings</text>
<text
width="200"
left="10"
- name="header_text"
+ name="review_header_text"
text_color="White"
top="3"
height="10"
@@ -658,7 +663,7 @@ Buildings</text>
left="15"
height="310"
width="505"
- name="content"
+ name="review_content_panel"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
@@ -706,7 +711,7 @@ Buildings</text>
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="upload_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -715,7 +720,7 @@ Buildings</text>
<text
width="200"
left="10"
- name="header_text"
+ name="upload_header_text"
top="3"
text_color="White"
height="10"
diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml
index 41a440aaa0..f526970ad0 100644
--- a/indra/newview/skins/default/xui/en/floater_openobject.xml
+++ b/indra/newview/skins/default/xui/en/floater_openobject.xml
@@ -22,6 +22,7 @@
layout="topleft"
left="10"
name="object_name"
+ parse_urls="false"
top="20"
width="284">
[DESC]:
diff --git a/indra/newview/skins/default/xui/en/floater_voice_effect.xml b/indra/newview/skins/default/xui/en/floater_voice_effect.xml
index 9bf9cc6c77..2c754cd8d0 100644
--- a/indra/newview/skins/default/xui/en/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/en/floater_voice_effect.xml
@@ -25,6 +25,46 @@
<string name="new_voice_effect">
(New!)
</string>
+
+ <!-- effect names begin -->
+ <string name="effect_Arena">Arena</string>
+ <string name="effect_Beast">Beast</string>
+ <string name="effect_Buff">Buff</string>
+ <string name="effect_Buzz">Buzz</string>
+ <string name="effect_Camille">Camille</string>
+ <string name="effect_Creepy">Creepy</string>
+ <string name="effect_CreepyBot">CreepyBot</string>
+ <string name="effect_Cyber">Cyber</string>
+ <string name="effect_DeepBot">DeepBot</string>
+ <string name="effect_Demon">Demon</string>
+ <string name="effect_Flirty">Flirty</string>
+ <string name="effect_Foxy">Foxy</string>
+ <string name="effect_Halloween_2010_Bonus">Halloween_2010_Bonus</string>
+ <string name="effect_Helium">Helium</string>
+ <string name="effect_Husky">Husky</string>
+ <string name="effect_Intercom">Intercom</string>
+ <string name="effect_Macho">Macho</string>
+ <string name="effect_Micro">Micro</string>
+ <string name="effect_Mini">Mini</string>
+ <string name="effect_Nano">Nano</string>
+ <string name="effect_Nightmare">Nightmare</string>
+ <string name="effect_PopBot">PopBot</string>
+ <string name="effect_Rachel">Rachel</string>
+ <string name="effect_Radio">Radio</string>
+ <string name="effect_Robot">Robot</string>
+ <string name="effect_Roxanne">Roxanne</string>
+ <string name="effect_Sabrina">Sabrina</string>
+ <string name="effect_Samantha">Samantha</string>
+ <string name="effect_Sexy">Sexy</string>
+ <string name="effect_Shorty">Shorty</string>
+ <string name="effect_Sneaky">Sneaky</string>
+ <string name="effect_Stallion">Stallion</string>
+ <string name="effect_Sultry">Sultry</string>
+ <string name="effect_Thunder">Thunder</string>
+ <string name="effect_Vixen">Vixen</string>
+ <string name="effect_WhinyBot">WhinyBot</string>
+ <!-- effect names end -->
+
<text
height="16"
word_wrap="true"
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 4bcb4dd88f..36a2d07409 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -1855,7 +1855,7 @@ Prova ad accedere nuovamente tra un minuto.
<string name="RegionNoCovenantOtherOwner">
Non esiste alcun regolamento per questa proprietà. Il terreno di questa proprietà è messo in vendita dal proprietario, non dalla Linden Lab. Contatta il proprietario del terreno per i dettagli della vendita.
</string>
- <string name="covenant_last_modified" value="Ultima modifica:"/>
+ <string name="covenant_last_modified" value="Ultima modifica: "/>
<string name="none_text" value="(nessuno)"/>
<string name="never_text" value="(mai)"/>
<string name="GroupOwned">
diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml
index e9db237e82..ca6b8eb521 100644
--- a/indra/newview/skins/default/xui/nl/strings.xml
+++ b/indra/newview/skins/default/xui/nl/strings.xml
@@ -1300,9 +1300,7 @@
<string name="RegionNoCovenantOtherOwner">
There is no Covenant provided for this Estate. The land on this estate is being sold by the Estate owner, not Linden Lab. Please contact the Estate Owner for sales details.
</string>
- <string name="covenant_last_modified">
- Laatst bewerkt:
- </string>
+ <string name="covenant_last_modified" value="Laatst bewerkt: " />
<string name="none_text" value="(none)"/>
<string name="never_text" value="(never)"/>
<string name="GroupOwned">
diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml
index e93da48dc0..6a8309cca5 100644
--- a/indra/newview/skins/default/xui/pl/strings.xml
+++ b/indra/newview/skins/default/xui/pl/strings.xml
@@ -1695,7 +1695,7 @@
<string name="RegionNoCovenantOtherOwner">
Brak umowy dla tego majątku. Każda posiadłość w tym majątku została sprzedana przez właściciela majątku nie Linden Lab. Skontaktuj się z właścicielem majątku w celu uzuskania szczegółów sprzedaży.
</string>
- <string name="covenant_last_modified" value="Ostatnio modyfikowano:"/>
+ <string name="covenant_last_modified" value="Ostatnio modyfikowano: "/>
<string name="none_text" value=" (żadne) "/>
<string name="never_text" value=" (nigdy) "/>
<string name="GroupOwned">
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 3b3b7041d7..73b954d79d 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -1810,7 +1810,7 @@ Titulares de contas gratuitas não poderão acessar o Second Life para acomodar
<string name="RegionNoCovenantOtherOwner">
Não foi definido um contrato para essa Região. O terreno nesta região está sendo vendido pelo Proprietário, não pela Linden Lab. Favor contatar o Proprietário da região para detalhes de venda.
</string>
- <string name="covenant_last_modified" value="Última modificação:"/>
+ <string name="covenant_last_modified" value="Última modificação: "/>
<string name="none_text" value="(nenhum)"/>
<string name="never_text" value="(nunca)"/>
<string name="GroupOwned">
diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml
index 28b8cce5b2..53f997017d 100644
--- a/indra/newview/skins/default/xui/zh/strings.xml
+++ b/indra/newview/skins/default/xui/zh/strings.xml
@@ -1728,7 +1728,7 @@
<string name="RegionNoCovenantOtherOwner">
There is no Covenant provided for this Estate. The land on this estate is being sold by the Estate owner, not Linden Lab. Please contact the Estate Owner for sales details.
</string>
- <string name="covenant_last_modified" value="Last Modified:"/>
+ <string name="covenant_last_modified" value="Last Modified: "/>
<string name="none_text" value="(無)"/>
<string name="never_text" value="(絕不)"/>
<string name="GroupOwned">
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 34565835e9..cd9d52cb85 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -31,6 +31,7 @@ import os.path
import re
import tarfile
import time
+import random
viewer_dir = os.path.dirname(__file__)
# add llmanifest library to our path so we don't have to muck with PYTHONPATH
sys.path.append(os.path.join(viewer_dir, '../lib/python/indra/util'))
@@ -62,6 +63,26 @@ class ViewerManifest(LLManifest):
# include the entire shaders directory recursively
self.path("shaders")
+ # include the extracted list of contributors
+ contributor_names = self.extract_names("../../doc/contributions.txt")
+ self.put_in_file(contributor_names, "contributors.txt")
+ # include the extracted list of translators
+ translator_names = self.extract_names("../../doc/translations.txt")
+ self.put_in_file(translator_names, "translators.txt")
+ # include the list of Lindens (if any)
+ # see https://wiki.lindenlab.com/wiki/Generated_Linden_Credits
+ linden_names_path = os.getenv("linden_credits")
+ if linden_names_path :
+ try:
+ linden_file = open(linden_names_path,'r')
+ # all names should be one line, but the join below also converts to a string
+ linden_names = ', '.join(linden_file.readlines())
+ self.put_in_file(linden_names, "lindens.txt")
+ linden_file.close()
+ except IOError:
+ print "No Linden names found at '%s', using built-in list" % linden_names_path
+ pass
+
# ... and the entire windlight directory
self.path("windlight")
self.end_prefix("app_settings")
@@ -147,10 +168,11 @@ class ViewerManifest(LLManifest):
icon_path="icons/"
channel_type=self.channel_lowerword()
if channel_type == 'release' \
- or channel_type == 'beta' \
or channel_type == 'development' \
:
icon_path += channel_type
+ elif channel_type == 'betaviewer' :
+ icon_path += 'beta'
elif re.match('project.*',channel_type) :
icon_path += 'project'
else :
@@ -188,6 +210,28 @@ class ViewerManifest(LLManifest):
return " ".join((channel_flags, grid_flags, setting_flags)).strip()
+ def extract_names(self,src):
+ try:
+ contrib_file = open(src,'r')
+ except IOError:
+ print "Failed to open '%s'" % src
+ raise
+ lines = contrib_file.readlines()
+ contrib_file.close()
+
+ # All lines up to and including the first blank line are the file header; skip them
+ lines.reverse() # so that pop will pull from first to last line
+ while not re.match("\s*$", lines.pop()) :
+ pass # do nothing
+
+ # A line that starts with a non-whitespace character is a name; all others describe contributions, so collect the names
+ names = []
+ for line in lines :
+ if re.match("\S", line) :
+ names.append(line.rstrip())
+ # It's not fair to always put the same people at the head of the list
+ random.shuffle(names)
+ return ', '.join(names)
class WindowsManifest(ViewerManifest):
def final_exe(self):