diff options
30 files changed, 656 insertions, 111 deletions
@@ -157,6 +157,10 @@ e1ed60913230dd64269a7f7fc52cbc6004f6d52c 2.8.0-beta1 493d9127ee50e84ba08a736a65a23ca86f7a5b01 2.8.0-release 2c7e459e0c883f8e406b932e41e60097e9ee077e DRTVWR-73_2.8.1-beta1 2c7e459e0c883f8e406b932e41e60097e9ee077e 2.8.1-beta1 +29e93d7e19991011bd12b5748142b11a5dcb4370 DRTVWR-72_2.8.1-release +29e93d7e19991011bd12b5748142b11a5dcb4370 2.8.1-release +4780e3bd2b3042f91be3426151f28c30d199bb3b DRTVWR-76_2.8.1-hotfix +4780e3bd2b3042f91be3426151f28c30d199bb3b 2.8.1-hotfix 54bc7823ad4e3a436fef79710f685a7372bbf795 2.8.2-start 29e93d7e19991011bd12b5748142b11a5dcb4370 DRTVWR-72_2.8.1-release 29e93d7e19991011bd12b5748142b11a5dcb4370 2.8.1-release diff --git a/BuildParams b/BuildParams index 5250dab03c..10d16ff7d7 100755 --- a/BuildParams +++ b/BuildParams @@ -154,6 +154,8 @@ oz_project-4.codeticket_add_context = false oz_viewer-beta-review.build_debug_release_separately = true oz_viewer-beta-review.codeticket_add_context = false +oz_viewer-beta-review.viewer_channel = "Second Life Beta Viewer" +oz_viewer-beta-review.login_channel = "Second Life Beta Viewer" oz_viewer-poreview.build_debug_release_separately = true oz_viewer-poreview.codeticket_add_context = false diff --git a/doc/contributions.txt b/doc/contributions.txt index b7be56e6c3..0cdf37d72f 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1,8 +1,8 @@ -Linden Lab would like to acknowledge source code contributions from the +Linden Lab would like to acknowledge contributions from the following residents. The Second Life resident name is given below, -along with the issue identifier corresponding to the patches we've -received from them. +along with the issue identifiers to which they have contributed. +45ms Zhong Able Whitman VWR-650 VWR-1460 @@ -11,10 +11,14 @@ Able Whitman VWR-1813 Adam Marker VWR-2755 +Adeon Writer +Aeonix Aeon Agathos Frascati CT-246 CT-317 CT-352 +Ai Austin +Aiko Ying Aimee Trescothick SNOW-227 SNOW-570 @@ -154,14 +158,18 @@ Alissa Sabre VWR-12620 VWR-12789 SNOW-322 +Alliez Mysterio Angus Boyd VWR-592 Ann Congrejo CT-193 +Annie Milestone +Annika Genezzia Ansariel Hiller STORM-1101 VWR-25480 VWR-26150 +Aralara Rajal Ardy Lay STORM-859 VWR-19499 @@ -170,16 +178,30 @@ Argent Stonecutter VWR-68 Armin Weatherwax VWR-8436 +ArminasX Saiman +Arya Braveheart +Asaeda Meltingdots +Asturkon Jua Asuka Neely VWR-3434 VWR-8179 +Aura Dirval +Avallyn Oakleaf +Avatar Quinzet +BabyA Littlething +Bacchus Ireto Balp Allen VWR-4157 +Bazaar Be Holder SNOW-322 SNOW-397 +Beansy Twine Benja Kepler VWR-746 +Benjamin Bigdipper +Beth Walcher +Bezilon Kasei Biancaluce Robbiani CT-225 CT-226 @@ -190,6 +212,7 @@ Biancaluce Robbiani CT-231 CT-321 CT-352 +Bill Walach Blakar Ogre VWR-418 VWR-881 @@ -199,6 +222,8 @@ Blakar Ogre VWR-2164 blino Nakamura VWR-17 +Blitzckreed Levenque +Borg Capalini Boroondas Gupte OPEN-29 OPEN-39 @@ -220,7 +245,10 @@ Boroondas Gupte VWR-23455 VWR-24487 VWR-26066 + VWR-26458 WEB-262 +Bryn Oh +Buckaroo Mu Bulli Schumann CT-218 CT-219 @@ -235,6 +263,9 @@ Bulli Schumann bushing Spatula VWR-119 VWR-424 +blakopal Galicia +Callipygian Christensen +Cap Carver Carjay McGinnis VWR-3737 VWR-4070 @@ -242,37 +273,64 @@ Carjay McGinnis VWR-6154 VWR-9400 VWR-9620 +Carla Broek +Carr Arbenlow Catherine Pfeffer VWR-1282 VWR-8624 VWR-10854 +Cayu Cluny Celierra Darling VWR-1274 VWR-6975 +Chantal Harvey +Charles Courtois +Charlie Sazaland +Cherry Cheevers +ChickyBabes Zuzu +Christopher Organiser +Ciaran Laval +Clara Young Coaldust Numbers VWR-1095 +Colpo Wexler +Corinne Helendale +Corro Moseley +Coughdrop Littlething Cron Stardust VWR-10579 VWR-25120 STORM-1075 Cypren Christenson STORM-417 +Dante Tucker Dale Glass VWR-120 VWR-560 VWR-2502 VWR-1358 VWR-2041 +Darien Caldwell +Dartagan Shepherd +Debs Regent +Decro Schmooz +Denim Kamachi +DiJodi Dubratt +Dil Spitz +Dimitrio Lewis +Dirk Draconis Neurocam STORM-1259 Drew Dri VWR-19683 +Drew Dwi Drewan Keats VWR-28 VWR-248 VWR-412 VWR-638 VWR-660 +Dusan Writer Dylan Haskell VWR-72 Dzonatas Sol @@ -295,28 +353,51 @@ Eddy Stryker VWR-23 VWR-1468 VWR-1475 +Edgware Marker +Egehan Dryke +Ellla McMahon +Elric Anatine +Emma Portilo +Emmie Fairymeadow EponymousDylan Ra VWR-1289 VWR-1465 Eva Nowicka CT-324 CT-352 +Eva Rau +Evangelista Emerald +Faelon Swordthain Farallon Greyskin VWR-2036 Feep Larsson VWR-447 VWR-1314 VWR-4444 +Fiachra Lach Flemming Congrejo CT-193 CT-318 +Flower Ducatillon Fluf Fredriksson VWR-3450 Fremont Cunningham VWR-1147 +FreeSL Aeon +Frenchimmo Sabra +Frontera Thor +Fury Rosewood +Gaberoonie Zanzibar +Ganymedes Costagravas +Gene Frostbite +GeneJ Composer Geneko Nemeth CT-117 VWR-11069 +Gentle Heron +Gentle Welinder +gwampa Lomu +Giggles Littlebird Gigs Taggart SVC-493 VWR-6 @@ -342,20 +423,31 @@ Gigs Taggart VWR-8783 Ginko Bayliss VWR-4 +Grady Echegaray Grazer Kline VWR-1092 VWR-2113 Gudmund Shepherd VWR-1594 VWR-1873 +Guni Greenstein +Gwyneth Llewelyn +Gypsy Tripsa +Hackshaven Harford +Ham Rambler Hamncheese Omlet VWR-333 +Han Shuffle +Hanglow Short HappySmurf Papp CT-193 +Harleen Gretzky +Hatzfeld Runo Henri Beauchamp VWR-1320 VWR-1406 VWR-4157 +herina Bode Hikkoshi Sakai VWR-429 Hiro Sommambulist @@ -368,23 +460,33 @@ Hiro Sommambulist VWR-132 VWR-136 VWR-143 +Holger Gilruth +Horatio Freund Hoze Menges VWR-255 +Hydra Shaftoe +Hypatia Callisto +Hypatia Pickens Ian Kas VWR-8780 (Russian localization) [NO JIRA] (Ukranian localization) CT-322 CT-325 +Identity Euler Ima Mechanique OPEN-50 OPEN-61 STORM-1175 +Imnotgoing Sideways +Inma Rau +Innula Zenovka Irene Muni CT-324 CT-352 Iskar Ariantho VWR-1223 VWR-11759 +Iyoba Tarantal Jacek Antonelli SNOW-388 VWR-165 @@ -398,9 +500,18 @@ Jacek Antonelli VWR-2948 VWR-3605 VWR-8617 +Jack Abraham +Jagga Meredith JB Kraft VWR-5283 VWR-7802 +Jennifer Boyle +Jeremy Marquez +Jessica Qin +Jinx Nordberg +Jo Bernandes +Jocial Sonnenkern +Joel Savard Joghert LeSabre VWR-64 Jonathan Yap @@ -456,17 +567,31 @@ Jonathan Yap STORM-1459 Kadah Coba STORM-1060 +Jondan Lundquist +Josef Munster +Josette Windlow +Juilan Tripsa +Juro Kothari +Justin RiversRunRed Kage Pixel VWR-11 +Kagehi Kohn +Kaimen Takahe +Keklily Longfall +Ken Lavender Ken March CT-245 +Kestral Karas Kerutsen Sellery VWR-1350 +Khisme Nitely Khyota Wulluf VWR-2085 VWR-8885 VWR-9256 VWR-9966 +Kimar Coba +Kithrak Kirkorian Kitty Barnett VWR-19699 STORM-288 @@ -475,6 +600,9 @@ Kitty Barnett STORM-1001 STORM-1175 VWR-24217 +Kolor Fall +Komiko Okamoto +Korvel Noh Kunnis Basiat VWR-82 VWR-102 @@ -484,6 +612,7 @@ Latif Khalifa VWR-5370 leliel Mirihi STORM-1100 +len Starship Lisa Lowe CT-218 CT-219 @@ -495,16 +624,40 @@ Lisa Lowe CT-319 Lockhart Cordoso VWR-108 +LSL Scientist +Lamorna Proctor +Lares Carter +Larry Pixel +Laurent Bechir +Leal Choche +Lenae Munz +Lexi Frua +Lillie Cordeaux +Lilly Zenovka +Lizzy Macarthur +Luban Yiyuan +Luc Starsider +Lunita Savira +Maccus McCullough maciek marksman CT-86 +Madison Blanc +Maggie Darwin Magnus Balczo CT-138 +Malarthi Behemoth +Mallory Destiny Malwina Dollinger CT-138 +Manx Wharton march Korda SVC-1020 +Marc Claridge +Marc2 Sands +Marianne McCann Marine Kelley STORM-281 +Matthew Anthony Matthew Dowd VWR-1344 VWR-1651 @@ -512,6 +665,8 @@ Matthew Dowd VWR-1737 VWR-1761 VWR-2681 +Matto Destiny +Maxim RiversRunRed McCabe Maxsted SNOW-387 VWR-1318 @@ -525,6 +680,10 @@ McCabe Maxsted VWR-8454 VWR-8689 VWR-9007 +Medhue Simoni +Mel Vanbeeck +Melinda Latynina +Mencius Watts Michelle2 Zenovka STORM-477 VWR-2652 @@ -543,6 +702,12 @@ Michelle2 Zenovka VWR-8310 VWR-9499 STORM-1060 +Michi Lumin +Midian Farspire +Miles Glaz +Mindy Mathy +Minerva Memel +Mitch Wagner Mm Alder SNOW-376 VWR-197 @@ -550,8 +715,20 @@ Mm Alder VWR-4232 VWR-4794 VWR-13578 +Mo Hax +Mourna Biziou Mr Greggan VWR-445 +Nao Noe +naofan Teardrop +Naomah Beaumont +Nathiel Siamendes +Nber Medici +Neko Link +Netpat Igaly +Neutron Chesnokov +Newfie Pendragon +Nicholai Laviscu Nicholaz Beresford VWR-132 VWR-176 @@ -622,12 +799,19 @@ Nicholaz Beresford VWR-2412 VWR-2682 VWR-2684 +Nick Rhodes Nicky Perian OPEN-1 STORM-1087 STORM-1090 +Nicoladie Gymnast Nounouch Hapmouche VWR-238 +Ollie Kubrick +Orenj Marat +Orion Delphis +Oryx Tempel +Parvati Silverweb Patric Mills VWR-2645 Paul Churchill @@ -650,6 +834,9 @@ Peekay Semyorka VWR-79 Peter Lameth VWR-7331 +PeterPunk Mooney +Pixel Gausman +Pixel Scientist Pf Shan CT-225 CT-226 @@ -660,15 +847,29 @@ Pf Shan CT-231 CT-321 SNOW-422 +Polo Gufler +Pounce Teazle princess niven VWR-5733 CT-85 CT-320 CT-352 +Professor Noarlunga +Psi Merlin +Quantum Destiny +Questar Utu +Quicksilver Hermes +RAT Quan +Radio Signals +Ralf Setsuko +RedMokum Bravin Renault Clio VWR-1976 resu Ampan SNOW-93 +Revolution Perenti +Rezit Sideways +Rich Grainger Ringo Tuxing CT-225 CT-226 @@ -678,6 +879,7 @@ Ringo Tuxing CT-230 CT-231 CT-321 +Riva Robin Cornelius SNOW-108 SNOW-204 @@ -709,9 +911,17 @@ Robin Cornelius VWR-12763 VWR-12995 VWR-20911 +Rosco Teardrop +Rose Evans +Rudee Voom +RufusTT Horsefly Ryozu Kojima VWR-53 VWR-287 +Sachi Vixen +Sahkolihaa Contepomi +Saii Hallard +SaintLEOlions Zimer Salahzar Stenvaag CT-225 CT-226 @@ -721,11 +931,15 @@ Salahzar Stenvaag CT-230 CT-231 CT-321 +Samm Larkham Sammy Frederix VWR-6186 +Sasy Scarborough +Satanello Miami Satomi Ahn STORM-501 STORM-229 +Scrim Pinion Scrippy Scofield VWR-3748 Seg Baphomet @@ -745,11 +959,16 @@ Sergen Davies CT-230 CT-231 CT-321 +SexySteven Morrisey Shawn Kaufmat SNOW-240 +Sheet Spotter +Shnurui Troughton Siana Gearz STORM-960 STORM-1088 +sicarius Thorne +Sicarius Toxx SignpostMarv Martin VWR-153 VWR-154 @@ -759,6 +978,10 @@ SignpostMarv Martin VWR-8357 Simon Nolan VWR-409 +Sini Nubalo +Sitearm Madonna +SLB Wirefly +snowy Sidran SpacedOut Frye VWR-34 VWR-45 @@ -771,8 +994,13 @@ SpacedOut Frye VWR-1823 Sporked Friis VWR-4903 +Soupa Segura +Squirrel Wood +ST Mensing +Starshine Halasy Stevex Janus VWR-1182 +Stickman Ingmann Still Defiant VWR-207 VWR-227 @@ -788,8 +1016,13 @@ Strife Onizuka VWR-2265 VWR-4111 SNOW-691 +Sudane Erato +Synystyr Texan +Takeda Terrawyng TankMaster Finesmith STORM-1100 +Talamasca +Tali Rosca Tayra Dagostino SNOW-517 SNOW-543 @@ -820,8 +1053,10 @@ Techwolf Lupindo SNOW-746 VWR-12385 VWR-20893 +Templar Merlin tenebrous pau VWR-247 +Tezcatlipoca Bisiani Tharax Ferraris VWR-605 Thickbrick Sleaford @@ -844,16 +1079,23 @@ Thickbrick Sleaford Thraxis Epsilon SVC-371 VWR-383 +Tiel Stonecutter tiamat bingyi CT-246 Tofu Buzzard CTS-411 STORM-546 VWR-24509 +Tony Kembia +Torben Trautman +TouchaHoney Perhaps TraductoresAnonimos Alter CT-324 +Trey Reanimator TriloByte Zanzibar STORM-1100 +Trinity Dechou +Trinity Dejavu Tue Torok CT-68 CT-69 @@ -869,13 +1111,26 @@ Twisted Laws STORM-643 STORM-954 STORM-1103 +Unlikely Quintessa +UsikuFarasi Kanarik Vadim Bigbear VWR-2681 Vector Hastings VWR-8726 +Veritas Raymaker +Vex Streeter +Viaticus Speculaas +Vick Forcella +Villain Baroque Vixen Heron VWR-2710 CT-88 +Vixie Durant +Void Singer +Watty Berkson +Westley Schridde +Westley Streeter +Whimsy Winx Whoops Babii VWR-631 VWR-1640 @@ -901,6 +1156,7 @@ Whoops Babii VWR-8296 VWR-8297 VWR-8298 +Winter Ventura Wilton Lundquist VWR-7682 WolfPup Lowenhar @@ -925,18 +1181,34 @@ WolfPup Lowenhar STORM-1098 VWR-20741 VWR-20933 +Wundur Primbee +Xiki Luik +xstorm Radek +YongYong Francois +Zak Westminster Zai Lynch VWR-19505 +Zana Kohime +Zaren Alexander Zarkonnen Decosta VWR-253 +Zeja Pyle +ZenMondo Wormser Zi Ree + SH-489 VWR-423 VWR-671 VWR-682 VWR-684 VWR-9127 VWR-1140 + VWR-24017 + VWR-25588 Zipherius Turas VWR-76 VWR-77 +Zoex Flanagan + + + diff --git a/doc/translations.txt b/doc/translations.txt new file mode 100644 index 0000000000..c9cfc1cdeb --- /dev/null +++ b/doc/translations.txt @@ -0,0 +1,26 @@ +#List of translators who contribute to SL Viewer 2.0+ and SL web translation by language + + Danish +Flemming Congrejo + French +Valerie Linden + Polish +Identity Euler + Portuguese +Zaza Linden + Spanish +Aralara Rajal +Aura Dirval +Cayu Cluny +Eva Rau +FreeSL Aeon +Frontera Thor +Inma Rau +Irene Muni +Lunita Savira +Minerva Memel +Polo Gufler +Xiki Luik +Perez Linden + Traditional Chinese +gefeit Dufaux diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp index f470e1b2a5..ab91f74abe 100644 --- a/indra/llmessage/lltemplatemessagereader.cpp +++ b/indra/llmessage/lltemplatemessagereader.cpp @@ -795,7 +795,7 @@ const char* LLTemplateMessageReader::getMessageName() const { if (!mCurrentRMessageTemplate) { - llwarns << "no mCurrentRMessageTemplate" << llendl; + // no message currently being read return ""; } return mCurrentRMessageTemplate->mName; diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 180ae4dfa6..607473d416 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -189,6 +189,9 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons origin.mV[VX] -= llround((F32)sCurOrigin.mX) - (sCurOrigin.mX); origin.mV[VY] -= llround((F32)sCurOrigin.mY) - (sCurOrigin.mY); + // Depth translation, so that floating text appears 'inworld' + // and is correclty occluded. + gGL.translatef(0.f,0.f,sCurOrigin.mZ); S32 chars_drawn = 0; S32 i; 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): |