From 2f10bcf5f57e2cc3f470492fef5f4ea939c458b8 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 3 Aug 2010 12:13:50 -0700 Subject: fix for unit test asserts --- indra/newview/llmediadataclient.cpp | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp index 1de9d1c9b0..ec185bc790 100755 --- a/indra/newview/llmediadataclient.cpp +++ b/indra/newview/llmediadataclient.cpp @@ -265,13 +265,16 @@ void LLMediaDataClient::trackRequest(request_ptr_t request) { request_set_t::iterator iter = mUnQueuedRequests.lower_bound(request); - if(*iter == request) + if (iter != mUnQueuedRequests.end()) { - LL_WARNS("LLMediaDataClient") << "Tracking already tracked request: " << *request << LL_ENDL; - } - else - { - mUnQueuedRequests.insert(iter, request); + if(*iter == request) + { + LL_WARNS("LLMediaDataClient") << "Tracking already tracked request: " << *request << LL_ENDL; + } + else + { + mUnQueuedRequests.insert(iter, request); + } } } @@ -279,13 +282,16 @@ void LLMediaDataClient::stopTrackingRequest(request_ptr_t request) { request_set_t::iterator iter = mUnQueuedRequests.find(request); - if(*iter == request) + if (iter != mUnQueuedRequests.end()) { - mUnQueuedRequests.erase(iter); - } - else - { - LL_WARNS("LLMediaDataClient") << "Removing an untracked request: " << *request << LL_ENDL; + if(*iter == request) + { + mUnQueuedRequests.erase(iter); + } + else + { + LL_WARNS("LLMediaDataClient") << "Removing an untracked request: " << *request << LL_ENDL; + } } } -- cgit v1.2.3 From 4b00b988445ae562b2bc203479d7fd42ce5891d8 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk <vsavchuk@productengine.com> Date: Tue, 3 Aug 2010 23:28:51 +0300 Subject: EXT-8534 FIXED Fixed the 'Wear' in My Outfits being disabled for outfits consisting of body parts only. Changed the condition to enable the "Wear" button in My Outfits and the corresponding item in the outfit context menu. They now get enabled for any outfit that isn't the base outfit and contains non-worn wearables. By the way, did a minor cleanup: moved an LLAgentWearables.isCOFChangeInProgress() call to LLAppearanceMgr::getCanAddToCOF() to avoid code duplication. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/832/ --HG-- branch : product-engine --- indra/newview/llappearancemgr.cpp | 31 +++++++++++++++++++++++++++++++ indra/newview/llappearancemgr.h | 3 +++ indra/newview/lloutfitslist.cpp | 10 ++-------- 3 files changed, 36 insertions(+), 8 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 78edcb3e25..2729053390 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1275,6 +1275,11 @@ bool LLAppearanceMgr::getCanRemoveFromCOF(const LLUUID& outfit_cat_id) // static bool LLAppearanceMgr::getCanAddToCOF(const LLUUID& outfit_cat_id) { + if (gAgentWearables.isCOFChangeInProgress()) + { + return false; + } + LLInventoryModel::cat_array_t cats; LLInventoryModel::item_array_t items; LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); @@ -1286,6 +1291,32 @@ bool LLAppearanceMgr::getCanAddToCOF(const LLUUID& outfit_cat_id) return items.size() > 0; } +bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id) +{ + // Don't allow wearing anything while we're changing appearance. + if (gAgentWearables.isCOFChangeInProgress()) + { + return false; + } + + // Check whether it's the base outfit. + if (outfit_cat_id.isNull() || outfit_cat_id == getBaseOutfitUUID()) + { + return false; + } + + // Check whether the outfit contains any non-worn wearables. + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ true); + gInventory.collectDescendentsIf(outfit_cat_id, + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + return items.size() > 0; +} + void LLAppearanceMgr::purgeBaseOutfitLink(const LLUUID& category) { LLInventoryModel::cat_array_t cats; diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 9f554dbdef..eb495bd274 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -84,6 +84,9 @@ public: // Determine whether we can add anything (but body parts) from the outfit contents to COF. static bool getCanAddToCOF(const LLUUID& outfit_cat_id); + // Determine whether we can replace current outfit with the given one. + bool getCanReplaceCOF(const LLUUID& outfit_cat_id); + // Copy all items in a category. void shallowCopyCategoryContents(const LLUUID& src_id, const LLUUID& dst_id, LLPointer<LLInventoryCallback> cb); diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index 8147a97317..f921bca623 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -275,11 +275,10 @@ protected: } else if ("wear_replace" == param) { - return !gAgentWearables.isCOFChangeInProgress(); + return LLAppearanceMgr::instance().getCanReplaceCOF(outfit_cat_id); } else if ("wear_add" == param) { - if (gAgentWearables.isCOFChangeInProgress()) return false; return LLAppearanceMgr::getCanAddToCOF(outfit_cat_id); } else if ("take_off" == param) @@ -676,7 +675,7 @@ bool LLOutfitsList::isActionEnabled(const LLSD& userdata) } // outfit selected - return LLAppearanceMgr::getCanAddToCOF(mSelectedOutfitUUID); + return LLAppearanceMgr::instance().getCanReplaceCOF(mSelectedOutfitUUID); } if (command_name == "take_off") { @@ -689,11 +688,6 @@ bool LLOutfitsList::isActionEnabled(const LLSD& userdata) if (command_name == "wear_add") { // *TODO: do we ever get here? - if (gAgentWearables.isCOFChangeInProgress()) - { - return false; - } - return LLAppearanceMgr::getCanAddToCOF(mSelectedOutfitUUID); } -- cgit v1.2.3 From 4b2f46af401ff82bd397db3721826b12fab9162d Mon Sep 17 00:00:00 2001 From: Eli Linden <eli@lindenlab.com> Date: Tue, 3 Aug 2010 14:59:14 -0700 Subject: CT-575 WIP DE JA ES translation for set16 for Viewer 2.1.1 --- .../default/xui/de/floater_preview_gesture.xml | 7 +- .../skins/default/xui/de/floater_world_map.xml | 11 ++- indra/newview/skins/default/xui/de/menu_viewer.xml | 2 +- .../newview/skins/default/xui/de/notifications.xml | 7 +- .../skins/default/xui/de/panel_group_notices.xml | 2 +- .../skins/default/xui/de/panel_group_roles.xml | 3 + .../default/xui/de/panel_preferences_sound.xml | 10 ++- .../default/xui/de/panel_teleport_history.xml | 2 + .../skins/default/xui/de/sidepanel_item_info.xml | 9 +-- indra/newview/skins/default/xui/de/strings.xml | 89 +++++++++++++++++++++- .../default/xui/es/floater_preview_gesture.xml | 7 +- .../skins/default/xui/es/floater_world_map.xml | 11 ++- indra/newview/skins/default/xui/es/menu_viewer.xml | 2 +- .../newview/skins/default/xui/es/notifications.xml | 7 +- .../skins/default/xui/es/panel_group_notices.xml | 2 +- .../skins/default/xui/es/panel_group_roles.xml | 18 ++--- .../skins/default/xui/es/panel_nearby_media.xml | 6 +- .../default/xui/es/panel_preferences_sound.xml | 12 ++- .../default/xui/es/panel_teleport_history.xml | 3 +- .../skins/default/xui/es/sidepanel_item_info.xml | 17 ++--- indra/newview/skins/default/xui/es/strings.xml | 89 +++++++++++++++++++++- .../default/xui/ja/floater_preview_gesture.xml | 7 +- .../skins/default/xui/ja/floater_world_map.xml | 9 ++- indra/newview/skins/default/xui/ja/menu_viewer.xml | 2 +- .../newview/skins/default/xui/ja/notifications.xml | 7 +- .../skins/default/xui/ja/panel_group_notices.xml | 2 +- .../skins/default/xui/ja/panel_group_roles.xml | 3 + .../default/xui/ja/panel_preferences_sound.xml | 6 ++ .../default/xui/ja/panel_teleport_history.xml | 2 + .../skins/default/xui/ja/sidepanel_item_info.xml | 11 ++- indra/newview/skins/default/xui/ja/strings.xml | 89 +++++++++++++++++++++- 31 files changed, 378 insertions(+), 76 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml index 3a036fc441..c3c017ae97 100644 --- a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Bibliothek: </text> - <scroll_list name="library_list" width="166"/> + <scroll_list name="library_list" width="166"> + <scroll_list.rows name="action_animation" value="Animation"/> + <scroll_list.rows name="action_sound" value="Sound"/> + <scroll_list.rows name="action_chat" value="Chat"/> + <scroll_list.rows name="action_wait" value="Warten"/> + </scroll_list> <button label="Hinzufügen >>" left_pad="6" name="add_btn" width="94"/> <text name="steps_label"> Schritte: diff --git a/indra/newview/skins/default/xui/de/floater_world_map.xml b/indra/newview/skins/default/xui/de/floater_world_map.xml index f54d8c3328..befa46651a 100644 --- a/indra/newview/skins/default/xui/de/floater_world_map.xml +++ b/indra/newview/skins/default/xui/de/floater_world_map.xml @@ -22,12 +22,12 @@ <text name="land_sale_label"> Land-Verkauf </text> - <text name="by_owner_label"> - durch Besitzer - </text> <text name="auction_label"> Land-Auktion </text> + <text name="by_owner_label"> + durch Besitzer + </text> <button label="Nach Hause" label_selected="Nach Hause" name="Go Home" tool_tip="Nach Hause teleportieren"/> <text name="Home_label"> Zuhause @@ -39,7 +39,7 @@ <text name="pg_label"> Generell </text> - <check_box label="Mature" name="events_mature_chk"/> + <check_box initial_value="true" label="Mature" name="events_mature_chk"/> <text name="events_mature_label"> Moderat </text> @@ -67,6 +67,9 @@ <scroll_list.columns label="" name="icon"/> <scroll_list.columns label="" name="sim_name"/> </scroll_list> + <text name="events_label"> + Standort: + </text> <button label="Teleportieren" label_selected="Teleportieren" name="Teleport" tool_tip="Zu ausgewählter Position teleportieren"/> <button font="SansSerifSmall" label="SLurl kopieren" name="copy_slurl" tool_tip="Kopiert die aktuelle Position als SLurl zur Verwendung im Web."/> <button label="Auswahl anzeigen" label_selected="Ziel anzeigen" name="Show Destination" tool_tip="Karte auf ausgewählte Position zentrieren"/> diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 45ae8a0c95..b9b6a8ed50 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Skripts auf nicht ausführen einstellen" name="Set Scripts to Not Running"/> </menu> <menu label="Optionen" name="Options"> + <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/> <menu_item_check label="Erweiterte Berechtigungen anzeigen" name="DebugPermissions"/> <menu_item_check label="Nur meine Objekte auswählen" name="Select Only My Objects"/> <menu_item_check label="Nur bewegliche Objekte auswählen" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> <menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/> - <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/> </menu> </menu> <menu label="Hilfe" name="Help"> diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 24582e4be3..e5baf0f98f 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -366,7 +366,7 @@ Sind Sie sicher, dass Sie fortfahren wollen? <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> </notification> <notification name="DeleteOutfits"> - Das ausgewählte Outfit löschen? + Das/Die ausgewählte(n) Outfit(s) löschen? <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> </notification> <notification name="PromptGoToEventsPage"> @@ -2765,7 +2765,7 @@ Avatar '[NAME]' hat als vollständig gerezzter Avatar die Welt verlass </notification> <notification name="AvatarRezSelfBakeNotification"> (Seit [EXISTENCE] Sekunden inworld ) -Die [RESOLUTION]-gebakene Textur für '[BODYREGION]' wurde in [TIME] Sekunden hochgeladen. +Die [RESOLUTION]-gebakene Textur für '[BODYREGION]' wurde in [TIME] Sekunden [ACTION]. </notification> <notification name="ConfirmLeaveCall"> Möchten Sie dieses Gespräch wirklich verlassen ? @@ -2803,4 +2803,7 @@ Sollte das Problem fortbestehen, finden Sie weitere Hilfestellung unter [SUPPORT Wenn Sie ein Stück Land besitzen, können Sie dies als Ihr Zuhause festlegen. Ansonsten können Sie auf der Karte nachsehen und dort Ort suchen, die als „Infohub“ gekennzeichnet sind. </global> + <global name="You died and have been teleported to your home location"> + Sie sind gestorben und wurden zu Ihrem Zuhause teleportiert. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/de/panel_group_notices.xml b/indra/newview/skins/default/xui/de/panel_group_notices.xml index f45b5ea7af..8c1df04ed8 100644 --- a/indra/newview/skins/default/xui/de/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/de/panel_group_notices.xml @@ -21,7 +21,7 @@ Maximal 200 pro Gruppe täglich <text name="notice_list_none_found"> Nicht gefunden. </text> - <button label="Neue Mitteilung erstellen" label_selected="Neue Mitteilung" name="create_new_notice" tool_tip="Neue Mitteilung erstellen"/> + <button label="Neue Mitteilung" label_selected="Neue Mitteilung" name="create_new_notice" tool_tip="Neue Mitteilung erstellen"/> <button label="Aktualisieren" label_selected="Liste aktualisieren" name="refresh_notices" tool_tip="Mitteilungsliste aktualisieren"/> <panel label="Neue Mitteilung" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/de/panel_group_roles.xml b/indra/newview/skins/default/xui/de/panel_group_roles.xml index db5186e081..f297d32a91 100644 --- a/indra/newview/skins/default/xui/de/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/de/panel_group_roles.xml @@ -13,6 +13,9 @@ Drücken Sie die Strg-Taste und klicken Sie auf Namen, um mehrere Mitglieder auszuwählen. </panel.string> + <panel.string name="donation_area"> + [AREA] m². + </panel.string> <filter_editor label="Mitglieder filtern" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="Mitglied" name="name" relative_width="0.30"/> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml index 44b2bd1f60..5c71b20fb0 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Aktiviert" name="enable_media"/> <slider label="Voice-Chat" name="Voice Volume"/> <check_box label="Aktiviert" name="enable_voice_check"/> - <check_box label="Automatische Wiedergabe zulassen" name="media_auto_play_btn" tool_tip="Hier aktivieren, um Medien automatisch wiederzugeben."/> - <check_box label="Medien, die an andere Avatare angehängt sind, wiedergeben." name="media_show_on_others_btn" tool_tip="Diese Option deaktivieren, um Medien für andere Avataren, die sich in der Nähe befinden, auszublenden."/> + <check_box label="Automatische Wiedergabe zulassen" name="media_auto_play_btn" tool_tip="Hier aktivieren, um Medien automatisch wiederzugeben." value="true"/> + <check_box label="Medien, die an andere Avatare angehängt sind, wiedergeben." name="media_show_on_others_btn" tool_tip="Diese Option deaktivieren, um Medien für andere Avataren, die sich in der Nähe befinden, auszublenden." value="true"/> <text name="voice_chat_settings"> Voice-Chat-Einstellungen </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Standard </panel.string> + <panel.string name="default system device"> + Standardgerät + </panel.string> + <panel.string name="no device"> + Kein Gerät + </panel.string> <text name="Input"> Eingabe </text> diff --git a/indra/newview/skins/default/xui/de/panel_teleport_history.xml b/indra/newview/skins/default/xui/de/panel_teleport_history.xml index 4efd83dfff..4d721f2af6 100644 --- a/indra/newview/skins/default/xui/de/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/de/panel_teleport_history.xml @@ -1,6 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/places/[SEARCH_TERM] Suche]."/> + <no_visible_tabs_text name="no_teleports_msg" value="Die Teleportliste ist leer. Versuchen Sie es mit der [secondlife:///app/search/all Suche]."/> <accordion_tab name="today" title="Heute"/> <accordion_tab name="yesterday" title="Gestern"/> <accordion_tab name="2_days_ago" title="Vor 2 Tagen"/> diff --git a/indra/newview/skins/default/xui/de/sidepanel_item_info.xml b/indra/newview/skins/default/xui/de/sidepanel_item_info.xml index b9ca969ac5..4ba187dbd6 100644 --- a/indra/newview/skins/default/xui/de/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/de/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="Objektprofil"/> <text name="origin" value="(Inventar)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> Name: </text> @@ -51,7 +50,7 @@ </text> <check_box label="Bearbeiten" name="CheckOwnerModify"/> <check_box label="Kopieren" name="CheckOwnerCopy"/> - <check_box label="Transferieren" name="CheckOwnerTransfer"/> + <check_box label="Übertragen" name="CheckOwnerTransfer"/> <text name="AnyoneLabel"> Jeder: </text> @@ -59,13 +58,13 @@ <text name="GroupLabel"> Gruppe: </text> - <check_box label="Teilen" name="CheckShareWithGroup" tool_tip="Mit allen Mitgliedern der zugeordneten Gruppe, Ihre Berechtigungen dieses Objekt zu ändern teilen. Sie müssen Übereignen, um Rollenbeschränkungen zu aktivieren."/> + <check_box label="Teilen" name="CheckShareWithGroup" tool_tip="Mit allen Mitgliedern der zugeordneten Gruppe, Ihre Berechtigungen dieses Objekt zu ändern, teilen. Sie müssen Übereignen, um Rollenbeschränkungen zu aktivieren."/> <text name="NextOwnerLabel"> Nächster Eigentümer: </text> <check_box label="Bearbeiten" name="CheckNextOwnerModify"/> <check_box label="Kopieren" name="CheckNextOwnerCopy"/> - <check_box label="Transferieren" name="CheckNextOwnerTransfer" tool_tip="Nächster Eigentümer kann dieses Objekt weitergeben oder -verkaufen"/> + <check_box label="Übertragen" name="CheckNextOwnerTransfer" tool_tip="Nächster Eigentümer kann dieses Objekt weitergeben oder -verkaufen"/> </panel> <check_box label="Zum Verkauf" name="CheckPurchase"/> <combo_box name="combobox sale copy"> diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index abe03e1adb..bf7d2ef3b3 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -663,6 +663,9 @@ <string name="worldmap_offline"> Offline </string> + <string name="worldmap_item_tooltip_format"> + [PRICE] L$ für [AREA] m² + </string> <string name="worldmap_results_none_found"> Nicht gefunden. </string> @@ -1061,6 +1064,7 @@ <string name="AnimFlagStop" value=" Animation stoppen:"/> <string name="AnimFlagStart" value=" Animation starten:"/> <string name="Wave" value=" Winken"/> + <string name="GestureActionNone" value="Keine"/> <string name="HelloAvatar" value=" Hallo Avatar!"/> <string name="ViewAllGestures" value=" Alle anzeigen >>"/> <string name="GetMoreGestures" value="Mehr >>"/> @@ -1143,12 +1147,12 @@ <string name="InvFolder Favorite"> Favoriten </string> - <string name="InvFolder favorite"> - Favoriten - </string> <string name="InvFolder Current Outfit"> Aktuelles Outfit </string> + <string name="InvFolder Initial Outfits"> + Ursprüngliche Outfits + </string> <string name="InvFolder My Outfits"> Meine Outfits </string> @@ -1468,6 +1472,7 @@ <string name="SummaryForTheWeek" value="Zusammenfassung für diese Woche, beginnend am "/> <string name="NextStipendDay" value=". Der nächste Stipendium-Tag ist "/> <string name="GroupIndividualShare" value=" Gruppenanteil Einzelanteil"/> + <string name="GroupColumn" value="Gruppe"/> <string name="Balance"> Kontostand </string> @@ -1687,6 +1692,12 @@ <string name="BusyModeResponseDefault"> Der Einwohner/Die Einwohnerin ist „beschäftigt”, d.h. er/sie möchte im Moment nicht gestört werden. Ihre Nachricht wird dem Einwohner/der Einwohnerin als IM angezeigt, und kann später beantwortet werden. </string> + <string name="NoOutfits"> + Sie haben noch keine Outfits. Versuchen Sie es mit der [secondlife:///app/search/all Suche]. + </string> + <string name="NoOutfitsTabsMatched"> + Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/all/[SEARCH_TERM] Suche]. + </string> <string name="MuteByName"> (Nach Namen) </string> @@ -3676,6 +3687,9 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_ <string name="group_role_owners"> Eigentümer </string> + <string name="group_member_status_online"> + Online + </string> <string name="uploading_abuse_report"> Bericht wird hochgeladen... @@ -3729,9 +3743,15 @@ Missbrauchsbericht <string name="Invalid Wearable"> Ungültiges Objekt </string> + <string name="New Gesture"> + Neue Geste + </string> <string name="New Script"> Neues Skript </string> + <string name="New Note"> + Neue Notiz + </string> <string name="New Folder"> Neuer Ordner </string> @@ -3789,6 +3809,15 @@ Missbrauchsbericht <string name="Male - Wow"> Männlich - Wow </string> + <string name="Female - Chuckle"> + Weiblich - Kichern + </string> + <string name="Female - Cry"> + Weiblich - Weinen + </string> + <string name="Female - Embarrassed"> + Weiblich - Verlegen + </string> <string name="Female - Excuse me"> Weiblich - Räuspern </string> @@ -3807,9 +3836,21 @@ Missbrauchsbericht <string name="Female - Hey"> Weiblich - Hey </string> + <string name="Female - Hey baby"> + Weiblich - Hey Süße(r) + </string> <string name="Female - Laugh"> Weiblich - Lachen </string> + <string name="Female - Looking good"> + Weiblich - Looking good + </string> + <string name="Female - Over here"> + Weiblich - Over here + </string> + <string name="Female - Please"> + Weiblich - Please + </string> <string name="Female - Repulsed"> Weiblich - Angewidert </string> @@ -3859,4 +3900,46 @@ Missbrauchsbericht <string name="dateTimePM"> Uhr </string> + <string name="LocalEstimateUSD"> + [AMOUNT] US$ + </string> + <string name="Membership"> + Mitgliedschaft + </string> + <string name="Roles"> + Rollen + </string> + <string name="Group Identity"> + Gruppenidentität + </string> + <string name="Parcel Management"> + Parzellenverwaltung + </string> + <string name="Parcel Identity"> + Parzellenidentität + </string> + <string name="Parcel Settings"> + Parzelleneinstellungen + </string> + <string name="Parcel Powers"> + Parzellenfähigkeiten + </string> + <string name="Parcel Access"> + Parzellenzugang + </string> + <string name="Parcel Content"> + Parzelleninhalt + </string> + <string name="Object Management"> + Objektmanagement + </string> + <string name="Accounting"> + Kontoführung + </string> + <string name="Notices"> + Mitteilungen + </string> + <string name="Chat"> + Chat + </string> </strings> diff --git a/indra/newview/skins/default/xui/es/floater_preview_gesture.xml b/indra/newview/skins/default/xui/es/floater_preview_gesture.xml index cf1b3bbbbd..c58eb227aa 100644 --- a/indra/newview/skins/default/xui/es/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/es/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Biblioteca: </text> - <scroll_list name="library_list"/> + <scroll_list name="library_list"> + <scroll_list.rows name="action_animation" value="Animaciones"/> + <scroll_list.rows name="action_sound" value="Sonido"/> + <scroll_list.rows name="action_chat" value="Chat"/> + <scroll_list.rows name="action_wait" value="Espera"/> + </scroll_list> <button label="Añadir >>" name="add_btn"/> <text name="steps_label"> Pasos: diff --git a/indra/newview/skins/default/xui/es/floater_world_map.xml b/indra/newview/skins/default/xui/es/floater_world_map.xml index 3135324816..acc63e52a0 100644 --- a/indra/newview/skins/default/xui/es/floater_world_map.xml +++ b/indra/newview/skins/default/xui/es/floater_world_map.xml @@ -19,12 +19,12 @@ <text name="land_sale_label"> Venta de terreno </text> - <text name="by_owner_label"> - por el dueño - </text> <text name="auction_label"> subasta </text> + <text name="by_owner_label"> + por el dueño + </text> <button name="Go Home" tool_tip="Teleportar a mi Base"/> <text name="Home_label"> Base @@ -35,7 +35,7 @@ <text name="pg_label"> General </text> - <check_box name="events_mature_chk"/> + <check_box initial_value="true" name="events_mature_chk"/> <text name="events_mature_label"> Moderado </text> @@ -58,6 +58,9 @@ <search_editor label="Regiones alfabéticamente" name="location" tool_tip="Escribe el nombre de una región"/> <button label="Encontrar" name="DoSearch" tool_tip="Buscar una región"/> <button name="Clear" tool_tip="Limpia las marcas y actualiza el mapa"/> + <text name="events_label"> + Lugar: + </text> <button label="Teleportar" name="Teleport" tool_tip="Teleportar a la localización seleccionada"/> <button label="Copiar la SLurl" name="copy_slurl" tool_tip="Copiar la SLurl de esta posición para usarla en una web."/> <button label="Ver lo elegido" name="Show Destination" tool_tip="Centrar el mapa en la localización seleccionada"/> diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml index f6ad18cf3a..66c0bf9311 100644 --- a/indra/newview/skins/default/xui/es/menu_viewer.xml +++ b/indra/newview/skins/default/xui/es/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Configurar scripts como no ejecutándose" name="Set Scripts to Not Running"/> </menu> <menu label="Opciones" name="Options"> + <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/> <menu_item_check label="Mostrar los permisos avanzados" name="DebugPermissions"/> <menu_item_check label="Seleccionar sólo mis objetos" name="Select Only My Objects"/> <menu_item_check label="Seleccionar sólo los objetos movibles" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Sonido ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/> <menu_item_call label="Masivo ([COST] L$ por archivo)..." name="Bulk Upload"/> - <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/> </menu> </menu> <menu label="Ayuda" name="Help"> diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index 88013df8f5..e9eda790dd 100644 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -2750,8 +2750,8 @@ Comprueba la configuración de la red y del servidor de seguridad. El avatar '[NAME]' ya estaba totalmente cargado al salir. </notification> <notification name="AvatarRezSelfBakeNotification"> - ( [EXISTENCE] segundos vivo) -Has cargado una textura obtenida mediante bake de [RESOLUTION] para '[BODYREGION]' después de [TIME] segundos. + ( [EXISTENCE] segundos con vida ) +Has [ACTION] una textura obtenida mediante bake de [RESOLUTION] para '[BODYREGION]' después de [TIME] segundos. </notification> <notification name="ConfirmLeaveCall"> ¿Estás seguro de que deseas salir de esta multiconferencia? @@ -2788,4 +2788,7 @@ Si los problemas persisten, por favor, acude a [SUPPORT_SITE]. Si posees un terreno, puedes hacerlo tu Base. También puedes buscar en el Mapa lugares marcados como "Puntos de Información". </global> + <global name="You died and have been teleported to your home location"> + Has muerto y te has teleportado a tu Base. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/es/panel_group_notices.xml b/indra/newview/skins/default/xui/es/panel_group_notices.xml index 7a3dbad59e..1eaa69abff 100644 --- a/indra/newview/skins/default/xui/es/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/es/panel_group_notices.xml @@ -18,7 +18,7 @@ El máximo es de 200 por día y grupo. <text name="notice_list_none_found"> No se han encontrado </text> - <button label="Crear un aviso nuevo" label_selected="Crear un aviso nuevo" name="create_new_notice" tool_tip="Crear un aviso nuevo"/> + <button label="Nuevo aviso" label_selected="Crear un aviso nuevo" name="create_new_notice" tool_tip="Crear un aviso nuevo"/> <button label="Actualizar" label_selected="Actualizar la lista" name="refresh_notices" tool_tip="Actualizar la lista de avisos"/> <panel label="Crear un aviso nuevo" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml index 5ef81162bc..390b4e2e9d 100644 --- a/indra/newview/skins/default/xui/es/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/es/panel_group_roles.xml @@ -12,6 +12,9 @@ Puede añadir o quitar los roles asignados a los miembros. Seleccione varios nombres manteniendo pulsada la tecla Ctrl y pulsando en cada uno de ellos. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtrar los miembros" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="Miembro" name="name"/> @@ -74,21 +77,15 @@ incluyendo el de Todos y el de Propietarios. <text name="static"> Nombre del rol </text> - <line_editor name="role_name"> - Empleados - </line_editor> + <line_editor name="role_name"/> <text name="static3"> Etiqueta del rol </text> - <line_editor name="role_title"> - (esperando) - </line_editor> + <line_editor name="role_title"/> <text name="static2"> Descripción </text> - <text_editor name="role_description"> - (esperando) - </text_editor> + <text_editor name="role_description"/> <text name="static4"> Roles asignados </text> @@ -103,9 +100,6 @@ incluyendo el de Todos y el de Propietarios. </scroll_list> </panel> <panel name="actions_footer"> - <text name="static"> - Descripción de la capacidad - </text> <text_editor name="action_description"> Esta capacidad es la de 'Expulsar miembros de este grupo'. Sólo un propietario puede expulsar a otro. </text_editor> diff --git a/indra/newview/skins/default/xui/es/panel_nearby_media.xml b/indra/newview/skins/default/xui/es/panel_nearby_media.xml index f03338e4c7..f65cae6e20 100644 --- a/indra/newview/skins/default/xui/es/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/es/panel_nearby_media.xml @@ -48,16 +48,16 @@ <button name="stop_btn" tool_tip="Parar los media seleccionados"/> </layout_panel> <layout_panel name="play"> - <button name="play_btn" tool_tip="Ejecutar los media"/> + <button name="play_btn" tool_tip="Ejecutar los media seleccionados"/> </layout_panel> <layout_panel name="pause"> - <button name="pause_btn" tool_tip="Pausa los media seleccionados"/> + <button name="pause_btn" tool_tip="Pausar los media seleccionados"/> </layout_panel> <layout_panel name="volume_slider_ctrl"> <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volumen de los media seleccionados"/> </layout_panel> <layout_panel name="mute"> - <button name="mute_btn" tool_tip="Silencia los media seleccionados"/> + <button name="mute_btn" tool_tip="Silenciar el audio de los media seleccionados"/> </layout_panel> <layout_panel name="zoom"> <button name="zoom_btn" tool_tip="Zoom en los media seleccionados"/> diff --git a/indra/newview/skins/default/xui/es/panel_preferences_sound.xml b/indra/newview/skins/default/xui/es/panel_preferences_sound.xml index 2d3c76d215..b0088ee1a2 100644 --- a/indra/newview/skins/default/xui/es/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/es/panel_preferences_sound.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="Sonidos" name="Preference Media panel"> <slider label="Volumen general" name="System Volume"/> - <check_box label="Silenciar cuando minimice" name="mute_when_minimized"/> + <check_box initial_value="true" label="Silenciar cuando minimice" name="mute_when_minimized"/> <slider label="Botones" name="UI Volume"/> <slider label="Ambiental" name="Wind Volume"/> <slider label="Efectos de sonido" name="SFX Volume"/> @@ -11,8 +11,8 @@ <check_box label="Activada" name="enable_media"/> <slider label="Chat de voz" name="Voice Volume"/> <check_box label="Activado" name="enable_voice_check"/> - <check_box label="Permitir la ejecución automática de los media" name="media_auto_play_btn" tool_tip="Marcar esto para permitir la ejecución automática de los media"/> - <check_box label="Ejecutar para otros avatares los media anexados" name="media_show_on_others_btn" tool_tip="Al desmarcar esto se esconderán los media anexados a otros avatares cercanos"/> + <check_box label="Permitir la ejecución automática de los media" name="media_auto_play_btn" tool_tip="Marcar esto para permitir la ejecución automática de los media" value="true"/> + <check_box label="Ejecutar para otros avatares los media anexados" name="media_show_on_others_btn" tool_tip="Al desmarcar esto se esconderán los media anexados a otros avatares cercanos" value="true"/> <text name="voice_chat_settings"> Configuración del chat de voz </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Por defecto </panel.string> + <panel.string name="default system device"> + Dispositivo del sistema por defecto + </panel.string> + <panel.string name="no device"> + Ningún dispositivo + </panel.string> <text name="Input"> Entrada </text> diff --git a/indra/newview/skins/default/xui/es/panel_teleport_history.xml b/indra/newview/skins/default/xui/es/panel_teleport_history.xml index a0ee30e8f6..364451b26b 100644 --- a/indra/newview/skins/default/xui/es/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/es/panel_teleport_history.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="¿No encuentras lo que buscas? Intenta con [secondlife:///app/search/places/[SEARCH_TERM] Buscar]."/> + <no_visible_tabs_text name="no_teleports_msg" value="El historial de teleportes está vacío. Intenta con [secondlife:///app/search/places/ Buscar]."/> <accordion_tab name="today" title="Hoy"/> <accordion_tab name="yesterday" title="Ayer"/> <accordion_tab name="2_days_ago" title="Hace 2 días"/> - 5 <accordion_tab name="3_days_ago" title="Hace 3 días"/> <accordion_tab name="4_days_ago" title="Hace 4 días"/> <accordion_tab name="5_days_ago" title="Hace 5 días"/> diff --git a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml index d3b91e7a71..0cea46afba 100644 --- a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="Perfil del elemento"/> <text name="origin" value="(Inventario)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> Nombre: </text> @@ -48,22 +47,22 @@ Tú puedes: </text> <check_box label="Modificar" name="CheckOwnerModify"/> - <check_box label="Copiarlo" name="CheckOwnerCopy"/> - <check_box label="Transferirlo" name="CheckOwnerTransfer"/> + <check_box label="Copiar" name="CheckOwnerCopy"/> + <check_box label="Transferir" name="CheckOwnerTransfer"/> <text name="AnyoneLabel"> Cualquiera: </text> - <check_box label="Copiarlo" name="CheckEveryoneCopy"/> + <check_box label="Copiar" name="CheckEveryoneCopy"/> <text name="GroupLabel"> Grupo: </text> - <check_box label="Compartir" name="CheckShareWithGroup" tool_tip="Permite que todos los miembros del grupo compartan tus permisos de modificación en este objeto. Debes transferirlo para activar las restricciones según los roles."/> + <check_box label="Compartir" name="CheckShareWithGroup" tool_tip="Permite que todos los miembros del grupo compartan tus permisos de modificación de este objeto. Debes transferirlo para activar las restricciones según los roles."/> <text name="NextOwnerLabel"> Próximo propietario: </text> - <check_box label="Modificarlo" name="CheckNextOwnerModify"/> - <check_box label="Copiarlo" name="CheckNextOwnerCopy"/> - <check_box label="Transferirlo" name="CheckNextOwnerTransfer" tool_tip="El próximo propietario puede dar o revender este objeto"/> + <check_box label="Modificar" name="CheckNextOwnerModify"/> + <check_box label="Copiar" name="CheckNextOwnerCopy"/> + <check_box label="Transferir" name="CheckNextOwnerTransfer" tool_tip="El próximo propietario puede dar o revender este objeto"/> </panel> <check_box label="En venta" name="CheckPurchase"/> <combo_box name="combobox sale copy"> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 392e289a75..9f5f1f99e7 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -645,6 +645,9 @@ <string name="worldmap_offline"> Sin conexión </string> + <string name="worldmap_item_tooltip_format"> + [PRICE] L$ por [AREA] m² + </string> <string name="worldmap_results_none_found"> No se ha encontrado. </string> @@ -1034,6 +1037,7 @@ <string name="AnimFlagStop" value="Parar la animación:"/> <string name="AnimFlagStart" value="Empezar la animación:"/> <string name="Wave" value="Onda"/> + <string name="GestureActionNone" value="Ninguno"/> <string name="HelloAvatar" value="¡Hola, avatar!"/> <string name="ViewAllGestures" value="Ver todos >>"/> <string name="GetMoreGestures" value="Obtener más >>"/> @@ -1116,12 +1120,12 @@ <string name="InvFolder Favorite"> Favoritos </string> - <string name="InvFolder favorite"> - Favoritos - </string> <string name="InvFolder Current Outfit"> Vestuario actual </string> + <string name="InvFolder Initial Outfits"> + Vestuario inicial + </string> <string name="InvFolder My Outfits"> Mis vestuarios </string> @@ -1441,6 +1445,7 @@ <string name="SummaryForTheWeek" value="Resumen de esta semana, empezando el"/> <string name="NextStipendDay" value="El próximo día de pago es el"/> <string name="GroupIndividualShare" value="Grupo Aportaciones individuales"/> + <string name="GroupColumn" value="Grupo"/> <string name="Balance"> Saldo </string> @@ -1654,6 +1659,12 @@ <string name="BusyModeResponseDefault"> El Residente al que has enviado un mensaje ha solicitado que no se le moleste porque está en modo ocupado. Podrá ver tu mensaje más adelante, ya que éste aparecerá en su panel de MI. </string> + <string name="NoOutfits"> + Todavía no tienes vestuario. Intenta con [secondlife:///app/search/all/ Buscar] + </string> + <string name="NoOutfitsTabsMatched"> + ¿No encuentras lo que buscas? Intenta con [secondlife:///app/search/all/[SEARCH_TERM] Buscar]. + </string> <string name="MuteByName"> (Por el nombre) </string> @@ -3574,6 +3585,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE]. <string name="group_role_owners"> Propietarios </string> + <string name="group_member_status_online"> + Conectado/a + </string> <string name="uploading_abuse_report"> Subiendo... @@ -3627,9 +3641,15 @@ Denuncia de infracción <string name="Invalid Wearable"> No se puede poner </string> + <string name="New Gesture"> + Gesto nuevo + </string> <string name="New Script"> Script nuevo </string> + <string name="New Note"> + Nota nueva + </string> <string name="New Folder"> Carpeta nueva </string> @@ -3687,6 +3707,15 @@ Denuncia de infracción <string name="Male - Wow"> Varón - Admiración </string> + <string name="Female - Chuckle"> + Mujer - Risa suave + </string> + <string name="Female - Cry"> + Mujer - Llorar + </string> + <string name="Female - Embarrassed"> + Mujer - Ruborizada + </string> <string name="Female - Excuse me"> Mujer - Disculpa </string> @@ -3705,9 +3734,21 @@ Denuncia de infracción <string name="Female - Hey"> Mujer - ¡Eh! </string> + <string name="Female - Hey baby"> + Mujer - ¡Eh, encanto! + </string> <string name="Female - Laugh"> Mujer - Risa </string> + <string name="Female - Looking good"> + Mujer - Buen aspecto + </string> + <string name="Female - Over here"> + Mujer - Por aquí + </string> + <string name="Female - Please"> + Mujer - Por favor + </string> <string name="Female - Repulsed"> Mujer - Rechazo </string> @@ -3757,4 +3798,46 @@ Denuncia de infracción <string name="dateTimePM"> PM </string> + <string name="LocalEstimateUSD"> + [AMOUNT] dólares estadounidenses + </string> + <string name="Membership"> + Membresía + </string> + <string name="Roles"> + Roles + </string> + <string name="Group Identity"> + Indentidad de grupo + </string> + <string name="Parcel Management"> + Gestión de la parcela + </string> + <string name="Parcel Identity"> + Identidad de la parcela + </string> + <string name="Parcel Settings"> + Configuración de la parcela + </string> + <string name="Parcel Powers"> + Poder de la parcela + </string> + <string name="Parcel Access"> + Acceso a la parcela + </string> + <string name="Parcel Content"> + Contenido de la parcela + </string> + <string name="Object Management"> + Manejo de objetos + </string> + <string name="Accounting"> + Contabilidad + </string> + <string name="Notices"> + Avisos + </string> + <string name="Chat"> + Chat + </string> </strings> diff --git a/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml b/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml index 88e67862c8..59ce36b022 100644 --- a/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> ライブラリ: </text> - <scroll_list name="library_list"/> + <scroll_list name="library_list"> + <scroll_list.rows name="action_animation" value="アニメーション"/> + <scroll_list.rows name="action_sound" value="サウンド"/> + <scroll_list.rows name="action_chat" value="チャット"/> + <scroll_list.rows name="action_wait" value="待機"/> + </scroll_list> <button label="追加>>" name="add_btn"/> <text name="steps_label"> 手順: diff --git a/indra/newview/skins/default/xui/ja/floater_world_map.xml b/indra/newview/skins/default/xui/ja/floater_world_map.xml index 62670251d6..cc07596adc 100644 --- a/indra/newview/skins/default/xui/ja/floater_world_map.xml +++ b/indra/newview/skins/default/xui/ja/floater_world_map.xml @@ -22,12 +22,12 @@ <text name="land_sale_label"> 土地販売 </text> - <text name="by_owner_label"> - 所有者の販売 - </text> <text name="auction_label"> 土地オークション </text> + <text name="by_owner_label"> + 所有者の販売 + </text> <button label="ホームへ" label_selected="ホームへ" name="Go Home" tool_tip="「ホーム」にテレポートします"/> <text name="Home_label"> ホーム @@ -67,6 +67,9 @@ <scroll_list.columns label="" name="icon"/> <scroll_list.columns label="" name="sim_name"/> </scroll_list> + <text name="events_label"> + 場所: + </text> <button label="テレポート" label_selected="テレポート" name="Teleport" tool_tip="選択した場所にテレポートします"/> <button label="SLurl をコピー" name="copy_slurl" tool_tip="現在地の SLurl をコピーして Web で使用します"/> <button label="選択を表示する" label_selected="目的地を表示" name="Show Destination" tool_tip="選択した場所を地図の中心に表示します"/> diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index 164341ad2f..f6476857d2 100644 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="スクリプトを実行停止にする" name="Set Scripts to Not Running"/> </menu> <menu label="オプション" name="Options"> + <menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/> <menu_item_check label="権限の詳細を表示する" name="DebugPermissions"/> <menu_item_check label="私のオブジェクトだけを選択する" name="Select Only My Objects"/> <menu_item_check label="動的オブジェクトだけを選択する" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="サウンド(L$[COST])..." name="Upload Sound"/> <menu_item_call label="アニメーション(L$[COST])..." name="Upload Animation"/> <menu_item_call label="一括 (ファイルにつきL$[COST])..." name="Bulk Upload"/> - <menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/> </menu> </menu> <menu label="ヘルプ" name="Help"> diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index 8fceaa2817..709797cb58 100644 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -2800,8 +2800,8 @@ M キーを押して変更します。 アバター「 NAME 」が完全に読み込まれました。 </notification> <notification name="AvatarRezSelfBakeNotification"> - (作成後[EXISTENCE]秒経過) -'[BODYREGION]'の[RESOLUTION]のベークドテクスチャは[TIME]秒後にアップロードされました。 + ( 作成後[EXISTENCE]秒経過) +'[BODYREGION]' の[RESOLUTION]のベークドテクスチャは[TIME]秒後に[ACTION]されました。 </notification> <notification name="ConfirmLeaveCall"> このコールから抜けますか? @@ -2839,4 +2839,7 @@ M キーを押して変更します。 自分の土地をお持ちの場合、「ホーム」に設定できます。 お持ちでない場合は、地図で「インフォハブ」をお探しください。 </global> + <global name="You died and have been teleported to your home location"> + 死んでしまったので、ホームにテレポートされました。 + </global> </notifications> diff --git a/indra/newview/skins/default/xui/ja/panel_group_notices.xml b/indra/newview/skins/default/xui/ja/panel_group_notices.xml index 0b508bd79d..96e0382975 100644 --- a/indra/newview/skins/default/xui/ja/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/ja/panel_group_notices.xml @@ -21,7 +21,7 @@ <text name="notice_list_none_found"> 見つかりませんでした </text> - <button label="新しい通知を作成" label_selected="新しい通知を作成" name="create_new_notice" tool_tip="新しい通知を作成します"/> + <button label="新しい通知" label_selected="新しい通知を作成" name="create_new_notice" tool_tip="新しい通知を作成します"/> <button label="更新" label_selected="リスト更新" name="refresh_notices" tool_tip="通知リストを更新します"/> <panel label="新しい通知を作成" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/ja/panel_group_roles.xml b/indra/newview/skins/default/xui/ja/panel_group_roles.xml index 8a629be910..be203b0761 100644 --- a/indra/newview/skins/default/xui/ja/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/ja/panel_group_roles.xml @@ -13,6 +13,9 @@ Ctrl キーを押しながらメンバー名をクリックすると 複数の人を選択できます。 </panel.string> + <panel.string name="donation_area"> + [AREA] 平方メートル + </panel.string> <filter_editor label="メンバーを選別" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="メンバー" name="name"/> diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml b/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml index abbd29286b..4f29ae7b44 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml @@ -28,6 +28,12 @@ <panel.string name="default_text"> デフォルト </panel.string> + <panel.string name="default system device"> + デフォルトのシステム機器 + </panel.string> + <panel.string name="no device"> + 機器が設定されていません + </panel.string> <text name="Input"> 入力 </text> diff --git a/indra/newview/skins/default/xui/ja/panel_teleport_history.xml b/indra/newview/skins/default/xui/ja/panel_teleport_history.xml index c1bf81f7e7..58e396877c 100644 --- a/indra/newview/skins/default/xui/ja/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/ja/panel_teleport_history.xml @@ -1,6 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="お探しのものは見つかりましたか?[secondlife:///app/search/places/[SEARCH_TERM]をお試しください。"/> + <no_visible_tabs_text name="no_teleports_msg" value="テレポートの履歴には何も情報がありません。[secondlife:///app/search/places/ Search]をお試しください。"/> <accordion_tab name="today" title="今日"/> <accordion_tab name="yesterday" title="昨日"/> <accordion_tab name="2_days_ago" title="2日前"/> diff --git a/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml index 414eba0509..519b69799b 100644 --- a/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="アイテムのプロフィール"/> <text name="origin" value="(持ち物)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> 名前: </text> @@ -59,20 +58,20 @@ <text name="GroupLabel"> グループ: </text> - <check_box label="共有" name="CheckShareWithGroup" tool_tip="設定したグループのメンバー全員にこのオブジェクトの修正権限を与えます。 譲渡しない限り、役割制限を有効にはできません。"/> + <check_box label="共有" name="CheckShareWithGroup" tool_tip="設定したグループのメンバー全員にこのオブジェクトの修正権限を与えます。譲渡しない限り、役割制限を有効にはできません。"/> <text name="NextOwnerLabel"> 次の所有者: </text> <check_box label="修正" name="CheckNextOwnerModify"/> <check_box label="コピー" name="CheckNextOwnerCopy"/> - <check_box label="再販・プレゼント" name="CheckNextOwnerTransfer" tool_tip="次の所有者はこのオブジェクトを他人にあげたり再販することができます"/> + <check_box label="再販・プレゼント" name="CheckNextOwnerTransfer" tool_tip="次の所有者はこのオブジェクトを他人にあげたり再販できます"/> </panel> - <check_box label="販売する" name="CheckPurchase"/> + <check_box label="販売中" name="CheckPurchase"/> <combo_box name="combobox sale copy"> <combo_box.item label="コピー" name="Copy"/> <combo_box.item label="オリジナル" name="Original"/> </combo_box> - <spinner label="価格: L$" name="Edit Cost"/> + <spinner label="価格:L$" name="Edit Cost"/> </panel> <panel name="button_panel"> <button label="キャンセル" name="cancel_btn"/> diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 350a98aaf0..b68b68a4f8 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -663,6 +663,9 @@ <string name="worldmap_offline"> オフライン </string> + <string name="worldmap_item_tooltip_format"> + [AREA] 平方メートル L$[PRICE] + </string> <string name="worldmap_results_none_found"> 見つかりませんでした。 </string> @@ -1061,6 +1064,7 @@ <string name="AnimFlagStop" value=" アニメーションを停止:"/> <string name="AnimFlagStart" value=" アニメーションを開始:"/> <string name="Wave" value=" 手を振る"/> + <string name="GestureActionNone" value="なし"/> <string name="HelloAvatar" value=" やあ、アバター!"/> <string name="ViewAllGestures" value=" すべて表示 >>"/> <string name="GetMoreGestures" value="ショッピング >>"/> @@ -1143,12 +1147,12 @@ <string name="InvFolder Favorite"> お気に入り </string> - <string name="InvFolder favorite"> - お気に入り - </string> <string name="InvFolder Current Outfit"> 着用中のアウトフィット </string> + <string name="InvFolder Initial Outfits"> + 最初のアウトフィット + </string> <string name="InvFolder My Outfits"> マイ アウトフィット </string> @@ -1468,6 +1472,7 @@ <string name="SummaryForTheWeek" value="今週のまとめ。開始日は"/> <string name="NextStipendDay" value="です。次回のお小遣い支給日:"/> <string name="GroupIndividualShare" value=" グループ 個人の割り当て"/> + <string name="GroupColumn" value="グループの設定"/> <string name="Balance"> 残高 </string> @@ -1687,6 +1692,12 @@ <string name="BusyModeResponseDefault"> メッセージを送った住人は、誰にも邪魔をされたくないため現在「取り込み中」モードです。 あなたのメッセージは、あとで確認できるように IM パネルに表示されます。 </string> + <string name="NoOutfits"> + アウトフィットがまだありません。[secondlife:///app/search/all/ Search]をお試しください + </string> + <string name="NoOutfitsTabsMatched"> + お探しのものは見つかりましたか?[secondlife:///app/search/all/[SEARCH_TERM]をお試しください。 + </string> <string name="MuteByName"> (名称別) </string> @@ -3676,6 +3687,9 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ <string name="group_role_owners"> オーナー </string> + <string name="group_member_status_online"> + オンライン + </string> <string name="uploading_abuse_report"> アップロード中... @@ -3729,9 +3743,15 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ <string name="Invalid Wearable"> 無効な着用物 </string> + <string name="New Gesture"> + ジェスチャー + </string> <string name="New Script"> 新規スクリプト </string> + <string name="New Note"> + ノート + </string> <string name="New Folder"> 新規フォルダ </string> @@ -3789,6 +3809,15 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ <string name="Male - Wow"> 男性 - Wow </string> + <string name="Female - Chuckle"> + 女性 – クスクス + </string> + <string name="Female - Cry"> + 女性 – 泣く + </string> + <string name="Female - Embarrassed"> + 女性 – 恥ずかしい + </string> <string name="Female - Excuse me"> 女性 – すみません </string> @@ -3807,9 +3836,21 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ <string name="Female - Hey"> 女性 - Hey </string> + <string name="Female - Hey baby"> + 女性 – ヘイ、ベィビー! + </string> <string name="Female - Laugh"> 女性 - 笑う </string> + <string name="Female - Looking good"> + 女性 – いい感じ + </string> + <string name="Female - Over here"> + 女性 – こっちよ + </string> + <string name="Female - Please"> + 女性 – プリーズ + </string> <string name="Female - Repulsed"> 女性 - 拒絶 </string> @@ -3859,4 +3900,46 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ <string name="dateTimePM"> PM </string> + <string name="LocalEstimateUSD"> + US$ [AMOUNT] + </string> + <string name="Membership"> + 会員 + </string> + <string name="Roles"> + 役割 + </string> + <string name="Group Identity"> + グループの識別情報 + </string> + <string name="Parcel Management"> + 区画の管理 + </string> + <string name="Parcel Identity"> + 区画の識別情報 + </string> + <string name="Parcel Settings"> + 区画の設定 + </string> + <string name="Parcel Powers"> + 区画の権限 + </string> + <string name="Parcel Access"> + 区画へのアクセス + </string> + <string name="Parcel Content"> + 区画のコンテンツ + </string> + <string name="Object Management"> + オブジェクトの管理 + </string> + <string name="Accounting"> + 会計 + </string> + <string name="Notices"> + 通知 + </string> + <string name="Chat"> + チャット + </string> </strings> -- cgit v1.2.3 From 85c970e847c29641f95d3f3bc7e12f59e0dcade4 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao <bao@lindenlab.com> Date: Tue, 3 Aug 2010 18:26:47 -0600 Subject: fix for EXT-7399: 2.0.2 with http textures loads textures slower than 1.23.5 and EXT-7397: decoding textures get stuck in REQ status --- indra/newview/lltexturefetch.cpp | 74 +++++++++++++++++++++++++++++++++++++--- indra/newview/lltexturefetch.h | 12 ++++++- 2 files changed, 80 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index ceed90e210..48cb880bc9 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -844,15 +844,14 @@ bool LLTextureFetchWorker::doWork(S32 param) { if(mCanUseHTTP) { - const S32 HTTP_QUEUE_MAX_SIZE = 8; // *TODO: Integrate this with llviewerthrottle // Note: LLViewerThrottle uses dynamic throttling which makes sense for UDP, // but probably not for Textures. // Set the throttle to the entire bandwidth, assuming UDP packets will get priority // when they are needed F32 max_bandwidth = mFetcher->mMaxBandwidth; - if ((mFetcher->getHTTPQueueSize() >= HTTP_QUEUE_MAX_SIZE) || - (mFetcher->getTextureBandwidth() > max_bandwidth)) + if (mFetcher->isHTTPThrottled(mDesiredSize) || + mFetcher->getTextureBandwidth() > max_bandwidth) { // Make normal priority and return (i.e. wait until there is room in the queue) setPriority(LLWorkerThread::PRIORITY_NORMAL | mWorkPriority); @@ -1255,7 +1254,7 @@ bool LLTextureFetchWorker::deleteOK() if ((haveWork() && // not ok to delete from these states - ((mState >= SEND_HTTP_REQ && mState <= WAIT_HTTP_REQ) || + ((mState == WAIT_HTTP_REQ) || (mState >= WRITE_TO_CACHE && mState <= WAIT_ON_WRITE)))) { delete_ok = false; @@ -1516,6 +1515,11 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, LLImageDecodeThread* image { mMaxBandwidth = gSavedSettings.getF32("ThrottleBandwidthKBPS"); mTextureInfo.setUpLogging(gSavedSettings.getBOOL("LogTextureDownloadsToViewerLog"), gSavedSettings.getBOOL("LogTextureDownloadsToSimulator"), gSavedSettings.getU32("TextureLoggingThreshold")); + + for(S32 i = 0 ; i < TOTAL_TEXTURE_TYPES; i++) + { + mHTTPThrottleFlag[i] = FALSE ; + } } LLTextureFetch::~LLTextureFetch() @@ -1663,6 +1667,65 @@ void LLTextureFetch::removeFromHTTPQueue(const LLUUID& id) mHTTPTextureQueue.erase(id); } +void LLTextureFetch::clearHTTPThrottleFlag() +{ + static const F32 WAIT_TIME = 0.3f ; //seconds. + static LLFrameTimer timer ; + + if(timer.getElapsedTimeF32() < WAIT_TIME) //wait for WAIT_TIME + { + return ; + } + timer.reset() ; + + LLMutexLock lock(&mNetworkQueueMutex); + for(S32 i = 0 ; i < TOTAL_TEXTURE_TYPES; i++)//reset the http throttle flags. + { + mHTTPThrottleFlag[i] = FALSE ; + } +} + +//check if need to throttle this fetching request. +//rule: if a request can not be inserted into the http queue due to a full queue, +// block all future insertions of requests with larger fetching size requirement. +//because: +// later insertions are usually at lower priorities; and +// small textures need chance to be fetched. +bool LLTextureFetch::isHTTPThrottled(S32 requested_size) +{ + static const S32 SMALL_TEXTURE_MAX_SIZE = 64 * 64 * 4 ; + static const S32 MEDIUM_TEXTURE_MAX_SIZE = 256 * 256 * 4 ; + static const U32 MAX_HTTP_QUEUE_SIZE = 8 ; + + //determine the class of the texture: SMALL, MEDIUM, or LARGE. + S32 type = LARGE_TEXTURE ; + if(requested_size <= SMALL_TEXTURE_MAX_SIZE) + { + type = SMALL_TEXTURE ; + } + else if(requested_size <= MEDIUM_TEXTURE_MAX_SIZE) + { + type = MEDIUM_TEXTURE ; + } + + LLMutexLock lock(&mNetworkQueueMutex); + + if(mHTTPTextureQueue.size() >= MAX_HTTP_QUEUE_SIZE)//if the http queue is full. + { + if(!mHTTPThrottleFlag[TOTAL_TEXTURE_TYPES - 1]) + { + for(S32 i = type + 1 ; i < TOTAL_TEXTURE_TYPES; i++) //block all requests with fetching size larger than this request. + { + mHTTPThrottleFlag[i] = TRUE ; + } + } + + return true ; + } + + return mHTTPThrottleFlag[type] ; //true if this request can not be inserted to the http queue. +} + void LLTextureFetch::deleteRequest(const LLUUID& id, bool cancel) { lockQueue() ; @@ -1829,7 +1892,8 @@ S32 LLTextureFetch::update(U32 max_time_ms) lldebugs << "processed: " << processed << " messages." << llendl; } } - + clearHTTPThrottleFlag(); + return res; } diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index 634e590fe0..bae2ceff72 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -95,7 +95,8 @@ protected: void removeFromNetworkQueue(LLTextureFetchWorker* worker, bool cancel); void addToHTTPQueue(const LLUUID& id); void removeFromHTTPQueue(const LLUUID& id); - S32 getHTTPQueueSize() { return getNumHTTPRequests(); } + bool isHTTPThrottled(S32 requested_size); + void clearHTTPThrottleFlag(); void removeRequest(LLTextureFetchWorker* worker, bool cancel); // Called from worker thread (during doWork) void processCurlRequests(); @@ -134,6 +135,15 @@ private: F32 mTextureBandwidth; F32 mMaxBandwidth; LLTextureInfo mTextureInfo; + + enum + { + SMALL_TEXTURE = 0 , //size <= 64 * 64 + MEDIUM_TEXTURE, //size <= 256 * 256 + LARGE_TEXTURE, //size > 256 * 256 + TOTAL_TEXTURE_TYPES + }; + BOOL mHTTPThrottleFlag[TOTAL_TEXTURE_TYPES]; }; #endif // LL_LLTEXTUREFETCH_H -- cgit v1.2.3 From e3a33b068dca4cf12a35da8785d2a7c90b621728 Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Wed, 4 Aug 2010 11:38:29 +0300 Subject: EXT-8284 FIXED ('Add More' panel items aren't sorted by clothing type after it was opened by 'Replace' item of context menu) Restored from BAD MERGE at 5b5cc4a8642d Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/750/ --HG-- branch : product-engine --- indra/newview/llcofwearables.cpp | 8 ++++---- indra/newview/llpaneloutfitedit.cpp | 4 ++-- indra/newview/llpaneloutfitedit.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 893400185c..eb950bf6c1 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -163,7 +163,7 @@ public: } protected: - static void replaceWearable() + static void replaceWearable(const LLUUID& item_id) { // *TODO: Most probable that accessing to LLPanelOutfitEdit instance should be: // LLSideTray::getInstance()->getSidepanelAppearance()->getPanelOutfitEdit() @@ -175,7 +175,7 @@ protected: "panel_outfit_edit")); if (panel_outfit_edit != NULL) { - panel_outfit_edit->showAddWearablesPanel(true); + panel_outfit_edit->onReplaceMenuItemClicked(item_id); } } @@ -187,7 +187,7 @@ protected: functor_t take_off = boost::bind(&LLAppearanceMgr::removeItemFromAvatar, LLAppearanceMgr::getInstance(), _1); registrar.add("Clothing.TakeOff", boost::bind(handleMultiple, take_off, mUUIDs)); - registrar.add("Clothing.Replace", boost::bind(replaceWearable)); + registrar.add("Clothing.Replace", boost::bind(replaceWearable, selected_id)); registrar.add("Clothing.Edit", boost::bind(LLAgentWearables::editWearable, selected_id)); registrar.add("Clothing.Create", boost::bind(&CofClothingContextMenu::createNew, this, selected_id)); @@ -244,7 +244,7 @@ protected: // *HACK* need to pass pointer to LLPanelOutfitEdit instead of LLSideTray::getInstance()->getPanel(). // LLSideTray::getInstance()->getPanel() is rather slow variant LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit")); - registrar.add("BodyPart.Replace", boost::bind(&LLPanelOutfitEdit::onReplaceBodyPartMenuItemClicked, panel_oe, selected_id)); + registrar.add("BodyPart.Replace", boost::bind(&LLPanelOutfitEdit::onReplaceMenuItemClicked, panel_oe, selected_id)); registrar.add("BodyPart.Edit", boost::bind(LLAgentWearables::editWearable, selected_id)); registrar.add("BodyPart.Create", boost::bind(&CofBodyPartContextMenu::createNew, this, selected_id)); diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 8b9baef54a..c12f1fbe99 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -609,11 +609,11 @@ void LLPanelOutfitEdit::onAddWearableClicked(void) } } -void LLPanelOutfitEdit::onReplaceBodyPartMenuItemClicked(LLUUID selected_item_id) +void LLPanelOutfitEdit::onReplaceMenuItemClicked(LLUUID selected_item_id) { LLViewerInventoryItem* item = gInventory.getLinkedItem(selected_item_id); - if (item && item->getType() == LLAssetType::AT_BODYPART) + if (item) { showFilteredWearablesListView(item->getWearableType()); } diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 0efc6dc189..5ce707e6eb 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -164,7 +164,7 @@ public: void onRemoveFromOutfitClicked(void); void onEditWearableClicked(void); void onAddWearableClicked(void); - void onReplaceBodyPartMenuItemClicked(LLUUID selected_item_id); + void onReplaceMenuItemClicked(LLUUID selected_item_id); void onShopButtonClicked(); void displayCurrentOutfit(); -- cgit v1.2.3 From d3db9dd2a17a7829e9e577caa5281ef4250c5f62 Mon Sep 17 00:00:00 2001 From: Aimee Linden <aimee@lindenlab.com> Date: Wed, 4 Aug 2010 12:52:44 +0100 Subject: DEV-52379 FIXED (Supplementary) Viewer is not successfully caching object geometry Encapsulated building of the cache filename into a help function to prevent code duplication. Reviewed by Tofu. --- indra/newview/llviewerregion.cpp | 32 ++++++++++++++++++++++---------- indra/newview/llviewerregion.h | 10 ++++++---- 2 files changed, 28 insertions(+), 14 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 004d138221..82fef1d916 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -79,6 +79,8 @@ // format changes. JC const U32 INDRA_OBJECT_CACHE_VERSION = 14; +// Format string used to construct filename for the object cache +static const char OBJECT_CACHE_FILENAME[] = "objects_%d_%d.slc"; extern BOOL gNoRender; @@ -323,13 +325,25 @@ LLViewerRegion::~LLViewerRegion() delete mEventPoll; LLHTTPSender::clearSender(mHost); - saveCache(); + saveObjectCache(); std::for_each(mObjectPartition.begin(), mObjectPartition.end(), DeletePointer()); } -void LLViewerRegion::loadCache() +const std::string LLViewerRegion::getObjectCacheFilename(U64 mHandle) const +{ + std::string filename; + U32 region_x, region_y; + + grid_from_region_handle(mHandle, ®ion_x, ®ion_y); + filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, + llformat(OBJECT_CACHE_FILENAME, region_x, region_y)); + + return filename; +} + +void LLViewerRegion::loadObjectCache() { if (mCacheLoaded) { @@ -341,9 +355,8 @@ void LLViewerRegion::loadCache() LLVOCacheEntry *entry; - std::string filename; - filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,"") + gDirUtilp->getDirDelimiter() + - llformat("objects_%d_%d.slc",U32(mHandle>>32)/REGION_WIDTH_UNITS, U32(mHandle)/REGION_WIDTH_UNITS ); + std::string filename = getObjectCacheFilename(mHandle); + LL_DEBUGS("ObjectCache") << filename << LL_ENDL; LLFILE* fp = LLFile::fopen(filename, "rb"); /* Flawfinder: ignore */ if (!fp) @@ -414,7 +427,7 @@ void LLViewerRegion::loadCache() } -void LLViewerRegion::saveCache() +void LLViewerRegion::saveObjectCache() { if (!mCacheLoaded) { @@ -427,9 +440,8 @@ void LLViewerRegion::saveCache() return; } - std::string filename; - filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,"") + gDirUtilp->getDirDelimiter() + - llformat("objects_%d_%d.slc", U32(mHandle>>32)/REGION_WIDTH_UNITS, U32(mHandle)/REGION_WIDTH_UNITS ); + std::string filename = getObjectCacheFilename(mHandle); + LL_DEBUGS("ObjectCache") << filename << LL_ENDL; LLFILE* fp = LLFile::fopen(filename, "wb"); /* Flawfinder: ignore */ if (!fp) @@ -1454,7 +1466,7 @@ void LLViewerRegion::unpackRegionHandshake() // Now that we have the name, we can load the cache file // off disk. - loadCache(); + loadObjectCache(); // After loading cache, signal that simulator can start // sending data. diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index a9e7ef771c..e15609065c 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -99,9 +99,8 @@ public: ~LLViewerRegion(); // Call this after you have the region name and handle. - void loadCache(); - - void saveCache(); + void loadObjectCache(); + void saveObjectCache(); void sendMessage(); // Send the current message to this region's simulator void sendReliableMessage(); // Send the current message to this region's simulator @@ -330,6 +329,9 @@ public: LLDynamicArray<LLUUID> mMapAvatarIDs; private: + // determine the cache filename for the region from the region handle + const std::string LLViewerRegion::getObjectCacheFilename(U64 mHandle) const; + // The surfaces and other layers LLSurface* mLandp; @@ -404,7 +406,7 @@ private: // Cache ID is unique per-region, across renames, moving locations, // etc. LLUUID mCacheID; - + typedef std::map<std::string, std::string> CapabilityMap; CapabilityMap mCapabilities; -- cgit v1.2.3 From fd4cbed787e4a5e5a06898cdb46fa040163db136 Mon Sep 17 00:00:00 2001 From: Aimee Linden <aimee@lindenlab.com> Date: Wed, 4 Aug 2010 13:18:16 +0100 Subject: DEV-52379 FIXED (Supplementary to my supplementary) Fix Linux build breakage ... oopsie. --- indra/newview/llviewerregion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index e15609065c..8254cf1cad 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -330,7 +330,7 @@ public: private: // determine the cache filename for the region from the region handle - const std::string LLViewerRegion::getObjectCacheFilename(U64 mHandle) const; + const std::string getObjectCacheFilename(U64 mHandle) const; // The surfaces and other layers LLSurface* mLandp; -- cgit v1.2.3 From 11f473210653c27c4ebcda7143cd3122aabc6ba8 Mon Sep 17 00:00:00 2001 From: Tofu Linden <tofu.linden@lindenlab.com> Date: Wed, 4 Aug 2010 14:26:44 +0100 Subject: EXT-8548 FIXED Login screen contains invisible field which blocks keyboard-only login The panel_layout itself was taking focus by default (hmm). --- indra/newview/skins/default/xui/en/panel_login.xml | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 185e458a85..0499873fb0 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -156,6 +156,7 @@ width="135" visible="false" /> </layout_panel> <layout_panel +tab_stop="false" follows="right|bottom" name="links" width="200" -- cgit v1.2.3 From 0f3286af36c94f187f2b4a67d37bc24fcd20f5e6 Mon Sep 17 00:00:00 2001 From: Loren Shih <seraph@lindenlab.com> Date: Wed, 4 Aug 2010 10:21:20 -0400 Subject: EXT-8550 DONE Rewrite "You [ACTION] a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds." for localization Split this into two messages to take out ACTION as requested. --- indra/newview/lltexlayer.cpp | 6 ++---- indra/newview/skins/default/xui/en/notifications.xml | 12 ++++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp index f4f8241b99..1feb987682 100644 --- a/indra/newview/lltexlayer.cpp +++ b/indra/newview/lltexlayer.cpp @@ -542,8 +542,7 @@ void LLTexLayerSetBuffer::doUpload() args["TIME"] = llformat("%d",(U32)mNeedsUploadTimer.getElapsedTimeF32()); args["BODYREGION"] = mTexLayerSet->getBodyRegionName(); args["RESOLUTION"] = lod_str; - args["ACTION"] = "uploaded"; - LLNotificationsUtil::add("AvatarRezSelfBakeNotification",args); + LLNotificationsUtil::add("AvatarRezSelfBakedTextureUploadNotification",args); llinfos << "Uploading [ name: " << mTexLayerSet->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUploadTimer.getElapsedTimeF32() << " ]" << llendl; } } @@ -593,8 +592,7 @@ void LLTexLayerSetBuffer::doUpdate() args["TIME"] = llformat("%d",(U32)mNeedsUpdateTimer.getElapsedTimeF32()); args["BODYREGION"] = mTexLayerSet->getBodyRegionName(); args["RESOLUTION"] = lod_str; - args["ACTION"] = "locally updated"; - LLNotificationsUtil::add("AvatarRezSelfBakeNotification",args); + LLNotificationsUtil::add("AvatarRezSelfBakedTextureUpdateNotification",args); llinfos << "Locally updating [ name: " << mTexLayerSet->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUpdateTimer.getElapsedTimeF32() << " ]" << llendl; } } diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 95ee374e39..3576462cca 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6340,10 +6340,18 @@ Avatar '[NAME]' left as fully loaded. <notification icon="notifytip.tga" - name="AvatarRezSelfBakeNotification" + name="AvatarRezSelfBakedTextureUploadNotification" type="notifytip"> ( [EXISTENCE] seconds alive ) -You [ACTION] a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. +You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. + </notification> + + <notification + icon="notifytip.tga" + name="AvatarRezSelfBakedTextureUpdateNotification" + type="notifytip"> +( [EXISTENCE] seconds alive ) +You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. </notification> <notification -- cgit v1.2.3 From d20e7471ad9881fd5a9a58d69729ba41c3a5e12c Mon Sep 17 00:00:00 2001 From: Andrew Dyukov <adyukov@productengine.com> Date: Fri, 6 Aug 2010 16:00:03 +0300 Subject: EXT-8539 FIXED Fixed title of alpha mask not save if renaming it from 'Editing' panel. Bug happened because name change was not explicitly listed as sufficient reason to save a wearable. So saving failed for alpha masks with only names changed. Other wearables didn't have this problem because they passed precondition even if only name was changed thanking to checks that included visualparams. - Made name change explicitly a sufficient reason to proceed with saving a wearable. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/840/ --HG-- branch : product-engine --- indra/newview/llagentwearables.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 6ee5a8b279..6e3e54df2c 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -388,7 +388,9 @@ void LLAgentWearables::saveWearable(const LLWearableType::EType type, const U32 const std::string new_name) { LLWearable* old_wearable = getWearable(type, index); - if (old_wearable && (old_wearable->isDirty() || old_wearable->isOldVersion())) + if(!old_wearable) return; + bool name_changed = !new_name.empty() && (new_name != old_wearable->getName()); + if (name_changed || old_wearable->isDirty() || old_wearable->isOldVersion()) { LLUUID old_item_id = old_wearable->getItemID(); LLWearable* new_wearable = LLWearableList::instance().createCopy(old_wearable); @@ -404,12 +406,10 @@ void LLAgentWearables::saveWearable(const LLWearableType::EType type, const U32 if (item) { std::string item_name = item->getName(); - bool name_changed = false; - if (!new_name.empty() && (new_name != item->getName())) + if (name_changed) { llinfos << "saveWearable changing name from " << item->getName() << " to " << new_name << llendl; item_name = new_name; - name_changed = true; } // Update existing inventory item LLPointer<LLViewerInventoryItem> template_item = -- cgit v1.2.3 From 326ad1933b0df66f801577c6da290a6dab54d367 Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Fri, 6 Aug 2010 18:50:24 +0300 Subject: EXT-8207 FIXED (Unexpected camera zoom occures if scroll location history drop-down list by mouse wheel) Added parameter for scroll list control that determines opaque of mouse scroll wheel event. Set this parameter to \"true\" in combobox of navigation panel. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/829/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/panel_navigation_bar.xml | 2 ++ indra/newview/skins/default/xui/en/widgets/scroll_list.xml | 1 + 2 files changed, 3 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 2c9d7e4b6a..082d51ed3c 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -97,6 +97,8 @@ name="location_combo" top_delta="0" width="266"> + <combo_list + mouse_wheel_opaque="true"/> <!-- *TODO: Delete. Let the location_input use the correct art sizes. <location_input.add_landmark_button height="18" diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_list.xml b/indra/newview/skins/default/xui/en/widgets/scroll_list.xml index 63166f32b7..66167f5fad 100644 --- a/indra/newview/skins/default/xui/en/widgets/scroll_list.xml +++ b/indra/newview/skins/default/xui/en/widgets/scroll_list.xml @@ -12,6 +12,7 @@ draw_stripes="true" scroll_bar_bg_visible="false" scroll_bar_bg_color="black" + scroll_wheel_opaque="false" background_visible="true" heading_height="23" draw_border="false" -- cgit v1.2.3 From 62466c070490c173296a95ff792b6d9ac64777e6 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk <vsavchuk@productengine.com> Date: Fri, 6 Aug 2010 17:14:01 +0300 Subject: EXT-8577 WIP Context menu items for multi-attachments. Done: - 1. Dropped the obsolete "MultipleAttachments" setting. - 2. Added an "Add" item to the following attachment-related context menus: * My Appearance (ex-My Outfits) context menu. * Edit Outfit -> Add More context menu. * Object in-world context menu. * Inventory context menu. * Object inspector gear menu. - 3. Modified "Attach To / Attach To HUD" to perform the "add" instead of "replace" action. TODO: - Ability to attach multiple objects at once from the Add More panel (bulk attach). - Make sure there's no memleak when you click Wear/Attach in the in-world object context menu and the callback isn't invoked (because e.g. avatar fails to get close enough to the object). Issues: 0. I'm not sure whether LLAgentWearables::userAttachMultipleAttachments() should replace attachments or add them. Assumed the former. 1. I couldn't verify that adding objects from the object inspector menu works because I either could wear an object or see its inspector, not both. 2. > 1. Right-click on an object in your inventory and select "Wear". > VERIFY: Attaches the object and replaces whatever's there; asks for > confirmation before replacing an existing object. I think this is impossible to implement because we don't know in advance what point the object will be attached to, so we can't display a confirmation dialog. Reviewed by Seraph at https://codereview.productengine.com/secondlife/r/843/ --HG-- branch : product-engine --- indra/newview/app_settings/settings.xml | 11 ------- indra/newview/llagentwearables.cpp | 5 +-- indra/newview/llappearancemgr.cpp | 2 +- indra/newview/llinventorybridge.cpp | 19 +++++++++--- indra/newview/llinventorybridge.h | 3 +- indra/newview/llselectmgr.cpp | 9 ++++-- indra/newview/llselectmgr.h | 2 +- indra/newview/llviewerattachmenu.cpp | 2 +- indra/newview/llviewermenu.cpp | 36 +++++++++++++++++----- indra/newview/llwearableitemslist.cpp | 18 +++++++++-- .../default/xui/en/menu_inspect_object_gear.xml | 9 ++++++ indra/newview/skins/default/xui/en/menu_object.xml | 9 ++++++ .../default/xui/en/menu_wearable_list_item.xml | 2 +- 13 files changed, 89 insertions(+), 38 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index bbf3f4fc75..4c52fb015f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5373,17 +5373,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>MultipleAttachments</key> - <map> - <key>Comment</key> - <string>Allow multiple objects to be attached to a single attachment point.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> <key>MuteAmbient</key> <map> <key>Comment</key> diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 6e3e54df2c..337878cf96 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1885,10 +1885,7 @@ void LLAgentWearables::userAttachMultipleAttachments(LLInventoryModel::item_arra msg->nextBlockFast(_PREHASH_ObjectData ); msg->addUUIDFast(_PREHASH_ItemID, item->getLinkedUUID()); msg->addUUIDFast(_PREHASH_OwnerID, item->getPermissions().getOwner()); - if (gSavedSettings.getBOOL("MultipleAttachments")) - msg->addU8Fast(_PREHASH_AttachmentPt, 0 | ATTACHMENT_ADD ); - else - msg->addU8Fast(_PREHASH_AttachmentPt, 0 ); // Wear at the previous or default attachment point + msg->addU8Fast(_PREHASH_AttachmentPt, 0 ); // Wear at the previous or default attachment point pack_permissions_slam(msg, item->getFlags(), item->getPermissions()); msg->addStringFast(_PREHASH_Name, item->getName()); msg->addStringFast(_PREHASH_Description, item->getDescription()); diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 296a580106..cecb2ee6ad 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1012,7 +1012,7 @@ bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_up addCOFItemLink(item_to_wear, do_update, cb); break; case LLAssetType::AT_OBJECT: - rez_attachment(item_to_wear, NULL); + rez_attachment(item_to_wear, NULL, replace); break; default: return false;; } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 38f3521b2d..7e710ce8e1 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -3936,7 +3936,7 @@ void LLObjectBridge::performAction(LLInventoryModel* model, std::string action) item = (LLViewerInventoryItem*)gInventory.getItem(object_id); if(item && gInventory.isObjectDescendentOf(object_id, gInventory.getRootFolderID())) { - rez_attachment(item, NULL); + rez_attachment(item, NULL, true); // Replace if "Wear"ing. } else if(item && item->isFinished()) { @@ -3952,6 +3952,10 @@ void LLObjectBridge::performAction(LLInventoryModel* model, std::string action) } gFocusMgr.setKeyboardFocus(NULL); } + else if ("wear_add" == action) + { + LLAppearanceMgr::instance().wearItemOnAvatar(mUUID, true, false); // Don't replace if adding. + } else if (isRemoveAction(action)) { LLInventoryItem* item = gInventory.getItem(mUUID); @@ -3998,7 +4002,7 @@ std::string LLObjectBridge::getLabelSuffix() const } } -void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attachment) +void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attachment, bool replace) { LLSD payload; payload["item_id"] = item->getLinkedUUID(); // Wear the base object in case this is a link. @@ -4017,9 +4021,14 @@ void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attach } } + if (!replace) + { + attach_pt |= ATTACHMENT_ADD; + } + payload["attachment_point"] = attach_pt; - if (!gSavedSettings.getBOOL("MultipleAttachments") && + if (replace && (attachment && attachment->getNumObjects() > 0)) { LLNotificationsUtil::add("ReplaceAttachment", LLSD(), payload, confirm_replace_attachment_rez); @@ -4048,8 +4057,6 @@ bool confirm_replace_attachment_rez(const LLSD& notification, const LLSD& respon if (itemp) { U8 attachment_pt = notification["payload"]["attachment_point"].asInteger(); - if (gSavedSettings.getBOOL("MultipleAttachments")) - attachment_pt |= ATTACHMENT_ADD; LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_RezSingleAttachmentFromInv); @@ -4106,6 +4113,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) { items.push_back(std::string("Wearable And Object Separator")); items.push_back(std::string("Wearable And Object Wear")); + items.push_back(std::string("Wearable Add")); items.push_back(std::string("Attach To")); items.push_back(std::string("Attach To HUD")); // commented out for DEV-32347 @@ -4114,6 +4122,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) if (!gAgentAvatarp->canAttachMoreObjects()) { disabled_items.push_back(std::string("Wearable And Object Wear")); + disabled_items.push_back(std::string("Wearable Add")); disabled_items.push_back(std::string("Attach To")); disabled_items.push_back(std::string("Attach To HUD")); } diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 91055eb906..00e8b0fb08 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -594,7 +594,8 @@ public: }; void rez_attachment(LLViewerInventoryItem* item, - LLViewerJointAttachment* attachment); + LLViewerJointAttachment* attachment, + bool replace = false); // Move items from an in-world object's "Contents" folder to a specified // folder in agent inventory. diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 050b87bbe0..21f8485e90 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -3615,7 +3615,7 @@ void LLSelectMgr::selectionSetObjectSaleInfo(const LLSaleInfo& sale_info) // Attachments //---------------------------------------------------------------------- -void LLSelectMgr::sendAttach(U8 attachment_point) +void LLSelectMgr::sendAttach(U8 attachment_point, bool replace) { LLViewerObject* attach_object = mSelectedObjects->getFirstRootObject(); @@ -3629,9 +3629,12 @@ void LLSelectMgr::sendAttach(U8 attachment_point) if (0 == attachment_point || get_if_there(gAgentAvatarp->mAttachmentPoints, (S32)attachment_point, (LLViewerJointAttachment*)NULL)) { - - if (gSavedSettings.getBOOL("MultipleAttachments")) + if (!replace || attachment_point != 0) + { + // If we know the attachment point then we got here by clicking an + // "Attach to..." context menu item, so we should add, not replace. attachment_point |= ATTACHMENT_ADD; + } sendListToRegions( "ObjectAttach", diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index 668c04cf15..4c64c77b83 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -612,7 +612,7 @@ public: // verification only, if it doesn't match region info then sale is // canceled void sendBuy(const LLUUID& buyer_id, const LLUUID& category_id, const LLSaleInfo sale_info); - void sendAttach(U8 attachment_point); + void sendAttach(U8 attachment_point, bool replace); void sendDetach(); void sendDropAttachment(); void sendLink(); diff --git a/indra/newview/llviewerattachmenu.cpp b/indra/newview/llviewerattachmenu.cpp index f683bd8674..5b3c4ea773 100644 --- a/indra/newview/llviewerattachmenu.cpp +++ b/indra/newview/llviewerattachmenu.cpp @@ -122,7 +122,7 @@ void LLViewerAttachMenu::attachObjects(const uuid_vec_t& items, const std::strin LLViewerInventoryItem* item = (LLViewerInventoryItem*)gInventory.getLinkedItem(id); if(item && gInventory.isObjectDescendentOf(id, gInventory.getRootFolderID())) { - rez_attachment(item, attachmentp); + rez_attachment(item, attachmentp); // don't replace if called from an "Attach To..." menu } else if(item && item->isFinished()) { diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index a83980dc23..92195f0a4d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5852,6 +5852,7 @@ void handle_buy_land() class LLObjectAttachToAvatar : public view_listener_t { public: + LLObjectAttachToAvatar(bool replace) : mReplace(replace) {} static void setObjectSelection(LLObjectSelectionHandle selection) { sObjectSelection = selection; } private: @@ -5865,22 +5866,38 @@ private: LLViewerJointAttachment* attachment_point = NULL; if (index > 0) attachment_point = get_if_there(gAgentAvatarp->mAttachmentPoints, index, (LLViewerJointAttachment*)NULL); - confirm_replace_attachment(0, attachment_point); + confirmReplaceAttachment(0, attachment_point); } return true; } + static void onNearAttachObject(BOOL success, void *user_data); + void confirmReplaceAttachment(S32 option, LLViewerJointAttachment* attachment_point); + + struct CallbackData + { + CallbackData(LLViewerJointAttachment* point, bool replace) : mAttachmentPoint(point), mReplace(replace) {} + + LLViewerJointAttachment* mAttachmentPoint; + bool mReplace; + }; + protected: static LLObjectSelectionHandle sObjectSelection; + bool mReplace; }; LLObjectSelectionHandle LLObjectAttachToAvatar::sObjectSelection; -void near_attach_object(BOOL success, void *user_data) +// static +void LLObjectAttachToAvatar::onNearAttachObject(BOOL success, void *user_data) { + if (!user_data) return; + CallbackData* cb_data = static_cast<CallbackData*>(user_data); + if (success) { - const LLViewerJointAttachment *attachment = (LLViewerJointAttachment *)user_data; + const LLViewerJointAttachment *attachment = cb_data->mAttachmentPoint; U8 attachment_id = 0; if (attachment) @@ -5900,12 +5917,15 @@ void near_attach_object(BOOL success, void *user_data) // interpret 0 as "default location" attachment_id = 0; } - LLSelectMgr::getInstance()->sendAttach(attachment_id); + LLSelectMgr::getInstance()->sendAttach(attachment_id, cb_data->mReplace); } LLObjectAttachToAvatar::setObjectSelection(NULL); + + delete cb_data; } -void confirm_replace_attachment(S32 option, void* user_data) +// static +void LLObjectAttachToAvatar::confirmReplaceAttachment(S32 option, LLViewerJointAttachment* attachment_point) { if (option == 0/*YES*/) { @@ -5930,7 +5950,8 @@ void confirm_replace_attachment(S32 option, void* user_data) delta = delta * 0.5f; walkToSpot -= delta; - gAgent.startAutoPilotGlobal(gAgent.getPosGlobalFromAgent(walkToSpot), "Attach", NULL, near_attach_object, user_data, stop_distance); + CallbackData* user_data = new CallbackData(attachment_point, mReplace); // *TODO: leak if the callback isn't called? + gAgent.startAutoPilotGlobal(gAgent.getPosGlobalFromAgent(walkToSpot), "Attach", NULL, onNearAttachObject, user_data, stop_distance); gAgentCamera.clearFocusObject(); } } @@ -8115,7 +8136,8 @@ void initialize_menus() commit.add("Object.Touch", boost::bind(&handle_object_touch)); commit.add("Object.SitOrStand", boost::bind(&handle_object_sit_or_stand)); commit.add("Object.Delete", boost::bind(&handle_object_delete)); - view_listener_t::addMenu(new LLObjectAttachToAvatar(), "Object.AttachToAvatar"); + view_listener_t::addMenu(new LLObjectAttachToAvatar(true), "Object.AttachToAvatar"); + view_listener_t::addMenu(new LLObjectAttachToAvatar(false), "Object.AttachAddToAvatar"); view_listener_t::addMenu(new LLObjectReturn(), "Object.Return"); view_listener_t::addMenu(new LLObjectReportAbuse(), "Object.ReportAbuse"); view_listener_t::addMenu(new LLObjectMute(), "Object.Mute"); diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index c9130b56b4..194213f880 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -863,12 +863,13 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu } // for bool standalone = mParent ? mParent->isStandalone() : false; + bool wear_add_visible = mask & (MASK_CLOTHING|MASK_ATTACHMENT) && n_worn == 0 && can_be_worn && (n_already_worn != 0 || mask & MASK_ATTACHMENT); // *TODO: eliminate multiple traversals over the menu items setMenuItemVisible(menu, "wear_wear", n_already_worn == 0 && n_worn == 0 && can_be_worn); setMenuItemEnabled(menu, "wear_wear", n_already_worn == 0 && n_worn == 0); - setMenuItemVisible(menu, "wear_add", mask == MASK_CLOTHING && n_worn == 0 && n_already_worn != 0 && can_be_worn); - setMenuItemEnabled(menu, "wear_add", n_items == 1 && canAddWearable(ids.front()) && n_already_worn != 0); + setMenuItemVisible(menu, "wear_add", wear_add_visible); + setMenuItemEnabled(menu, "wear_add", n_items == 1 && canAddWearable(ids.front())); setMenuItemVisible(menu, "wear_replace", n_worn == 0 && n_already_worn != 0 && can_be_worn); //visible only when one item selected and this item is worn setMenuItemVisible(menu, "edit", !standalone && mask & (MASK_CLOTHING|MASK_BODYPART) && n_worn == n_items && n_worn == 1); @@ -984,7 +985,18 @@ bool LLWearableItemsList::ContextMenu::canAddWearable(const LLUUID& item_id) // TODO: investigate wearables may not be loaded at this point EXT-8231 LLViewerInventoryItem* item = gInventory.getItem(item_id); - if (!item || item->getType() != LLAssetType::AT_CLOTHING) + if (!item) + { + return false; + } + + if (item->getType() == LLAssetType::AT_OBJECT) + { + // *TODO: is this the right check? + return isAgentAvatarValid() && gAgentAvatarp->canAttachMoreObjects(); + } + + if (item->getType() != LLAssetType::AT_CLOTHING) { return false; } diff --git a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml index 8ec7689819..76f68c6d4b 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml @@ -88,6 +88,15 @@ <menu_item_call.on_visible function="Object.EnableWear" /> </menu_item_call> + <menu_item_call + label="Add" + layout="topleft" + name="add"> + <menu_item_call.on_click + function="Object.AttachAddToAvatar" /> + <menu_item_call.on_visible + function="Object.EnableWear" /> + </menu_item_call> <menu_item_call label="Report" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/menu_object.xml b/indra/newview/skins/default/xui/en/menu_object.xml index b6cc222e96..31f70d99ca 100644 --- a/indra/newview/skins/default/xui/en/menu_object.xml +++ b/indra/newview/skins/default/xui/en/menu_object.xml @@ -83,6 +83,15 @@ <menu_item_call.on_enable function="Object.EnableWear" /> </menu_item_call> + <menu_item_call + enabled="false" + label="Add" + name="Add"> + <menu_item_call.on_click + function="Object.AttachAddToAvatar" /> + <menu_item_call.on_enable + function="Object.EnableWear" /> + </menu_item_call> <context_menu label="Attach ▶" name="Object Attach" /> diff --git a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml index 8af2e1eaca..5feac53c33 100644 --- a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml @@ -13,7 +13,7 @@ layout="topleft" name="wear_wear"> <on_click - function="Wearable.Add" /> + function="Wearable.Wear" /> </menu_item_call> <menu_item_call label="Add" -- cgit v1.2.3 From 00a8b68d1c0f0a4e0d3530c950a669d058b2470c Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Fri, 6 Aug 2010 20:25:57 +0300 Subject: Fixed erroneously unrenamed parameter name --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/widgets/scroll_list.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_list.xml b/indra/newview/skins/default/xui/en/widgets/scroll_list.xml index 66167f5fad..dd93675807 100644 --- a/indra/newview/skins/default/xui/en/widgets/scroll_list.xml +++ b/indra/newview/skins/default/xui/en/widgets/scroll_list.xml @@ -12,7 +12,7 @@ draw_stripes="true" scroll_bar_bg_visible="false" scroll_bar_bg_color="black" - scroll_wheel_opaque="false" + mouse_wheel_opaque="false" background_visible="true" heading_height="23" draw_border="false" -- cgit v1.2.3 From 9c2694c682edcd1a25b25fe513a416daa8062830 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk <slitovchuk@productengine.com> Date: Wed, 4 Aug 2010 19:34:55 +0300 Subject: Backed out changeset: b81927151a18. Fix of EXT-3981 reverted to fix EXT-4379. --HG-- branch : product-engine --- indra/newview/llfolderview.cpp | 3 +-- indra/newview/llfolderview.h | 2 -- indra/newview/llinventorypanel.cpp | 15 --------------- indra/newview/llinventorypanel.h | 4 ---- 4 files changed, 1 insertion(+), 23 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index d3d52e20f7..be15ab7b98 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -184,7 +184,6 @@ LLFolderView::LLFolderView(const Params& p) mSourceID(p.task_id), mRenameItem( NULL ), mNeedsScroll( FALSE ), - mEnableScroll( true ), mUseLabelSuffix(p.use_label_suffix), mPinningSelectedItem(FALSE), mNeedsAutoSelect( FALSE ), @@ -1980,7 +1979,7 @@ void LLFolderView::deleteAllChildren() void LLFolderView::scrollToShowSelection() { - if (mEnableScroll && mSelectedItems.size()) + if (mSelectedItems.size()) { mNeedsScroll = TRUE; } diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h index f1d39a41ae..a7763e8eeb 100644 --- a/indra/newview/llfolderview.h +++ b/indra/newview/llfolderview.h @@ -274,7 +274,6 @@ public: void dumpSelectionInformation(); virtual S32 notify(const LLSD& info) ; - void setEnableScroll(bool enable_scroll) { mEnableScroll = enable_scroll; } bool useLabelSuffix() { return mUseLabelSuffix; } private: @@ -309,7 +308,6 @@ protected: LLLineEditor* mRenamer; BOOL mNeedsScroll; - bool mEnableScroll; BOOL mPinningSelectedItem; LLRect mScrollConstraintRect; BOOL mNeedsAutoSelect; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index ac92f41624..3683585321 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -706,21 +706,6 @@ BOOL LLInventoryPanel::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, return handled; } -// virtual -void LLInventoryPanel::onMouseEnter(S32 x, S32 y, MASK mask) -{ - LLPanel::onMouseEnter(x, y, mask); - // don't auto-scroll a list when cursor is over Inventory. See EXT-3981. - mFolderRoot->setEnableScroll(false); -} - -// virtual -void LLInventoryPanel::onMouseLeave(S32 x, S32 y, MASK mask) -{ - LLPanel::onMouseLeave(x, y, mask); - mFolderRoot->setEnableScroll(true); -} - void LLInventoryPanel::onFocusLost() { // inventory no longer handles cut/copy/paste/delete diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index c9e317f816..4db995b0c4 100644 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -121,10 +121,6 @@ public: void* cargo_data, EAcceptance* accept, std::string& tooltip_msg); - - void onMouseEnter(S32 x, S32 y, MASK mask); - void onMouseLeave(S32 x, S32 y, MASK mask); - // LLUICtrl methods /*virtual*/ void onFocusLost(); /*virtual*/ void onFocusReceived(); -- cgit v1.2.3 From 8f56413c919b4e76de0865534e2c10fc0e8b57b4 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao <bao@lindenlab.com> Date: Wed, 4 Aug 2010 10:55:07 -0600 Subject: more fix for EXT-7397: decoding textures get stuck in REQ status --- indra/newview/lltexturefetch.cpp | 2 +- indra/newview/lltexturefetch.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 63bcdcda2d..65a40a5b3a 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1707,7 +1707,7 @@ bool LLTextureFetch::isHTTPThrottled(S32 requested_size) if(mHTTPTextureQueue.size() >= MAX_HTTP_QUEUE_SIZE)//if the http queue is full. { - if(!mHTTPThrottleFlag[TOTAL_TEXTURE_TYPES - 1]) + if(!mHTTPThrottleFlag[type + 1]) { for(S32 i = type + 1 ; i < TOTAL_TEXTURE_TYPES; i++) //block all requests with fetching size larger than this request. { diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index bae2ceff72..c31c38b04a 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -141,6 +141,7 @@ private: SMALL_TEXTURE = 0 , //size <= 64 * 64 MEDIUM_TEXTURE, //size <= 256 * 256 LARGE_TEXTURE, //size > 256 * 256 + DUMMY, TOTAL_TEXTURE_TYPES }; BOOL mHTTPThrottleFlag[TOTAL_TEXTURE_TYPES]; -- cgit v1.2.3 From 7253c7eeb156f9f6cd75f52b0df856ec8ef165fb Mon Sep 17 00:00:00 2001 From: Andrew Dyukov <adyukov@productengine.com> Date: Wed, 4 Aug 2010 21:13:11 +0300 Subject: EXT-7511 FIXED Fixed item selection cropping in Edit Outfit Restored changeset which was lost after merge 58571b4e704b. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/780/ --HG-- branch : product-engine --- indra/newview/llinventorylistitem.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorylistitem.cpp b/indra/newview/llinventorylistitem.cpp index e4a7a158a3..2546390fcb 100644 --- a/indra/newview/llinventorylistitem.cpp +++ b/indra/newview/llinventorylistitem.cpp @@ -96,9 +96,12 @@ void LLPanelInventoryListItemBase::draw() if (mSeparatorVisible && mSeparatorImage) { - // stretch along bottom of listitem, using image height + // place under bottom of listitem, using image height + // item_pad in list using the item should be >= image height + // to avoid cropping of top of the next item. LLRect separator_rect = getLocalRect(); - separator_rect.mTop = mSeparatorImage->getHeight(); + separator_rect.mTop = separator_rect.mBottom; + separator_rect.mBottom -= mSeparatorImage->getHeight(); mSeparatorImage->draw(separator_rect); } -- cgit v1.2.3 From b3fd508cff74da6b8620dc440482e41fabc9337a Mon Sep 17 00:00:00 2001 From: Eli Linden <eli@lindenlab.com> Date: Wed, 4 Aug 2010 12:51:12 -0700 Subject: CT-575 WIP PT translation for set16 for Viewer 2.1.1 --- indra/newview/skins/default/xui/fr/strings.xml | 2 +- .../default/xui/pt/floater_preview_gesture.xml | 7 +- .../skins/default/xui/pt/floater_world_map.xml | 13 ++-- indra/newview/skins/default/xui/pt/menu_viewer.xml | 2 +- .../newview/skins/default/xui/pt/notifications.xml | 7 +- .../skins/default/xui/pt/panel_group_notices.xml | 2 +- .../skins/default/xui/pt/panel_group_roles.xml | 18 ++--- .../default/xui/pt/panel_preferences_sound.xml | 10 ++- .../default/xui/pt/panel_teleport_history.xml | 3 +- .../skins/default/xui/pt/sidepanel_item_info.xml | 3 +- indra/newview/skins/default/xui/pt/strings.xml | 89 +++++++++++++++++++++- 11 files changed, 125 insertions(+), 31 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 7aadaed209..c2a0e173ed 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -541,7 +541,7 @@ Va te faire voir ! </string> <string name="anim_express_kiss"> - Baiser + Envoyer un baiser </string> <string name="anim_laugh_short"> Rire diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml index a01bee94a1..80bdbb0fb4 100644 --- a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Biblioteca: </text> - <scroll_list name="library_list" width="84"/> + <scroll_list name="library_list" width="84"> + <scroll_list.rows name="action_animation" value="Animação"/> + <scroll_list.rows name="action_sound" value="Som"/> + <scroll_list.rows name="action_chat" value="Bate-papo"/> + <scroll_list.rows name="action_wait" value="Espere"/> + </scroll_list> <button label="Incluir" left="118" name="add_btn" width="87"/> <text name="steps_label"> Passos: diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml index 77d0c787e7..490a975e80 100644 --- a/indra/newview/skins/default/xui/pt/floater_world_map.xml +++ b/indra/newview/skins/default/xui/pt/floater_world_map.xml @@ -6,7 +6,7 @@ </text> </panel> <panel name="layout_panel_2"> - <button font="SansSerifSmall" label="Mostra minha localização" label_selected="Mostra minha localização" left_delta="91" name="Show My Location" tool_tip="Centrar o mapa na localização do meu avatar" /> + <button font="SansSerifSmall" label="Mostra minha localização" label_selected="Mostra minha localização" left_delta="91" name="Show My Location" tool_tip="Centrar o mapa na localização do meu avatar"/> <text name="me_label"> Eu </text> @@ -22,12 +22,12 @@ <text name="land_sale_label"> Terreno à venda </text> - <text name="by_owner_label"> - pelo dono - </text> <text name="auction_label"> leilão </text> + <text name="by_owner_label"> + pelo dono + </text> <button label="Voltar ao meu início" label_selected="Voltar ao meu início" name="Go Home" tool_tip="Teletransportar para meu início"/> <text name="Home_label"> Início @@ -39,7 +39,7 @@ <text name="pg_label"> Geral </text> - <check_box label="Mature" name="events_mature_chk"/> + <check_box initial_value="true" label="Mature" name="events_mature_chk"/> <text name="events_mature_label"> Moderado </text> @@ -63,6 +63,9 @@ <search_editor label="Regiões por nome" name="location" tool_tip="Digite o nome da região"/> <button label="Buscar" name="DoSearch" tool_tip="Buscar região"/> <button name="Clear" tool_tip="Limpar linhas e redefinir mapa"/> + <text name="events_label"> + Local: + </text> <button font="SansSerifSmall" label="Teletransportar" label_selected="Teletransporte" name="Teleport" tool_tip="Teletransportar para o lugar selecionado"/> <button font="SansSerifSmall" label="Copiar SLurl" name="copy_slurl" tool_tip="Copia a localização atual como um SLurl para usar na web."/> <button font="SansSerifSmall" label="Mostrar seleção" label_selected="Mostrar Destino" left_delta="91" name="Show Destination" tool_tip="Centrar mapa no local selecionado" width="135"/> diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml index d5e0808000..33fccbedcc 100644 --- a/indra/newview/skins/default/xui/pt/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Scripts em modo não execução" name="Set Scripts to Not Running"/> </menu> <menu label="Opções" name="Options"> + <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/> <menu_item_check label="Mostrar permissões avançadas" name="DebugPermissions"/> <menu_item_check label="Só selecionar meus objetos" name="Select Only My Objects"/> <menu_item_check label="Só selecionar objetos móveis" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/> <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/> <menu_item_call label="Volume (L$[COST] por arquivo)..." name="Bulk Upload"/> - <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/> </menu> </menu> <menu label="Ajuda" name="Help"> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index 2a1b5f995a..a6645d8b13 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -356,7 +356,7 @@ Tem certeza de que quer prosseguir? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Apagar"/> </notification> <notification name="DeleteOutfits"> - Excluir o look selecionado? + Excluir look(s) selecionado(s)? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="PromptGoToEventsPage"> @@ -2729,7 +2729,7 @@ Avatar '[NAME]' saiu totalmente carregado. </notification> <notification name="AvatarRezSelfBakeNotification"> ( [EXISTENCE] segundos de vida ) -Você carregou uma textura com [RESOLUTION] para o(a) '[BODYREGION]' em [TIME] segundos. +[ACTION] de textura com [RESOLUTION] para o(a) '[BODYREGION]' em [TIME] segundos. </notification> <notification name="ConfirmLeaveCall"> Tem certeza de que quer sair desta ligação? @@ -2767,4 +2767,7 @@ Se você continuar a receber esta mensagem, consulte o [SUPPORT_SITE]. Se você tem um terreno, seu terreno pode ser seu início. Outra opção é procurar por lugares com a tag 'Infohub' no mapa. </global> + <global name="You died and have been teleported to your home location"> + Você morreu e foi reenviado ao seu início. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/pt/panel_group_notices.xml b/indra/newview/skins/default/xui/pt/panel_group_notices.xml index 9ccb85cdf6..21136d06fb 100644 --- a/indra/newview/skins/default/xui/pt/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_notices.xml @@ -18,7 +18,7 @@ Cada grupo pode enviar no máximo 200 avisos/dia <text name="notice_list_none_found"> Nenhum resultado foi encontrado. </text> - <button label="Criar um novo aviso" label_selected="Criar nova notícia" name="create_new_notice" tool_tip="Criar um novo aviso"/> + <button label="Novo aviso" label_selected="Criar nova notícia" name="create_new_notice" tool_tip="Criar um novo aviso"/> <button label="Atualizar" label_selected="Atualizar lista" name="refresh_notices" tool_tip="Atualizar lista de avisos"/> <panel label="Criar nova notícia" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml index 9c3792ec43..c861e29624 100644 --- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml @@ -11,6 +11,9 @@ <panel.string name="help_text"> Você pode adicionar ou remover as funções designadas aos membros. Selecione vários membros, segurando a tecla Ctrl e clicando em seus nomes. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtrar por membro" name="filter_input"/> <name_list bottom_delta="-105" height="104" name="member_list"> <name_list.columns label="Membro" name="name"/> @@ -63,21 +66,15 @@ Há uma grande variedade de habilidades. <text name="static"> Nome da função </text> - <line_editor name="role_name"> - Empregados - </line_editor> + <line_editor name="role_name"/> <text name="static3"> Título da função </text> - <line_editor name="role_title"> - (esperando) - </line_editor> + <line_editor name="role_title"/> <text name="static2"> Descrição </text> - <text_editor name="role_description"> - (esperando) - </text_editor> + <text_editor name="role_description"/> <text name="static4"> Cargos desempenhados </text> @@ -88,9 +85,6 @@ Há uma grande variedade de habilidades. <scroll_list name="role_allowed_actions" tool_tip="Clique na guia Funções para ver mais detalhes"/> </panel> <panel name="actions_footer"> - <text name="static"> - Descrição da função - </text> <text_editor name="action_description"> Essa habilidade permite tirar alguem do grupo. Somente o dono do grupo poderá retirar outro dono do grupo. </text_editor> diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml index 43c970841a..5be07f4d1f 100644 --- a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Ativado" name="enable_media"/> <slider label="Bate-papo de voz" name="Voice Volume"/> <check_box label="Ativado" name="enable_voice_check"/> - <check_box label="Autorizar auto-play de mídias" name="media_auto_play_btn" tool_tip="Marque esta opção para auto-executar mídias, se elas quiserem"/> - <check_box label="Tocar mídia anexada em outros avatares" name="media_show_on_others_btn" tool_tip="Desmarque esta opção para ocultar mídias anexadas em avatares por perto"/> + <check_box label="Autorizar auto-play de mídias" name="media_auto_play_btn" tool_tip="Marque esta opção para auto-executar mídias, se elas quiserem" value="true"/> + <check_box label="Tocar mídia anexada em outros avatares" name="media_show_on_others_btn" tool_tip="Desmarque esta opção para ocultar mídias anexadas em avatares por perto" value="true"/> <text name="voice_chat_settings"> Configuração de bate-papo de voz </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Padrão </panel.string> + <panel.string name="default system device"> + Dispositivo padrão do sistema + </panel.string> + <panel.string name="no device"> + Nenhum + </panel.string> <text name="Input"> Entrada </text> diff --git a/indra/newview/skins/default/xui/pt/panel_teleport_history.xml b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml index ba83fee7ba..b77064a1ff 100644 --- a/indra/newview/skins/default/xui/pt/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups/[SEARCH_TERM] Busca]."/> + <no_visible_tabs_text name="no_teleports_msg" value="Histórico de teletransportes vazio. Tente fazer uma [secondlife:///app/search/groups Busca]."/> <accordion_tab name="today" title="Hoje"/> <accordion_tab name="yesterday" title="Ontem"/> <accordion_tab name="2_days_ago" title="2 dias atrás"/> - 5 <accordion_tab name="3_days_ago" title="3 dias atrás"/> <accordion_tab name="4_days_ago" title="4 dias atrás"/> <accordion_tab name="5_days_ago" title="5 dias atrás"/> diff --git a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml index d2050f4660..5af3a73d3d 100644 --- a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="Perfil do item"/> <text name="origin" value="(Inventário)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> Nome: </text> diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index f0a4a4e2a6..4bf2bda248 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -645,6 +645,9 @@ <string name="worldmap_offline"> Offline </string> + <string name="worldmap_item_tooltip_format"> + L$[PRICE] por [AREA] m² + </string> <string name="worldmap_results_none_found"> Nenhum encontrado. </string> @@ -1034,6 +1037,7 @@ <string name="AnimFlagStop" value="Parar animação"/> <string name="AnimFlagStart" value="Iniciar animação"/> <string name="Wave" value="Acenar"/> + <string name="GestureActionNone" value="Nenhum"/> <string name="HelloAvatar" value="Olá, avatar!"/> <string name="ViewAllGestures" value="Ver todos>>"/> <string name="GetMoreGestures" value="Mais >>"/> @@ -1116,12 +1120,12 @@ <string name="InvFolder Favorite"> Favoritos </string> - <string name="InvFolder favorite"> - Favoritos - </string> <string name="InvFolder Current Outfit"> Look atual </string> + <string name="InvFolder Initial Outfits"> + Looks iniciais + </string> <string name="InvFolder My Outfits"> Meus looks </string> @@ -1441,6 +1445,7 @@ <string name="SummaryForTheWeek" value="Resumo para esta semana, com início em"/> <string name="NextStipendDay" value="Próximo dia de salário é"/> <string name="GroupIndividualShare" value="Grupo Divisão individualI"/> + <string name="GroupColumn" value="Grupo"/> <string name="Balance"> Balanço </string> @@ -1654,6 +1659,12 @@ <string name="BusyModeResponseDefault"> O residente para o qual escreveu está no modo 'ocupado', ou seja, ele prefere não receber nada no momento. Sua mensagem será exibida como uma MI mais tarde. </string> + <string name="NoOutfits"> + Você ainda não tem nenhum look. Tente encontrar um na [secondlife:///app/search/groups Busca]. + </string> + <string name="NoOutfitsTabsMatched"> + Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/people/[SEARCH_TERM] Busca]. + </string> <string name="MuteByName"> (por nome) </string> @@ -3573,6 +3584,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. <string name="group_role_owners"> Proprietários </string> + <string name="group_member_status_online"> + Conectado + </string> <string name="uploading_abuse_report"> Carregando... @@ -3626,9 +3640,15 @@ Denunciar abuso <string name="Invalid Wearable"> Item inválido </string> + <string name="New Gesture"> + Novo gesto + </string> <string name="New Script"> Novo script </string> + <string name="New Note"> + Nova nota + </string> <string name="New Folder"> Nova pasta </string> @@ -3686,6 +3706,15 @@ Denunciar abuso <string name="Male - Wow"> Wow - masculino </string> + <string name="Female - Chuckle"> + Engraçado - Feminino + </string> + <string name="Female - Cry"> + Chorar - Feminino + </string> + <string name="Female - Embarrassed"> + Com vergonha - Feminino + </string> <string name="Female - Excuse me"> Perdão - fem </string> @@ -3704,9 +3733,21 @@ Denunciar abuso <string name="Female - Hey"> Ôpa - feminino </string> + <string name="Female - Hey baby"> + E aí, beliza? - Feminino + </string> <string name="Female - Laugh"> Risada - feminina </string> + <string name="Female - Looking good"> + Que chique - Feminino + </string> + <string name="Female - Over here"> + Acenar - Feminino + </string> + <string name="Female - Please"> + Por favor - Feminino + </string> <string name="Female - Repulsed"> Quero distância! - feminino </string> @@ -3756,4 +3797,46 @@ Denunciar abuso <string name="dateTimePM"> PM </string> + <string name="LocalEstimateUSD"> + US$ [AMOUNT] + </string> + <string name="Membership"> + Plano + </string> + <string name="Roles"> + Cargos + </string> + <string name="Group Identity"> + Identidade do lote + </string> + <string name="Parcel Management"> + Gestão do lote + </string> + <string name="Parcel Identity"> + ID do lote + </string> + <string name="Parcel Settings"> + Configurações do lote + </string> + <string name="Parcel Powers"> + Poderes do lote + </string> + <string name="Parcel Access"> + Acesso ao lote + </string> + <string name="Parcel Content"> + Conteúdo do lote + </string> + <string name="Object Management"> + Gestão de objetos + </string> + <string name="Accounting"> + Contabilidade + </string> + <string name="Notices"> + Avisos + </string> + <string name="Chat"> + Bate-papo + </string> </strings> -- cgit v1.2.3 From e6d5cc3bd1d678eaad7869a70b75d92772db3fc7 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Wed, 4 Aug 2010 17:21:33 -0400 Subject: EXT-8283 FIX, EXT-8360 FIX - original fixes got broken, presumably during some merge --- indra/newview/llcofwearables.cpp | 6 +++++- indra/newview/llinventoryobserver.cpp | 31 +++++++++++++++++++++++++------ indra/newview/llinventoryobserver.h | 10 +++------- indra/newview/llpaneloutfitedit.cpp | 6 +++++- 4 files changed, 38 insertions(+), 15 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index eb950bf6c1..acb513106d 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -396,7 +396,11 @@ void LLCOFWearables::refresh() return; } - if (mCOFVersion == catp->getVersion()) return; + // BAP - this check has to be removed because an item name change does not + // change cat version - ie, checking version is not a complete way + // of finding out whether anything has changed in this category. + //if (mCOFVersion == catp->getVersion()) return; + mCOFVersion = catp->getVersion(); typedef std::vector<LLSD> values_vector_t; diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp index 5416f01033..54b8f3a8a4 100644 --- a/indra/newview/llinventoryobserver.cpp +++ b/indra/newview/llinventoryobserver.cpp @@ -708,7 +708,7 @@ void LLInventoryCategoriesObserver::changed(U32 mask) const S32 current_num_known_descendents = cats->count() + items->count(); - LLCategoryData cat_data = (*iter).second; + LLCategoryData& cat_data = (*iter).second; bool cat_changed = false; @@ -722,11 +722,17 @@ void LLInventoryCategoriesObserver::changed(U32 mask) } // If any item names have changed, update the name hash - LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cat_id); - if (cat_data.mItemNameHash != item_name_hash) + // Only need to check if (a) name hash has not previously been + // computed, or (b) a name has changed. + if (!cat_data.mIsNameHashInitialized || (mask & LLInventoryObserver::LABEL)) { - cat_data.mItemNameHash = item_name_hash; - cat_changed = true; + LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cat_id); + if (cat_data.mItemNameHash != item_name_hash) + { + cat_data.mIsNameHashInitialized = true; + cat_data.mItemNameHash = item_name_hash; + cat_changed = true; + } } // If anything has changed above, fire the callback. @@ -773,7 +779,8 @@ bool LLInventoryCategoriesObserver::addCategory(const LLUUID& cat_id, callback_t if (can_be_added) { - mCategoryMap.insert(category_map_value_t(cat_id, LLCategoryData(cb, version, current_num_known_descendents))); + mCategoryMap.insert(category_map_value_t( + cat_id,LLCategoryData(cat_id, cb, version, current_num_known_descendents))); } return can_be_added; @@ -783,3 +790,15 @@ void LLInventoryCategoriesObserver::removeCategory(const LLUUID& cat_id) { mCategoryMap.erase(cat_id); } + +LLInventoryCategoriesObserver::LLCategoryData::LLCategoryData( + const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents) + + : mCatID(cat_id) + , mCallback(cb) + , mVersion(version) + , mDescendentsCount(num_descendents) + , mIsNameHashInitialized(false) +{ + mItemNameHash.finalize(); +} diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h index ccd5fa5f4e..d535250970 100644 --- a/indra/newview/llinventoryobserver.h +++ b/indra/newview/llinventoryobserver.h @@ -295,18 +295,14 @@ public: protected: struct LLCategoryData { - LLCategoryData(callback_t cb, S32 version, S32 num_descendents) - : mCallback(cb) - , mVersion(version) - , mDescendentsCount(num_descendents) - { - mItemNameHash.finalize(); - } + LLCategoryData(const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents); callback_t mCallback; S32 mVersion; S32 mDescendentsCount; LLMD5 mItemNameHash; + bool mIsNameHashInitialized; + LLUUID mCatID; }; typedef std::map<LLUUID, LLCategoryData> category_map_t; diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index c12f1fbe99..07a66eaf10 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -1100,7 +1100,11 @@ void LLPanelOutfitEdit::getSelectedItemsUUID(uuid_vec_t& uuid_list) void LLPanelOutfitEdit::onCOFChanged() { //the panel is only updated when is visible to a user - if (!isInVisibleChain()) return; + + // BAP - this check has to be removed because otherwise item name + // changes made when the panel is not visible will not be + // propagated to the panel. + // if (!isInVisibleChain()) return; update(); } -- cgit v1.2.3 From 057568bddc178546c112d8223042a0ed2378ab8b Mon Sep 17 00:00:00 2001 From: Eli Linden <eli@lindenlab.com> Date: Wed, 4 Aug 2010 15:35:13 -0700 Subject: CT-575 WIP FR translation for set16 for Viewer 2.1.1 --- .../default/xui/fr/floater_preview_gesture.xml | 7 +- .../skins/default/xui/fr/floater_world_map.xml | 9 ++- indra/newview/skins/default/xui/fr/menu_viewer.xml | 2 +- .../newview/skins/default/xui/fr/notifications.xml | 7 +- .../skins/default/xui/fr/panel_group_notices.xml | 2 +- .../skins/default/xui/fr/panel_group_roles.xml | 3 + .../skins/default/xui/fr/panel_nearby_media.xml | 2 +- .../default/xui/fr/panel_preferences_sound.xml | 10 ++- .../default/xui/fr/panel_teleport_history.xml | 2 + .../skins/default/xui/fr/sidepanel_item_info.xml | 21 +++-- indra/newview/skins/default/xui/fr/strings.xml | 90 +++++++++++++++++++++- 11 files changed, 129 insertions(+), 26 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml index 4fa91b87ef..e7c7385fc8 100644 --- a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Bibliothèque : </text> - <scroll_list name="library_list"/> + <scroll_list name="library_list"> + <scroll_list.rows name="action_animation" value="Animation"/> + <scroll_list.rows name="action_sound" value="Son"/> + <scroll_list.rows name="action_chat" value="Chat"/> + <scroll_list.rows name="action_wait" value="Attente"/> + </scroll_list> <button label="Ajouter >>" name="add_btn"/> <text name="steps_label"> Étapes : diff --git a/indra/newview/skins/default/xui/fr/floater_world_map.xml b/indra/newview/skins/default/xui/fr/floater_world_map.xml index 0047a3bb04..f5dab91924 100644 --- a/indra/newview/skins/default/xui/fr/floater_world_map.xml +++ b/indra/newview/skins/default/xui/fr/floater_world_map.xml @@ -19,12 +19,12 @@ <text name="land_sale_label"> Vente de terrains </text> - <text name="by_owner_label"> - propriétaire - </text> <text name="auction_label"> enchères </text> + <text name="by_owner_label"> + propriétaire + </text> <button name="Go Home" tool_tip="Me téléporter jusqu’à mon domicile"/> <text name="Home_label"> Domicile @@ -58,6 +58,9 @@ <search_editor label="Régions par nom" name="location" tool_tip="Tapez le nom d'une région"/> <button label="Trouver" name="DoSearch" tool_tip="Rechercher une région"/> <button name="Clear" tool_tip="Effacer les lignes de suivi et réinitialiser la carte"/> + <text name="events_label"> + Endroit : + </text> <button label="Téléporter" name="Teleport" tool_tip="Me téléporter à l'emplacement sélectionné"/> <button label="Copier la SLurl" name="copy_slurl" tool_tip="Copie l’emplacement actuel sous la forme d’une SLurl à utiliser sur le Web."/> <button label="Afficher la sélection" name="Show Destination" tool_tip="Centrer la carte sur l'emplacement sélectionné"/> diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index 6338fa0cd0..cd0e41e496 100644 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Définir les scripts sur Pas d'exécution" name="Set Scripts to Not Running"/> </menu> <menu label="Options" name="Options"> + <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/> <menu_item_check label="Afficher les droits avancés" name="DebugPermissions"/> <menu_item_check label="Sélectionner mes objets uniquement" name="Select Only My Objects"/> <menu_item_check label="Sélectionner les objets déplaçables uniquement" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> <menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/> - <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/> </menu> </menu> <menu label="Aide" name="Help"> diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index 5cb42a0435..6cfc2b5c66 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -358,7 +358,7 @@ Voulez-vous vraiment continuer ? <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="DeleteOutfits"> - Supprimer la tenue sélectionnée ? + Supprimer la ou les tenues sélectionnées ? <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="PromptGoToEventsPage"> @@ -2746,7 +2746,7 @@ Départ de l'avatar [NAME] entièrement chargé. </notification> <notification name="AvatarRezSelfBakeNotification"> ([EXISTENCE] secondes d'existence) -Texture figée de [RESOLUTION] chargée pour [BODYREGION] au bout de [TIME] secondes. +Vous avez [ACTION] une texture figée de [RESOLUTION] pour [BODYREGION] au bout de [TIME] secondes. </notification> <notification name="ConfirmLeaveCall"> Voulez-vous vraiment quitter cet appel ? @@ -2784,4 +2784,7 @@ Si vous avez toujours des problèmes, veuillez consulter la page [SUPPORT_SITE]. Si vous possédez un terrain, vous pouvez le définir comme domicile. Sinon, consultez la carte et trouvez les " infohubs ". </global> + <global name="You died and have been teleported to your home location"> + Vous êtes mort et avez été téléporté à votre domicile. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/fr/panel_group_notices.xml b/indra/newview/skins/default/xui/fr/panel_group_notices.xml index 5fc1397763..bcf2cc8ec9 100644 --- a/indra/newview/skins/default/xui/fr/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_notices.xml @@ -21,7 +21,7 @@ Vous pouvez désactiver la réception des notices dans l'onglet Général. <text name="notice_list_none_found"> Aucun résultat </text> - <button label="Créer une notice" label_selected="Créer une notice" name="create_new_notice" tool_tip="Créer une notice"/> + <button label="Nouvelle notice" label_selected="Créer une notice" name="create_new_notice" tool_tip="Créer une notice"/> <button label="Rafraîchir" label_selected="Rafraîchir la liste" name="refresh_notices" tool_tip="Actualiser la liste des notices"/> <panel label="Créer une notice" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml index e1eeaa8601..0bd2e0bdab 100644 --- a/indra/newview/skins/default/xui/fr/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_roles.xml @@ -12,6 +12,9 @@ Vous pouvez ajouter ou supprimer les rôles assignés aux membres. Pour sélectionner plusieurs membres, cliquez sur leurs noms en maintenant la touche Ctrl enfoncée. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtrer les membres" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="Membre" name="name"/> diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml index 66bfd01a2a..d19a477007 100644 --- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml @@ -27,7 +27,7 @@ Médias proches </text> <text name="show_text"> - Voir : + Afficher : </text> <combo_box name="show_combo"> <combo_box.item label="Tout" name="All"/> diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml index c9676c898b..b82d8bcd18 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Activé" name="enable_media"/> <slider label="Chat vocal" name="Voice Volume"/> <check_box label="Activé" name="enable_voice_check"/> - <check_box label="Autoriser la lecture automatique du média" name="media_auto_play_btn" tool_tip="Cochez pour autoriser la lecture automatique du média"/> - <check_box label="Jouer le média aux autres avatars" name="media_show_on_others_btn" tool_tip="Décochez pour masquer le média aux autres avatars près de vous"/> + <check_box label="Autoriser la lecture automatique du média" name="media_auto_play_btn" tool_tip="Cochez pour autoriser la lecture automatique du média" value="true"/> + <check_box label="Jouer le média aux autres avatars" name="media_show_on_others_btn" tool_tip="Décochez pour masquer le média aux autres avatars près de vous" value="true"/> <text name="voice_chat_settings"> Paramètres du chat vocal </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Défaut </panel.string> + <panel.string name="default system device"> + Périphérique système par défaut + </panel.string> + <panel.string name="no device"> + Aucun périphérique + </panel.string> <text name="Input"> Entrée </text> diff --git a/indra/newview/skins/default/xui/fr/panel_teleport_history.xml b/indra/newview/skins/default/xui/fr/panel_teleport_history.xml index bfd7a869c5..1586c201da 100644 --- a/indra/newview/skins/default/xui/fr/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/fr/panel_teleport_history.xml @@ -1,6 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Vous n'avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/places/Rechercher [SEARCH_TERM]]."/> + <no_visible_tabs_text name="no_teleports_msg" value="L'historique des téléportations est vide. Essayez [secondlife:///app/search/places/ Rechercher]."/> <accordion_tab name="today" title="Aujourd'hui"/> <accordion_tab name="yesterday" title="Hier"/> <accordion_tab name="2_days_ago" title="Il y a 2 jours"/> diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml index 0350ea5116..77c6f4877c 100644 --- a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml @@ -23,10 +23,9 @@ </panel.string> <text name="title" value="Profil de l'article"/> <text name="origin" value="(inventaire)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> - Nom : + Nom : </text> <text name="LabelItemDescTitle"> Description : @@ -37,12 +36,12 @@ <text name="LabelCreatorName"/> <button label="Profil" name="BtnCreator"/> <text name="LabelOwnerTitle"> - Propriétaire : + Propriétaire : </text> <text name="LabelOwnerName"/> <button label="Profil" name="BtnOwner"/> <text name="LabelAcquiredTitle"> - Acquis : + Acquis le : </text> <text name="LabelAcquiredDate"/> <panel name="perms_inv"> @@ -53,26 +52,26 @@ <check_box label="Copier" name="CheckOwnerCopy"/> <check_box label="Transférer" name="CheckOwnerTransfer"/> <text name="AnyoneLabel"> - N'importe qui : + N'importe qui : </text> <check_box label="Copier" name="CheckEveryoneCopy"/> <text name="GroupLabel"> - Groupe : + Groupe : </text> - <check_box label="Partager" name="CheckShareWithGroup" tool_tip="Autorisez tous les membres du groupe choisi à utiliser et à partager vos droits pour cet objet. Pour activer les restrictions de rôles, vous devez d'abord cliquer sur Transférer."/> + <check_box label="Partager" name="CheckShareWithGroup" tool_tip="Autoriser tous les membres du groupe choisi à partager vos droits de modification pour cet objet. Pour activer les restrictions de rôles, vous devez d'abord cliquer sur Céder."/> <text name="NextOwnerLabel"> - Le prochain propriétaire : + Prochain propriétaire : </text> <check_box label="Modifier" name="CheckNextOwnerModify"/> <check_box label="Copier" name="CheckNextOwnerCopy"/> - <check_box label="Transférer" name="CheckNextOwnerTransfer" tool_tip="Le prochain propriétaire peut donner ou revendre cet objet"/> + <check_box label="Transférer" name="CheckNextOwnerTransfer" tool_tip="Le prochain propriétaire peut donner ou revendre cet objet."/> </panel> <check_box label="À vendre" name="CheckPurchase"/> <combo_box name="combobox sale copy"> <combo_box.item label="Copier" name="Copy"/> <combo_box.item label="Original" name="Original"/> </combo_box> - <spinner label="Prix : L$" name="Edit Cost"/> + <spinner label="Prix : L$" name="Edit Cost"/> </panel> <panel name="button_panel"> <button label="Annuler" name="cancel_btn"/> diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index c2a0e173ed..6cab902ab6 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -663,6 +663,9 @@ <string name="worldmap_offline"> Hors ligne </string> + <string name="worldmap_item_tooltip_format"> + [AREA] m² [PRICE] L$ + </string> <string name="worldmap_results_none_found"> Aucun résultat. </string> @@ -1061,6 +1064,7 @@ <string name="AnimFlagStop" value=" Arrêter l'animation :"/> <string name="AnimFlagStart" value=" Démarrer l'animation :"/> <string name="Wave" value=" Faire signe"/> + <string name="GestureActionNone" value="Aucune"/> <string name="HelloAvatar" value=" Bonjour, avatar !"/> <string name="ViewAllGestures" value=" Tout afficher >>"/> <string name="GetMoreGestures" value="Plus >>"/> @@ -1143,12 +1147,12 @@ <string name="InvFolder Favorite"> Favoris </string> - <string name="InvFolder favorite"> - Favoris - </string> <string name="InvFolder Current Outfit"> Tenue actuelle </string> + <string name="InvFolder Initial Outfits"> + Tenues initiales + </string> <string name="InvFolder My Outfits"> Mes tenues </string> @@ -1468,6 +1472,7 @@ <string name="SummaryForTheWeek" value="Récapitulatif de la semaine, début le "/> <string name="NextStipendDay" value="Prochaine prime le "/> <string name="GroupIndividualShare" value=" Groupe Part individuelle"/> + <string name="GroupColumn" value="Groupe"/> <string name="Balance"> Solde </string> @@ -1687,6 +1692,12 @@ <string name="BusyModeResponseDefault"> Le résident auquel vous avez envoyé un message est en mode Occupé, ce qui signifie qu'il a demandé à ne pas être dérangé. Votre message restera affiché dans son panneau IM afin qu'il puisse le lire ultérieurement. </string> + <string name="NoOutfits"> + Aucune tenue n'est actuellement en votre possession. Essayez [secondlife:///app/search/all Rechercher]. + </string> + <string name="NoOutfitsTabsMatched"> + Vous n'avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/all/Rechercher [SEARCH_TERM]]. + </string> <string name="MuteByName"> (par nom) </string> @@ -3676,6 +3687,9 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE]. <string name="group_role_owners"> Propriétaires </string> + <string name="group_member_status_online"> + En ligne + </string> <string name="uploading_abuse_report"> Chargement en cours... @@ -3729,9 +3743,15 @@ de l'infraction signalée <string name="Invalid Wearable"> Objet à porter non valide </string> + <string name="New Gesture"> + Nouveau geste + </string> <string name="New Script"> Nouveau script </string> + <string name="New Note"> + Nouvelle note + </string> <string name="New Folder"> Nouveau dossier </string> @@ -3789,6 +3809,15 @@ de l'infraction signalée <string name="Male - Wow"> Homme - Ouah ! </string> + <string name="Female - Chuckle"> + Femme - Glousser + </string> + <string name="Female - Cry"> + Femme - Pleurer + </string> + <string name="Female - Embarrassed"> + Femme - Gêne + </string> <string name="Female - Excuse me"> Femme - Demander pardon </string> @@ -3807,9 +3836,21 @@ de l'infraction signalée <string name="Female - Hey"> Femme - Hé ! </string> + <string name="Female - Hey baby"> + Femme - Hey baby + </string> <string name="Female - Laugh"> Femme - Rire </string> + <string name="Female - Looking good"> + Femme - Looking good + </string> + <string name="Female - Over here"> + Femme - Over here + </string> + <string name="Female - Please"> + Femme - Please + </string> <string name="Female - Repulsed"> Femme - Dégoût </string> @@ -3859,5 +3900,46 @@ de l'infraction signalée <string name="dateTimePM"> PM </string> - <string name="LocalEstimateUSD">[AMOUNT] US$</string> + <string name="LocalEstimateUSD"> + [AMOUNT] US$ + </string> + <string name="Membership"> + Inscription + </string> + <string name="Roles"> + Rôles + </string> + <string name="Group Identity"> + Identité du groupe + </string> + <string name="Parcel Management"> + Gestion des parcelles + </string> + <string name="Parcel Identity"> + Identité des parcelles + </string> + <string name="Parcel Settings"> + Paramètres des parcelles + </string> + <string name="Parcel Powers"> + Pouvoirs sur les parcelles + </string> + <string name="Parcel Access"> + Accès aux parcelles + </string> + <string name="Parcel Content"> + Contenu des parcelles + </string> + <string name="Object Management"> + Gestion des objets + </string> + <string name="Accounting"> + Comptabilité + </string> + <string name="Notices"> + Notices + </string> + <string name="Chat"> + Chat + </string> </strings> -- cgit v1.2.3 From 07f668fe2b135f96b74e0999d052b4608e223b68 Mon Sep 17 00:00:00 2001 From: Tofu Linden <tofu.linden@lindenlab.com> Date: Thu, 5 Aug 2010 13:31:19 +0100 Subject: fix a merge conflict I forgot to commit earlier. --- indra/newview/llpaneloutfitedit.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 0e9b3516ea..8b88a848cf 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -1321,7 +1321,15 @@ void LLPanelOutfitEdit::getSelectedItemsUUID(uuid_vec_t& uuid_list) void LLPanelOutfitEdit::onCOFChanged() { + //the panel is only updated when is visible to a user + + // BAP - this check has to be removed because otherwise item name + // changes made when the panel is not visible will not be + // propagated to the panel. + // if (!isInVisibleChain()) return; + update(); +} void LLPanelOutfitEdit::updateWearablesPanelVerbButtons() { @@ -1347,11 +1355,6 @@ void LLPanelOutfitEdit::saveListSelection() if(!selected_ids.size()) return; - // BAP - this check has to be removed because otherwise item name - // changes made when the panel is not visible will not be - // propagated to the panel. - // if (!isInVisibleChain()) return; - for (std::set<LLUUID>::const_iterator item_id = selected_ids.begin(); item_id != selected_ids.end(); ++item_id) { mWearableItemsList->selectItemByUUID(*item_id, true); -- cgit v1.2.3 From 4701fc0a18727652f2874253b905491bfecd9d48 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov <adyukov@productengine.com> Date: Thu, 5 Aug 2010 15:49:06 +0300 Subject: EXT-8553 FIXED Substituted "Object Profile" menu item label by "Item Profile" in My Outfits. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/836/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/menu_wearable_list_item.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml index c3adbb7904..8af2e1eaca 100644 --- a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml @@ -59,7 +59,7 @@ function="Wearable.Edit" /> </menu_item_call> <menu_item_call - label="Object Profile" + label="Item Profile" layout="topleft" name="object_profile"> <on_click -- cgit v1.2.3 From 46334b6310ca76fea0f712b2e9dd1084af387f25 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk <vsavchuk@productengine.com> Date: Thu, 5 Aug 2010 15:57:19 +0300 Subject: EXT-8309 FIXED Incorrect French date format in place profile and status bar. Changes: - Added support for formatting day of the month without leading zero ("sday"). - Changed date format in place profile (landmark info) and in the top status bar according to bug reporter's request. Technical details: Actually implementation of strftime() in Linux and Windows supports stripping the leading zero (with "%-d" and "%#d" respectively). But that's not supported in MacOSX, so I had to reimplement it. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/842/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/da/language_settings.xml | 1 + indra/newview/skins/default/xui/de/language_settings.xml | 1 + indra/newview/skins/default/xui/en/language_settings.xml | 1 + indra/newview/skins/default/xui/es/language_settings.xml | 1 + indra/newview/skins/default/xui/fr/language_settings.xml | 1 + indra/newview/skins/default/xui/fr/panel_landmark_info.xml | 2 +- indra/newview/skins/default/xui/fr/panel_status_bar.xml | 2 +- indra/newview/skins/default/xui/it/language_settings.xml | 1 + indra/newview/skins/default/xui/ja/language_settings.xml | 1 + indra/newview/skins/default/xui/nl/language_settings.xml | 1 + indra/newview/skins/default/xui/pl/language_settings.xml | 1 + indra/newview/skins/default/xui/pt/language_settings.xml | 1 + 12 files changed, 12 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/da/language_settings.xml b/indra/newview/skins/default/xui/da/language_settings.xml index fa8a788605..3e46f69af1 100644 --- a/indra/newview/skins/default/xui/da/language_settings.xml +++ b/indra/newview/skins/default/xui/da/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/de/language_settings.xml b/indra/newview/skins/default/xui/de/language_settings.xml index 3e357007ff..d54f548fe1 100644 --- a/indra/newview/skins/default/xui/de/language_settings.xml +++ b/indra/newview/skins/default/xui/de/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/en/language_settings.xml b/indra/newview/skins/default/xui/en/language_settings.xml index c523185034..c8a06fe401 100644 --- a/indra/newview/skins/default/xui/en/language_settings.xml +++ b/indra/newview/skins/default/xui/en/language_settings.xml @@ -23,6 +23,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/es/language_settings.xml b/indra/newview/skins/default/xui/es/language_settings.xml index 1ade4ba300..f172994077 100644 --- a/indra/newview/skins/default/xui/es/language_settings.xml +++ b/indra/newview/skins/default/xui/es/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/fr/language_settings.xml b/indra/newview/skins/default/xui/fr/language_settings.xml index 117ae16ee8..bd272e1f28 100644 --- a/indra/newview/skins/default/xui/fr/language_settings.xml +++ b/indra/newview/skins/default/xui/fr/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml index bd29bd676c..60507f191d 100644 --- a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml +++ b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml @@ -16,7 +16,7 @@ Les informations sur ce lieu ne sont pas disponibles car l'accès y est restreint. Veuillez vérifier vos droits avec le propriétaire de la parcelle. </string> <string name="acquired_date"> - [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] + [weekday,datetime,local] [sday,datetime,local] [month,datetime,local] [year,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] </string> <button name="back_btn" tool_tip="Précédent"/> <text name="title" value="Profil du lieu"/> diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml index 3c56fa68e7..85429a18c7 100644 --- a/indra/newview/skins/default/xui/fr/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/fr/panel_status_bar.xml @@ -16,7 +16,7 @@ [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] </panel.string> <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] + [weekday, datetime, slt] [sday, datetime, slt] [month, datetime, slt] [year, datetime, slt] </panel.string> <panel.string name="buycurrencylabel"> [AMT] L$ diff --git a/indra/newview/skins/default/xui/it/language_settings.xml b/indra/newview/skins/default/xui/it/language_settings.xml index 82cf789a6b..312b8e21aa 100644 --- a/indra/newview/skins/default/xui/it/language_settings.xml +++ b/indra/newview/skins/default/xui/it/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/ja/language_settings.xml b/indra/newview/skins/default/xui/ja/language_settings.xml index 72382417d9..a6023f9b56 100644 --- a/indra/newview/skins/default/xui/ja/language_settings.xml +++ b/indra/newview/skins/default/xui/ja/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/nl/language_settings.xml b/indra/newview/skins/default/xui/nl/language_settings.xml index dc4663705f..53501d5dcb 100644 --- a/indra/newview/skins/default/xui/nl/language_settings.xml +++ b/indra/newview/skins/default/xui/nl/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/pl/language_settings.xml b/indra/newview/skins/default/xui/pl/language_settings.xml index debc451a33..681b38e9cf 100644 --- a/indra/newview/skins/default/xui/pl/language_settings.xml +++ b/indra/newview/skins/default/xui/pl/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/pt/language_settings.xml b/indra/newview/skins/default/xui/pt/language_settings.xml index f25e77574d..e1de6ffea7 100644 --- a/indra/newview/skins/default/xui/pt/language_settings.xml +++ b/indra/newview/skins/default/xui/pt/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 -- cgit v1.2.3 From bcb7401645e8ded64a2ca35e3daea697fb480d39 Mon Sep 17 00:00:00 2001 From: Eli Linden <eli@lindenlab.com> Date: Thu, 5 Aug 2010 11:04:56 -0700 Subject: CT-575 WIP IT translation for set16 for Viewer 2.1.1 --- .../default/xui/it/floater_preview_gesture.xml | 7 +- .../skins/default/xui/it/floater_world_map.xml | 11 ++- indra/newview/skins/default/xui/it/menu_viewer.xml | 2 +- .../newview/skins/default/xui/it/notifications.xml | 5 +- .../skins/default/xui/it/panel_group_notices.xml | 2 +- .../skins/default/xui/it/panel_group_roles.xml | 18 ++--- .../default/xui/it/panel_preferences_sound.xml | 10 ++- .../default/xui/it/panel_teleport_history.xml | 3 +- .../skins/default/xui/it/sidepanel_item_info.xml | 3 +- indra/newview/skins/default/xui/it/strings.xml | 89 +++++++++++++++++++++- 10 files changed, 122 insertions(+), 28 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml index cc9d42b3cb..9c4006b4e6 100644 --- a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Libreria: </text> - <scroll_list name="library_list"/> + <scroll_list name="library_list"> + <scroll_list.rows name="action_animation" value="Animazione"/> + <scroll_list.rows name="action_sound" value="Suono"/> + <scroll_list.rows name="action_chat" value="Chat"/> + <scroll_list.rows name="action_wait" value="Attendi"/> + </scroll_list> <button label="Aggiungi >>" name="add_btn"/> <text name="steps_label"> Fasi: diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml index a6bd4ffbaf..8da17a4034 100644 --- a/indra/newview/skins/default/xui/it/floater_world_map.xml +++ b/indra/newview/skins/default/xui/it/floater_world_map.xml @@ -19,12 +19,12 @@ <text name="land_sale_label"> Vendita terreno </text> - <text name="by_owner_label"> - da parte del proprietario - </text> <text name="auction_label"> asta di terreni </text> + <text name="by_owner_label"> + da parte del proprietario + </text> <button name="Go Home" tool_tip="Teleport a casa"/> <text name="Home_label"> Home @@ -35,7 +35,7 @@ <text name="pg_label"> Generale </text> - <check_box name="events_mature_chk"/> + <check_box initial_value="true" name="events_mature_chk"/> <text name="events_mature_label"> Moderato </text> @@ -58,6 +58,9 @@ <search_editor label="Regioni secondo il nome" name="location" tool_tip="Digita il nome di una regione"/> <button label="Trova" name="DoSearch" tool_tip="Cerca la regione"/> <button name="Clear" tool_tip="Elimina le linee di monitoraggio e reimposta la mappa"/> + <text name="events_label"> + Luogo: + </text> <button label="Teleport" name="Teleport" tool_tip="Teleport al luogo selezionato"/> <button label="Copia SLurl" name="copy_slurl" tool_tip="Copia la posizione attuale come un SLurl da usare nel Web."/> <button label="Mostra la selezione" name="Show Destination" tool_tip="Centra la mappa sul luogo selezionato"/> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index f0dd035b5d..6290b79211 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Imposta script come non in esecuzione" name="Set Scripts to Not Running"/> </menu> <menu label="Opzioni" name="Options"> + <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/> <menu_item_check label="Mostra autorizzazioni avanzate" name="DebugPermissions"/> <menu_item_check label="Seleziona solo i miei oggetti" name="Select Only My Objects"/> <menu_item_check label="Seleziona solo gli oggetti spostabili" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Suono ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animazione ([COST] L$)..." name="Upload Animation"/> <menu_item_call label="In blocco ([COST] L$ per file)..." name="Bulk Upload"/> - <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/> </menu> </menu> <menu label="Aiuto" name="Help"> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 44b8211bdb..474bdca55f 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -2749,7 +2749,7 @@ Avatar '[NAME]' è partito completamente caricato. </notification> <notification name="AvatarRezSelfBakeNotification"> ( in esistenza da [EXISTENCE] secondi ) -Hai caricato una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. +Effettuata l'azione: [ACTION] di una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. </notification> <notification name="ConfirmLeaveCall"> Sei sicuro di volere uscire dalla chiamata? @@ -2787,4 +2787,7 @@ Se continui ad avere problemi, visita la pagina [SUPPORT_SITE]. Se sei proprietario di un appezzamento di terreno, puoi definirlo come la tua posizione iniziale. In alternativa, puoi guardare sulla mappa e trovare luoghi segnalati come "Infohub". </global> + <global name="You died and have been teleported to your home location"> + Sei deceduto e sei stato teleportato a casa tua. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/it/panel_group_notices.xml b/indra/newview/skins/default/xui/it/panel_group_notices.xml index 8dd945830e..2e2f0dc7b0 100644 --- a/indra/newview/skins/default/xui/it/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/it/panel_group_notices.xml @@ -19,7 +19,7 @@ Massimo 200 per gruppo al giorno <text name="notice_list_none_found"> Nessuno trovato </text> - <button label="Crea un nuovo avviso" label_selected="Crea una nuova notice" name="create_new_notice" tool_tip="Crea un nuovo avviso"/> + <button label="Nuovo avviso" label_selected="Crea una nuova notice" name="create_new_notice" tool_tip="Crea un nuovo avviso"/> <button label="Aggiorna" label_selected="Aggiorna l'elenco" name="refresh_notices" tool_tip="Aggiorna la lista degli avvisi"/> <panel label="Crea una nuova notice" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml index 1769ef748d..478b35e628 100644 --- a/indra/newview/skins/default/xui/it/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/it/panel_group_roles.xml @@ -13,6 +13,9 @@ Seleziona più membri tenendo premuto il tasto Ctrl e cliccando sui loro nomi. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtra Membri" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="Socio" name="name"/> @@ -66,21 +69,15 @@ in questo gruppo. C'è una vasta gamma di abilità. <text name="static"> Nome del ruolo </text> - <line_editor name="role_name"> - Addetti - </line_editor> + <line_editor name="role_name"/> <text name="static3"> Titolo del ruolo </text> - <line_editor name="role_title"> - (attendi) - </line_editor> + <line_editor name="role_title"/> <text name="static2"> Descrizione </text> - <text_editor name="role_description"> - (attendi) - </text_editor> + <text_editor name="role_description"/> <text name="static4"> Ruoli assegnati </text> @@ -91,9 +88,6 @@ in questo gruppo. C'è una vasta gamma di abilità. <scroll_list name="role_allowed_actions" tool_tip="Per i dettagli di ogni abilità consentita vedi la scheda abilità."/> </panel> <panel name="actions_footer"> - <text name="static"> - Descrizione abilità - </text> <text_editor name="action_description"> Questa abilità è 'Espelli i membri dal gruppo'. Solo un Capogruppo puo espellere un'altro Capogruppo. </text_editor> diff --git a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml index 9f8a13fedc..2ddb226020 100644 --- a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Abilitato" name="enable_media"/> <slider label="Chat vocale" name="Voice Volume"/> <check_box label="Abilitato" name="enable_voice_check"/> - <check_box label="Consenti riproduzione multimediale automatica" name="media_auto_play_btn" tool_tip="Seleziona qui per consentire la riproduzione multimediale automatica"/> - <check_box label="Riproduci media in uso da altri avatar" name="media_show_on_others_btn" tool_tip="Deseleziona qui per nascondere i media in uso dagli altri avatar nei dintorni"/> + <check_box label="Consenti riproduzione multimediale automatica" name="media_auto_play_btn" tool_tip="Seleziona qui per consentire la riproduzione multimediale automatica" value="true"/> + <check_box label="Riproduci media in uso da altri avatar" name="media_show_on_others_btn" tool_tip="Deseleziona qui per nascondere i media in uso dagli altri avatar nei dintorni" value="true"/> <text name="voice_chat_settings"> Impostazioni Chat vocale </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Predefinito </panel.string> + <panel.string name="default system device"> + Dispositivo di sistema predefinito + </panel.string> + <panel.string name="no device"> + Nessun dispositivo + </panel.string> <text name="Input"> Input </text> diff --git a/indra/newview/skins/default/xui/it/panel_teleport_history.xml b/indra/newview/skins/default/xui/it/panel_teleport_history.xml index 85f8f87e68..f4fa59babe 100644 --- a/indra/newview/skins/default/xui/it/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/it/panel_teleport_history.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/places/[SEARCH_TERM] Cerca]."/> + <no_visible_tabs_text name="no_teleports_msg" value="La cronologia dei teleport è vuota. Prova [secondlife:///app/search/places/ Cerca]."/> <accordion_tab name="today" title="Oggi"/> <accordion_tab name="yesterday" title="Ieri"/> <accordion_tab name="2_days_ago" title="2 giorni fa"/> - 5 <accordion_tab name="3_days_ago" title="3 giorni fa"/> <accordion_tab name="4_days_ago" title="4 giorni fa"/> <accordion_tab name="5_days_ago" title="5 giorni fa"/> diff --git a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml index 627aeb5cb5..6f650ea55d 100644 --- a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="Profilo articolo"/> <text name="origin" value="(Inventario)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> Nome: </text> diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 69c84be22c..fb479b4653 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -651,6 +651,9 @@ <string name="worldmap_offline"> Offline </string> + <string name="worldmap_item_tooltip_format"> + L$ [PRICE] - [AREA] m² + </string> <string name="worldmap_results_none_found"> Nessun risultato. </string> @@ -1040,6 +1043,7 @@ <string name="AnimFlagStop" value="Ferma l'animazione :"/> <string name="AnimFlagStart" value="Inizia l'animazione :"/> <string name="Wave" value="Saluta con la mano"/> + <string name="GestureActionNone" value="Nessuna"/> <string name="HelloAvatar" value="Ciao, avatar!"/> <string name="ViewAllGestures" value="Visualizza tutto >>"/> <string name="GetMoreGestures" value="Altre >>"/> @@ -1122,12 +1126,12 @@ <string name="InvFolder Favorite"> Preferiti </string> - <string name="InvFolder favorite"> - Preferiti - </string> <string name="InvFolder Current Outfit"> Abbigliamento attuale </string> + <string name="InvFolder Initial Outfits"> + Vestiario iniziale + </string> <string name="InvFolder My Outfits"> Il mio vestiario </string> @@ -1447,6 +1451,7 @@ <string name="SummaryForTheWeek" value="Riassunto della settimana, partendo dal"/> <string name="NextStipendDay" value="Il prossimo giorno di stipendio è"/> <string name="GroupIndividualShare" value="Gruppo Dividendi individuali"/> + <string name="GroupColumn" value="Gruppo"/> <string name="Balance"> Saldo </string> @@ -1660,6 +1665,12 @@ <string name="BusyModeResponseDefault"> Il residente al quale hai inviato un messaggio è in modalità 'occupato', ovvero ha chiesto di non essere disturbato. Il tuo messaggio comparirà nel suo pannello IM, dove potrà essere letto in un secondo momento. </string> + <string name="NoOutfits"> + Non hai ancora vestiario da indossare. Prova [secondlife:///app/search/all Cerca]. + </string> + <string name="NoOutfitsTabsMatched"> + Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/all/[SEARCH_TERM] Cerca]. + </string> <string name="MuteByName"> (In base al nome) </string> @@ -3580,6 +3591,9 @@ Se il messaggio persiste, contatta [SUPPORT_SITE]. <string name="group_role_owners"> Proprietari </string> + <string name="group_member_status_online"> + Online + </string> <string name="uploading_abuse_report"> Caricamento in corso... @@ -3633,9 +3647,15 @@ Segnala abuso <string name="Invalid Wearable"> Capo da indossare non valido </string> + <string name="New Gesture"> + Nuova gesture + </string> <string name="New Script"> Nuovo script </string> + <string name="New Note"> + Nuovo appunto + </string> <string name="New Folder"> Nuova cartella </string> @@ -3693,6 +3713,15 @@ Segnala abuso <string name="Male - Wow"> Maschio - Accipicchia </string> + <string name="Female - Chuckle"> + Femmina - Risatina + </string> + <string name="Female - Cry"> + Femmina - Pianto + </string> + <string name="Female - Embarrassed"> + Femmina - Imbarazzata + </string> <string name="Female - Excuse me"> Femmina - Chiedere scusa </string> @@ -3711,9 +3740,21 @@ Segnala abuso <string name="Female - Hey"> Femmina - Ehi </string> + <string name="Female - Hey baby"> + Femmina - Ehi tu + </string> <string name="Female - Laugh"> Femmina - Ridere </string> + <string name="Female - Looking good"> + Femmina - Sei in forma + </string> + <string name="Female - Over here"> + Femmina - Per di qua + </string> + <string name="Female - Please"> + Femmina - Per cortesia + </string> <string name="Female - Repulsed"> Femmina - Disgustata </string> @@ -3763,4 +3804,46 @@ Segnala abuso <string name="dateTimePM"> pomeridiane </string> + <string name="LocalEstimateUSD"> + US$ [AMOUNT] + </string> + <string name="Membership"> + Abbonamento + </string> + <string name="Roles"> + Ruoli + </string> + <string name="Group Identity"> + Identità gruppo + </string> + <string name="Parcel Management"> + Gestione lotto + </string> + <string name="Parcel Identity"> + Identità lotto + </string> + <string name="Parcel Settings"> + Impostazioni lotto + </string> + <string name="Parcel Powers"> + Poteri lotto + </string> + <string name="Parcel Access"> + Accesso al lotto + </string> + <string name="Parcel Content"> + Contenuto lotto + </string> + <string name="Object Management"> + Gestione oggetti + </string> + <string name="Accounting"> + Contabilità + </string> + <string name="Notices"> + Avvisi + </string> + <string name="Chat"> + Chat + </string> </strings> -- cgit v1.2.3 From 0a3493db0804ae71ccff2155847ed40089627d7b Mon Sep 17 00:00:00 2001 From: Tofu Linden <tofu.linden@lindenlab.com> Date: Fri, 6 Aug 2010 14:28:26 +0100 Subject: EXT-8579 FIXED Develop.Avatar.Animation Info should not show asset IDs Made it so that you only see real UUIDs if the viewer thinks you are in real godmode. --- indra/newview/llvoavatar.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 72aec07e67..1ca10219ce 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -3137,14 +3137,16 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) if (motionp->getName().empty()) { output = llformat("%s - %d", - motionp->getID().asString().c_str(), - (U32)motionp->getPriority()); + gAgent.isGodlikeWithoutAdminMenuFakery() ? + motionp->getID().asString().c_str() : + LLUUID::null.asString().c_str(), + (U32)motionp->getPriority()); } else { output = llformat("%s - %d", - motionp->getName().c_str(), - (U32)motionp->getPriority()); + motionp->getName().c_str(), + (U32)motionp->getPriority()); } addDebugText(output); } -- cgit v1.2.3 From 4682264eadc3c3a4dc09e64fc5ad74cb0657639e Mon Sep 17 00:00:00 2001 From: Xiaohong Bao <bao@lindenlab.com> Date: Fri, 6 Aug 2010 09:29:33 -0600 Subject: EXT-8447: FIXED: crash at LLTextureCache::writeEntryToHeaderImmediately(int,LLTextureCache::Entry &,bool) [secondlife-bin lltexturecache.cpp] --- indra/newview/lltexturecache.cpp | 87 +++++++++++++++++++++++++++++++++++----- indra/newview/lltexturecache.h | 7 ++-- 2 files changed, 80 insertions(+), 14 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 403692951f..952f893015 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -998,7 +998,11 @@ LLAPRFile* LLTextureCache::openHeaderEntriesFile(bool readonly, S32 offset) void LLTextureCache::closeHeaderEntriesFile() { - llassert_always(mHeaderAPRFile != NULL); + if(!mHeaderAPRFile) + { + return ; + } + delete mHeaderAPRFile; mHeaderAPRFile = NULL; } @@ -1115,7 +1119,7 @@ S32 LLTextureCache::openAndReadEntry(const LLUUID& id, Entry& entry, bool create } //mHeaderMutex is locked before calling this. -void LLTextureCache::writeEntryToHeaderImmediately(S32 idx, Entry& entry, bool write_header) +void LLTextureCache::writeEntryToHeaderImmediately(S32& idx, Entry& entry, bool write_header) { LLAPRFile* aprfile ; S32 bytes_written ; @@ -1124,7 +1128,13 @@ void LLTextureCache::writeEntryToHeaderImmediately(S32 idx, Entry& entry, bool w { aprfile = openHeaderEntriesFile(false, 0); bytes_written = aprfile->write((U8*)&mHeaderEntriesInfo, sizeof(EntriesInfo)) ; - llassert_always(bytes_written == sizeof(EntriesInfo)); + if(bytes_written != sizeof(EntriesInfo)) + { + clearCorruptedCache() ; //clear the cache. + idx = -1 ;//mark the idx invalid. + return ; + } + mHeaderAPRFile->seek(APR_SET, offset); } else @@ -1132,19 +1142,31 @@ void LLTextureCache::writeEntryToHeaderImmediately(S32 idx, Entry& entry, bool w aprfile = openHeaderEntriesFile(false, offset); } bytes_written = aprfile->write((void*)&entry, (S32)sizeof(Entry)); - llassert_always(bytes_written == sizeof(Entry)); + if(bytes_written != sizeof(Entry)) + { + clearCorruptedCache() ; //clear the cache. + idx = -1 ;//mark the idx invalid. + + return ; + } + closeHeaderEntriesFile(); mUpdatedEntryMap.erase(idx) ; } //mHeaderMutex is locked before calling this. -void LLTextureCache::readEntryFromHeaderImmediately(S32 idx, Entry& entry) +void LLTextureCache::readEntryFromHeaderImmediately(S32& idx, Entry& entry) { S32 offset = sizeof(EntriesInfo) + idx * sizeof(Entry); LLAPRFile* aprfile = openHeaderEntriesFile(true, offset); S32 bytes_read = aprfile->read((void*)&entry, (S32)sizeof(Entry)); - llassert_always(bytes_read == sizeof(Entry)); closeHeaderEntriesFile(); + + if(bytes_read != sizeof(Entry)) + { + clearCorruptedCache() ; //clear the cache. + idx = -1 ;//mark the idx invalid. + } } //mHeaderMutex is locked before calling this. @@ -1169,7 +1191,7 @@ void LLTextureCache::updateEntryTimeStamp(S32 idx, Entry& entry) } //update an existing entry, write to header file immediately. -bool LLTextureCache::updateEntry(S32 idx, Entry& entry, S32 new_image_size, S32 new_data_size) +bool LLTextureCache::updateEntry(S32& idx, Entry& entry, S32 new_image_size, S32 new_data_size) { S32 new_body_size = llmax(0, new_data_size - TEXTURE_CACHE_ENTRY_SIZE) ; @@ -1240,6 +1262,10 @@ U32 LLTextureCache::openAndReadEntries(std::vector<Entry>& entries) { aprfile = openHeaderEntriesFile(false, 0); updatedHeaderEntriesFile() ; + if(!aprfile) + { + return 0; + } aprfile->seek(APR_SET, (S32)sizeof(EntriesInfo)); } for (U32 idx=0; idx<num_entries; idx++) @@ -1281,7 +1307,11 @@ void LLTextureCache::writeEntriesAndClose(const std::vector<Entry>& entries) for (S32 idx=0; idx<num_entries; idx++) { S32 bytes_written = aprfile->write((void*)(&entries[idx]), (S32)sizeof(Entry)); - llassert_always(bytes_written == sizeof(Entry)); + if(bytes_written != sizeof(Entry)) + { + clearCorruptedCache() ; //clear the cache. + return ; + } } closeHeaderEntriesFile(); } @@ -1307,7 +1337,11 @@ void LLTextureCache::updatedHeaderEntriesFile() //entriesInfo mHeaderAPRFile->seek(APR_SET, 0); S32 bytes_written = mHeaderAPRFile->write((U8*)&mHeaderEntriesInfo, sizeof(EntriesInfo)) ; - llassert_always(bytes_written == sizeof(EntriesInfo)); + if(bytes_written != sizeof(EntriesInfo)) + { + clearCorruptedCache() ; //clear the cache. + return ; + } //write each updated entry S32 entry_size = (S32)sizeof(Entry) ; @@ -1323,7 +1357,11 @@ void LLTextureCache::updatedHeaderEntriesFile() } bytes_written = mHeaderAPRFile->write((void*)(&iter->second), entry_size); - llassert_always(bytes_written == entry_size); + if(bytes_written != entry_size) + { + clearCorruptedCache() ; //clear the cache. + return ; + } } mUpdatedEntryMap.clear() ; } @@ -1444,6 +1482,29 @@ void LLTextureCache::readHeaderCache() ////////////////////////////////////////////////////////////////////////////// +//the header mutex is locked before calling this. +void LLTextureCache::clearCorruptedCache() +{ + llwarns << "the texture cache is corrupted, need to be cleared." << llendl ; + + closeHeaderEntriesFile();//close possible file handler + purgeAllTextures(false) ; //clear the cache. + + if (!mReadOnly) //regenerate the directory tree if not exists. + { + LLFile::mkdir(mTexturesDirName); + + const char* subdirs = "0123456789abcdef"; + for (S32 i=0; i<16; i++) + { + std::string dirname = mTexturesDirName + gDirUtilp->getDirDelimiter() + subdirs[i]; + LLFile::mkdir(dirname); + } + } + + return ; +} + void LLTextureCache::purgeAllTextures(bool purge_directories) { if (!mReadOnly) @@ -1472,11 +1533,14 @@ void LLTextureCache::purgeAllTextures(bool purge_directories) mTexturesSizeTotal = 0; mFreeList.clear(); mTexturesSizeTotal = 0; + mUpdatedEntryMap.clear(); // Info with 0 entries mHeaderEntriesInfo.mVersion = sHeaderCacheVersion; mHeaderEntriesInfo.mEntries = 0; writeEntriesHeader(); + + llinfos << "The entire texture cache is cleared." << llendl ; } void LLTextureCache::purgeTextures(bool validate) @@ -1644,7 +1708,8 @@ S32 LLTextureCache::setHeaderCacheEntry(const LLUUID& id, Entry& entry, S32 imag { updateEntry(idx, entry, imagesize, datasize); } - else // retry + + if(idx < 0) // retry { readHeaderCache(); // We couldn't write an entry, so refresh the LRU diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index 0fceee3011..f80be0056b 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -154,6 +154,7 @@ protected: private: void setDirNames(ELLPath location); void readHeaderCache(); + void clearCorruptedCache(); void purgeAllTextures(bool purge_directories); void purgeTextures(bool validate); LLAPRFile* openHeaderEntriesFile(bool readonly, S32 offset); @@ -161,12 +162,12 @@ private: void readEntriesHeader(); void writeEntriesHeader(); S32 openAndReadEntry(const LLUUID& id, Entry& entry, bool create); - bool updateEntry(S32 idx, Entry& entry, S32 new_image_size, S32 new_body_size); + bool updateEntry(S32& idx, Entry& entry, S32 new_image_size, S32 new_body_size); void updateEntryTimeStamp(S32 idx, Entry& entry) ; U32 openAndReadEntries(std::vector<Entry>& entries); void writeEntriesAndClose(const std::vector<Entry>& entries); - void readEntryFromHeaderImmediately(S32 idx, Entry& entry) ; - void writeEntryToHeaderImmediately(S32 idx, Entry& entry, bool write_header = false) ; + void readEntryFromHeaderImmediately(S32& idx, Entry& entry) ; + void writeEntryToHeaderImmediately(S32& idx, Entry& entry, bool write_header = false) ; void removeEntry(S32 idx, Entry& entry, std::string& filename); void removeCachedTexture(const LLUUID& id) ; S32 getHeaderCacheEntry(const LLUUID& id, Entry& entry); -- cgit v1.2.3 From c187fdcf1fbac21cb7292d6269023eae83cb6847 Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Fri, 6 Aug 2010 19:41:23 +0300 Subject: EXT-7963 FIXED (Edit Outfit > Add More > Do not switch to next item type after add/replace) - Added selected item type (in flat list view) as criterion when determining filter type in 'Add More' panel - Fixed LLAccordionCtrl::getSelectedTab() method. When 'selection_enabled = false' for LLAccordionCtrlTab, LLAccordionCtrl::getSelectedTab() returned NULL, even if some accordion tab was selected. Now it's OK. Method returns currently selected LLAccordionCtrlTab. Recovered from bad merge in 13811 Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/790/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.cpp | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 07a66eaf10..d7a46f30b0 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -809,15 +809,38 @@ void LLPanelOutfitEdit::filterWearablesBySelectedItem(void) bool more_than_one_selected = ids.size() > 1; bool is_dummy_item = (ids.size() && dynamic_cast<LLPanelDummyClothingListItem*>(mCOFWearables->getSelectedItem())); - //selected and expanded accordion tabs determine filtering when no item is selected + // selected, expanded accordion tabs and selection in flat list view determine filtering when no item is selected in COF + // selection in flat list view participates in determining filtering because of EXT-7963 + // So the priority of criterions in is: + // 1. Selected accordion tab | IF (any accordion selected) + // | filter_type = selected_accordion_type + // 2. Selected item in flat list view | ELSEIF (any item in flat list view selected) + // | filter_type = selected_item_type + // 3. Expanded accordion tab | ELSEIF (any accordion expanded) + // | filter_type = expanded accordion_type if (nothing_selected) { showWearablesListView(); - //selected accordion tab is more priority than expanded tab when determining filtering + //selected accordion tab is more priority than expanded tab + //and selected item in flat list view of 'Add more' panel when + //determining filtering LLAssetType::EType type = mCOFWearables->getSelectedAccordionAssetType(); if (type == LLAssetType::AT_NONE) + { //no accordion selected + + // when no accordion selected then selected item from flat list view + // has more priority than expanded when determining filtering + LLUUID selected_item_id = mWearableItemsList->getSelectedUUID(); + LLViewerInventoryItem* item = gInventory.getLinkedItem(selected_item_id); + if(item) { + showFilteredWearablesListView(item->getWearableType()); + return; + } + + // when no accordion selected and no selected items in flat list view + // determine filtering according to expanded accordion type = mCOFWearables->getExpandedAccordionAssetType(); } @@ -830,7 +853,7 @@ void LLPanelOutfitEdit::filterWearablesBySelectedItem(void) applyListViewFilter(LVIT_BODYPART); break; case LLAssetType::AT_CLOTHING: - default: + default: applyListViewFilter(LVIT_CLOTHING); break; } -- cgit v1.2.3 From 4277bfbba6696d47d9db5a3aa145891701c7d45f Mon Sep 17 00:00:00 2001 From: Eli Linden <eli@lindenlab.com> Date: Fri, 6 Aug 2010 11:17:45 -0700 Subject: CT-575 WIP FR linguistic --- indra/newview/skins/default/xui/fr/floater_preview_gesture.xml | 4 ++-- indra/newview/skins/default/xui/fr/menu_gesture_gear.xml | 2 +- indra/newview/skins/default/xui/fr/panel_nearby_media.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml index e7c7385fc8..82f5bac047 100644 --- a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml @@ -13,13 +13,13 @@ Attendre : </floater.string> <floater.string name="stop_txt"> - Stop + Arrêter </floater.string> <floater.string name="preview_txt"> Prévisualiser </floater.string> <floater.string name="none_text"> - -- Aucune -- + - Aucun choix - </floater.string> <floater.string name="Title"> Geste : [NAME] diff --git a/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml b/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml index 4512d1bf7e..062dd0f005 100644 --- a/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml +++ b/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <menu name="menu_gesture_gear"> - <menu_item_call label="Ajouter/Supprimer des Favoris" name="activate"/> + <menu_item_call label="Ajouter/Supprimer des favoris" name="activate"/> <menu_item_call label="Copier" name="copy_gesture"/> <menu_item_call label="Coller" name="paste"/> <menu_item_call label="Copier l'UUID" name="copy_uuid"/> diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml index d19a477007..66bfd01a2a 100644 --- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml @@ -27,7 +27,7 @@ Médias proches </text> <text name="show_text"> - Afficher : + Voir : </text> <combo_box name="show_combo"> <combo_box.item label="Tout" name="All"/> -- cgit v1.2.3 From da1398f26fde69b3bf84aa453809c2517057d769 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk <slitovchuk@productengine.com> Date: Fri, 6 Aug 2010 22:34:10 +0300 Subject: EXT-3981 FIXED Disabled folder view automatic scrolling while background fetch is in progress. Reviewed by Loren Shih at https://codereview.productengine.com/secondlife/r/835/. --HG-- branch : product-engine --- indra/newview/llfolderview.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index be15ab7b98..49d80a0249 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -561,7 +561,9 @@ void LLFolderView::addToSelectionList(LLFolderViewItem* item) void LLFolderView::removeFromSelectionList(LLFolderViewItem* item) { - if (mSelectedItems.size()) + // If items are filtered while background fetch is in progress + // scrollbar resets to the first filtered item. See EXT-3981. + if (!LLInventoryModelBackgroundFetch::instance().backgroundFetchActive() && mSelectedItems.size()) { mSelectedItems.back()->setIsCurSelection(FALSE); } -- cgit v1.2.3 From 76922597c219f27c5372a8a92e26e77338eb2dc2 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk <slitovchuk@productengine.com> Date: Fri, 6 Aug 2010 22:34:18 +0300 Subject: EXT-4379 FIXED tab_stop parameter initialization that prevented inventory panel from passing focus to folder view's scroll container. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/823/. --HG-- branch : product-engine --- indra/newview/llinventorypanel.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 3683585321..770bc02b40 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -175,6 +175,9 @@ void LLInventoryPanel::initFromParams(const LLInventoryPanel::Params& params) setSortOrder(gSavedSettings.getU32(DEFAULT_SORT_ORDER)); } mFolderRoot->setSortOrder(getFilter()->getSortOrder()); + + // Initialize base class params. + LLPanel::initFromParams(params); } LLInventoryPanel::~LLInventoryPanel() -- cgit v1.2.3 From bcd84433717e42ec8675009e1335caf915cc1a41 Mon Sep 17 00:00:00 2001 From: Monroe Linden <monroe@lindenlab.com> Date: Fri, 6 Aug 2010 20:06:16 -0700 Subject: Fixes for EXT-8563 "VWR-20156: Prim Media on HUDs has no Audio or Interactivity" Backed out changeset 1b65d0d42c67 (the fix for EXT-5205), and replaced it with a check in LLPanelPrimMediaControls::nextZoomLevel(). Made LLViewerMediaImpl::calculateInterest() not attempt to calculate distances to HUD attachments, since their global positions are invalid. --- indra/newview/llpanelprimmediacontrols.cpp | 7 +++++++ indra/newview/lltoolpie.cpp | 1 - indra/newview/llviewermedia.cpp | 19 ++++++++++++------- 3 files changed, 19 insertions(+), 8 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index 0648d99685..9cc775d427 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -985,6 +985,13 @@ void LLPanelPrimMediaControls::onClickZoom() void LLPanelPrimMediaControls::nextZoomLevel() { + LLViewerObject* objectp = getTargetObject(); + if(objectp && objectp->isHUDAttachment()) + { + // Never allow zooming on HUD attachments. + return; + } + int index = 0; while (index < kNumZoomLevels) { diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 95c4f01e46..4d4a1e078d 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -1270,7 +1270,6 @@ bool LLToolPie::handleMediaClick(const LLPickInfo& pick) if (!parcel || objectp.isNull() || - objectp->isHUDAttachment() || pick.mObjectFace < 0 || pick.mObjectFace >= objectp->getNumTEs()) { diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 34e30b3ccd..44d9bb1373 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -3053,20 +3053,25 @@ void LLViewerMediaImpl::calculateInterest() // Calculate distance from the avatar, for use in the proximity calculation. mProximityDistance = 0.0f; + mProximityCamera = 0.0f; if(!mObjectList.empty()) { // Just use the first object in the list. We could go through the list and find the closest object, but this should work well enough. std::list< LLVOVolume* >::iterator iter = mObjectList.begin() ; LLVOVolume* objp = *iter ; llassert_always(objp != NULL) ; + + // The distance calculation is invalid for HUD attachments -- leave both mProximityDistance and mProximityCamera at 0 for them. + if(!objp->isHUDAttachment()) + { + LLVector3d obj_global = objp->getPositionGlobal() ; + LLVector3d agent_global = gAgent.getPositionGlobal() ; + LLVector3d global_delta = agent_global - obj_global ; + mProximityDistance = global_delta.magVecSquared(); // use distance-squared because it's cheaper and sorts the same. - LLVector3d obj_global = objp->getPositionGlobal() ; - LLVector3d agent_global = gAgent.getPositionGlobal() ; - LLVector3d global_delta = agent_global - obj_global ; - mProximityDistance = global_delta.magVecSquared(); // use distance-squared because it's cheaper and sorts the same. - - LLVector3d camera_delta = gAgentCamera.getCameraPositionGlobal() - obj_global; - mProximityCamera = camera_delta.magVec(); + LLVector3d camera_delta = gAgentCamera.getCameraPositionGlobal() - obj_global; + mProximityCamera = camera_delta.magVec(); + } } if(mNeedsMuteCheck) -- cgit v1.2.3 From bd708f82bd3b87051e03a2794ce417ae6f432c08 Mon Sep 17 00:00:00 2001 From: Monroe Linden <monroe@lindenlab.com> Date: Mon, 9 Aug 2010 16:39:06 -0700 Subject: Patch on a fix for the llmediadataclient.cpp unit test. My refactor of LLMediaDataClient caused a crash in the windows unit test. Change set 92fd90bd795a fixed the crash, but broke the code in question. This changeset should make the code behave correctly, while removing some premature optimization that I now think didn't properly in the first place. --- indra/newview/llmediadataclient.cpp | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp index ec185bc790..075f0ba3ec 100755 --- a/indra/newview/llmediadataclient.cpp +++ b/indra/newview/llmediadataclient.cpp @@ -263,18 +263,15 @@ void LLMediaDataClient::pushBack(request_ptr_t request) void LLMediaDataClient::trackRequest(request_ptr_t request) { - request_set_t::iterator iter = mUnQueuedRequests.lower_bound(request); + request_set_t::iterator iter = mUnQueuedRequests.find(request); - if (iter != mUnQueuedRequests.end()) + if(iter != mUnQueuedRequests.end()) { - if(*iter == request) - { - LL_WARNS("LLMediaDataClient") << "Tracking already tracked request: " << *request << LL_ENDL; - } - else - { - mUnQueuedRequests.insert(iter, request); - } + LL_WARNS("LLMediaDataClient") << "Tracking already tracked request: " << *request << LL_ENDL; + } + else + { + mUnQueuedRequests.insert(request); } } @@ -284,14 +281,11 @@ void LLMediaDataClient::stopTrackingRequest(request_ptr_t request) if (iter != mUnQueuedRequests.end()) { - if(*iter == request) - { - mUnQueuedRequests.erase(iter); - } - else - { - LL_WARNS("LLMediaDataClient") << "Removing an untracked request: " << *request << LL_ENDL; - } + mUnQueuedRequests.erase(iter); + } + else + { + LL_WARNS("LLMediaDataClient") << "Removing an untracked request: " << *request << LL_ENDL; } } -- cgit v1.2.3 From 879d15903608b26f6b10f499d150bb72a65fa966 Mon Sep 17 00:00:00 2001 From: Monroe Linden <monroe@lindenlab.com> Date: Mon, 9 Aug 2010 17:40:17 -0700 Subject: Limit the number of media browser windows the viewer will open at once. The limit is controlled by the debug setting MediaBrowserWindowLimit. When opening a new window would take us over the limit, the least recently opened window will be closed first. --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llfloatermediabrowser.cpp | 26 +++++++++++++++++++++++++- indra/newview/llfloatermediabrowser.h | 1 + 3 files changed, 37 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4c52fb015f..3326319e2d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -6425,6 +6425,17 @@ <key>Value</key> <real>1.0</real> </map> + <key>MediaBrowserWindowLimit</key> + <map> + <key>Comment</key> + <string>Maximum number of media brower windows that can be open at once (0 for no limit)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>S32</string> + <key>Value</key> + <integer>5</integer> + </map> <key>MediaRollOffRate</key> <map> <key>Comment</key> diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp index 268a0e0b93..2fc5bd72de 100644 --- a/indra/newview/llfloatermediabrowser.cpp +++ b/indra/newview/llfloatermediabrowser.cpp @@ -76,8 +76,32 @@ void LLFloaterMediaBrowser::create(const std::string &url, const std::string& ta tag = id.asString(); } - // TODO: Figure out whether we need to close an existing instance and/or warn the user about the number of instances they have open + S32 browser_window_limit = gSavedSettings.getS32("MediaBrowserWindowLimit"); + if(LLFloaterReg::findInstance("media_browser", tag) != NULL) + { + // There's already a media browser for this tag, so we won't be opening a new window. + } + else if(browser_window_limit != 0) + { + // showInstance will open a new window. Figure out how many media browsers are already open, + // and close the least recently opened one if this will put us over the limit. + + LLFloaterReg::const_instance_list_t &instances = LLFloaterReg::getFloaterList("media_browser"); + lldebugs << "total instance count is " << instances.size() << llendl; + + for(LLFloaterReg::const_instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); iter++) + { + lldebugs << " " << (*iter)->getKey() << llendl; + } + + if(instances.size() >= browser_window_limit) + { + // Destroy the least recently opened instance + (*instances.begin())->closeFloater(); + } + } + LLFloaterMediaBrowser *browser = dynamic_cast<LLFloaterMediaBrowser*> (LLFloaterReg::showInstance("media_browser", tag)); llassert(browser); if(browser) diff --git a/indra/newview/llfloatermediabrowser.h b/indra/newview/llfloatermediabrowser.h index 1645ed4613..4255d814c0 100644 --- a/indra/newview/llfloatermediabrowser.h +++ b/indra/newview/llfloatermediabrowser.h @@ -45,6 +45,7 @@ class LLFloaterMediaBrowser : public LLViewerMediaObserver { public: + LOG_CLASS(LLFloaterMediaBrowser); LLFloaterMediaBrowser(const LLSD& key); static void create(const std::string &url, const std::string& target); -- cgit v1.2.3 From 010ef13f560ca97807537484781acb332f48b8e2 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Tue, 10 Aug 2010 09:58:56 -0700 Subject: Fix for unsigned/sighed warning that breaks Windows build. --- indra/newview/llfloatermediabrowser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp index 2fc5bd72de..90147ff650 100644 --- a/indra/newview/llfloatermediabrowser.cpp +++ b/indra/newview/llfloatermediabrowser.cpp @@ -95,7 +95,7 @@ void LLFloaterMediaBrowser::create(const std::string &url, const std::string& ta lldebugs << " " << (*iter)->getKey() << llendl; } - if(instances.size() >= browser_window_limit) + if(instances.size() >= (size_t)browser_window_limit) { // Destroy the least recently opened instance (*instances.begin())->closeFloater(); -- cgit v1.2.3