From 35870c57070c52eae8fb135c6324036454becbeb Mon Sep 17 00:00:00 2001 From: James Cook Date: Thu, 8 Oct 2009 00:06:22 +0000 Subject: Nav bar only searches for existing landmarks in "My Favorites" and "Landmarks" folders. This is a partial fix for EXT-1402 Thousands of "WARNING: LLAssetStorage::getAssetData: Discarding duplicate request for asset". Somewhat reduces the number of asset downloads on login. Reviewed with Steve. --- indra/newview/lllandmarkactions.cpp | 40 +++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 11 deletions(-) (limited to 'indra') diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp index 0542199fc1..7c759e22a8 100644 --- a/indra/newview/lllandmarkactions.cpp +++ b/indra/newview/lllandmarkactions.cpp @@ -131,16 +131,36 @@ public: } }; +static void fetch_landmarks(LLInventoryModel::cat_array_t& cats, + LLInventoryModel::item_array_t& items, + LLInventoryCollectFunctor& add) +{ + // Look in "My Favorites" + LLUUID favorites_folder_id = + gInventory.findCategoryUUIDForType(LLAssetType::AT_FAVORITE); + gInventory.collectDescendentsIf(favorites_folder_id, + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + add); + + // Look in "Landmarks" + LLUUID landmarks_folder_id = + gInventory.findCategoryUUIDForType(LLAssetType::AT_LANDMARK); + gInventory.collectDescendentsIf(landmarks_folder_id, + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + add); +} + LLInventoryModel::item_array_t LLLandmarkActions::fetchLandmarksByName(std::string& name, BOOL use_substring) { LLInventoryModel::cat_array_t cats; LLInventoryModel::item_array_t items; - LLFetchLandmarksByName fetchLandmarks(name, use_substring); - gInventory.collectDescendentsIf(gInventory.getRootFolderID(), - cats, - items, - LLInventoryModel::EXCLUDE_TRASH, - fetchLandmarks); + LLFetchLandmarksByName by_name(name, use_substring); + fetch_landmarks(cats, items, by_name); + return items; } @@ -151,17 +171,15 @@ bool LLLandmarkActions::landmarkAlreadyExists() } +// *TODO: This could be made more efficient by only fetching the FIRST +// landmark that meets the criteria LLViewerInventoryItem* LLLandmarkActions::findLandmarkForGlobalPos(const LLVector3d &pos) { // Determine whether there are landmarks pointing to the current parcel. LLInventoryModel::cat_array_t cats; LLInventoryModel::item_array_t items; LLFetchlLandmarkByPos is_current_pos_landmark(pos); - gInventory.collectDescendentsIf(gInventory.getRootFolderID(), - cats, - items, - LLInventoryModel::EXCLUDE_TRASH, - is_current_pos_landmark); + fetch_landmarks(cats, items, is_current_pos_landmark); if(items.empty()) { -- cgit v1.2.3 From 3a6a18ee30425bf1000f82b0a4b245c23f0deafc Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Thu, 8 Oct 2009 00:22:26 +0000 Subject: Clean up a bunch of weird indented spacing in notifications.xml. - Besides making some awkward spacing visible to the user, it flags a ton of strings for a new translation, when they havent really changed. Please dont do this. --- .../newview/skins/default/xui/en/notifications.xml | 422 ++++++++++----------- 1 file changed, 211 insertions(+), 211 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index f141a909a8..f6228db229 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -650,7 +650,7 @@ Scripts must be allowed to run for weapons to work. icon="alertmodal.tga" name="MultipleFacesSelected" type="alertmodal"> - Multiple faces are currently selected. +Multiple faces are currently selected. If you continue this action, separate instances of media will be set on multiple faces of the object. To place the media on only one face, choose Select Texture and click on the desired face of that object then click Add. - "There are too many prims selected. Please select [MAX_PRIM_COUNT] or fewer prims and try again" +There are too many prims selected. Please select [MAX_PRIM_COUNT] or fewer prims and try again @@ -5014,347 +5014,347 @@ The string [STRING_NAME] is missing from strings.xml icon="notifytip.tga" name="SystemMessageTip" type="notifytip"> - [MESSAGE] +[MESSAGE] - Cancelled +Cancelled - Cancelled Sit +Cancelled Sit - Cancelled Attach +Cancelled Attach - Replaced missing clothing/body part with default. +Replaced missing clothing/body part with default. - Topic: [SUBJECT], Message: [MESSAGE] +Topic: [SUBJECT], Message: [MESSAGE] - [FIRST] [LAST] is Online +[FIRST] [LAST] is Online - [FIRST] [LAST] is Offline +[FIRST] [LAST] is Offline - Although you're very nice, you can't add yourself as a friend. +Although you're very nice, you can't add yourself as a friend. - Uploading in-world and web site snapshots... - (Takes about 5 minutes.) +Uploading in-world and web site snapshots... +(Takes about 5 minutes.) - You paid L$[AMOUNT] to upload. +You paid L$[AMOUNT] to upload. - Web site snapshot upload done. +Web site snapshot upload done. - In-world snapshot upload done +In-world snapshot upload done - Terrain.raw downloaded +Terrain.raw downloaded - Hmm. Gesture [NAME] is missing from the database. +Hmm. Gesture [NAME] is missing from the database. - Unable to load gesture [NAME]. - Please try again. +Unable to load gesture [NAME]. +Please try again. - Landmark is missing from database. +Landmark is missing from database. - Unable to load landmark. Please try again. +Unable to load landmark. Please try again. - Your Caps Lock key is on. - This might affect your password. +Your Caps Lock key is on. +This might affect your password. - Notecard is missing from database. +Notecard is missing from database. - You don't have permission to view this notecard. +You don't have permission to view this notecard. - Insufficient permissions to rez object. +Insufficient permissions to rez object. - Unable to load notecard. - Please try again. +Unable to load notecard. +Please try again. - Script is missing from database. +Script is missing from database. - Insufficient permissions to view script. +Insufficient permissions to view script. - Unable to load script. Please try again. +Unable to load script. Please try again. - The complete contents you are offering are not yet locally available. Please try offering those items again in a minute. +The complete contents you are offering are not yet locally available. Please try offering those items again in a minute. - You cannot modify protected categories. +You cannot modify protected categories. - You cannot remove protected categories. +You cannot remove protected categories. - You have offered a calling card to [FIRST] [LAST] +You have offered a calling card to [FIRST] [LAST] - Unable to buy while downloading object data. - Please try again. +Unable to buy while downloading object data. +Please try again. - Unable to link while downloading object data. - Please try again. +Unable to link while downloading object data. +Please try again. - You can only buy objects from one owner at a time. - Please select a single object. +You can only buy objects from one owner at a time. +Please select a single object. - This object is not for sale. +This object is not for sale. - Entering god mode, level [LEVEL] +Entering god mode, level [LEVEL] - Now leaving god mode, level [LEVEL] +Now leaving god mode, level [LEVEL] - You don't have permission to copy this. +You don't have permission to copy this. - [NAME] accepted your inventory offer. +[NAME] accepted your inventory offer. - [NAME] declined your inventory offer. +[NAME] declined your inventory offer. - [NAME]: [MESSAGE] +[NAME]: [MESSAGE] - Your calling card was accepted. +Your calling card was accepted. - Your calling card was declined. +Your calling card was declined. - Now that you have reached the mainland, you can teleport to locations like '[NAME]' by clicking on the Inventory button on the bottom right of your screen, and then select the Landmarks folder. - Double click on the landmark and click on Teleport to travel there. +Now that you have reached the mainland, you can teleport to locations like '[NAME]' by clicking on the Inventory button on the bottom right of your screen, and then select the Landmarks folder. +Double click on the landmark and click on Teleport to travel there. - Now that you have reached the mainland, you can contact residents like '[NAME]' by clicking on the Inventory button on the bottom right of your screen, and then select the Calling Cards folder. - Double click on the card, click on Instant Message, and type a message. +Now that you have reached the mainland, you can contact residents like '[NAME]' by clicking on the Inventory button on the bottom right of your screen, and then select the Calling Cards folder. +Double click on the card, click on Instant Message, and type a message. - Can't select land across server boundaries. - Try selecting a smaller piece of land. +Can't select land across server boundaries. +Try selecting a smaller piece of land. - Some terms in your search query were excluded due to content restrictions as clarified in the Community Standards. +Some terms in your search query were excluded due to content restrictions as clarified in the Community Standards. - Please select at least one type of content to search (PG, Mature, or Adult). +Please select at least one type of content to search (PG, Mature, or Adult). - [NAME] has proposed to vote on: - [MESSAGE] +[NAME] has proposed to vote on: +[MESSAGE]
+ width="275"> Drag to move, shift-drag to copy - - - - - - - - + - - @@ -328,8 +334,8 @@ follows="left|top" height="20" image_disabled="Object_Cube" - image_disabled_selected="object_cube_active.tga" - image_selected="object_cube_active.tga" + image_disabled_selected="Object_Cube" + image_selected="Object_Cube" image_unselected="Object_Cube" layout="topleft" left="4" @@ -342,8 +348,8 @@ follows="left|top" height="20" image_disabled="Object_Prism" - image_disabled_selected="object_prism_active.tga" - image_selected="object_prism_active.tga" + image_disabled_selected="Object_Prism" + image_selected="Object_Prism" image_unselected="Object_Prism" layout="topleft" left_delta="26" @@ -384,8 +390,8 @@ follows="left|top" height="20" image_disabled="Object_Cylinder" - image_disabled_selected="object_cylinder_active.tga" - image_selected="object_cylinder_active.tga" + image_disabled_selected="Object_Cylinder" + image_selected="Object_Cylinder" image_unselected="Object_Cylinder" layout="topleft" left_delta="26" @@ -398,8 +404,8 @@ follows="left|top" height="20" image_disabled="Object_Hemi_Cylinder" - image_disabled_selected="object_hemi_cylinder_active.tga" - image_selected="object_hemi_cylinder_active.tga" + image_disabled_selected="Object_Hemi_Cylinder" + image_selected="Object_Hemi_Cylinder" image_unselected="Object_Hemi_Cylinder" layout="topleft" left_delta="26" @@ -412,8 +418,8 @@ follows="left|top" height="20" image_disabled="Object_Cone" - image_disabled_selected="object_cone_active.tga" - image_selected="object_cone_active.tga" + image_disabled_selected="Object_Cone" + image_selected="Object_Cone" image_unselected="Object_Cone" layout="topleft" left_delta="26" @@ -426,8 +432,8 @@ follows="left|top" height="20" image_disabled="Object_Hemi_Cone" - image_disabled_selected="object_hemi_cone_active.tga" - image_selected="object_hemi_cone_active.tga" + image_disabled_selected="Object_Hemi_Cone" + image_selected="Object_Hemi_Cone" image_unselected="Object_Hemi_Cone" layout="topleft" left_delta="26" @@ -440,8 +446,8 @@ follows="left|top" height="20" image_disabled="Object_Sphere" - image_disabled_selected="object_sphere_active.tga" - image_selected="object_sphere_active.tga" + image_disabled_selected="Object_Sphere" + image_selected="Object_Sphere" image_unselected="Object_Sphere" layout="topleft" left_delta="26" @@ -454,8 +460,8 @@ follows="left|top" height="20" image_disabled="Object_Hemi_Sphere" - image_disabled_selected="object_hemi_sphere_active.tga" - image_selected="object_hemi_sphere_active.tga" + image_disabled_selected="Object_Hemi_Sphere" + image_selected="Object_Hemi_Sphere" image_unselected="Object_Hemi_Sphere" layout="topleft" left_delta="26" @@ -468,8 +474,8 @@ follows="left|top" height="20" image_disabled="Object_Torus" - image_disabled_selected="object_torus_active.tga" - image_selected="object_torus_active.tga" + image_disabled_selected="Object_Torus" + image_selected="Object_Torus" image_unselected="Object_Torus" layout="topleft" left="4" @@ -482,8 +488,8 @@ follows="left|top" height="20" image_disabled="Object_Tube" - image_disabled_selected="object_tube_active.tga" - image_selected="object_tube_active.tga" + image_disabled_selected="Object_Tube" + image_selected="Object_Tube" image_unselected="Object_Tube" layout="topleft" left_delta="26" @@ -496,8 +502,8 @@ follows="left|top" height="20" image_disabled="Object_Ring" - image_disabled_selected="object_ring_active.tga" - image_selected="object_ring_active.tga" + image_disabled_selected="Object_Ring" + image_selected="Object_Ring" image_unselected="Object_Ring" layout="topleft" left_delta="26" @@ -510,8 +516,8 @@ follows="left|top" height="20" image_disabled="Object_Tree" - image_disabled_selected="object_tree_active.tga" - image_selected="object_tree_active.tga" + image_disabled_selected="Object_Tree" + image_selected="Object_Tree" image_unselected="Object_Tree" layout="topleft" left_delta="26" @@ -524,8 +530,8 @@ follows="left|top" height="20" image_disabled="Object_Grass" - image_disabled_selected="object_grass_active.tga" - image_selected="object_grass_active.tga" + image_disabled_selected="Object_Grass" + image_selected="Object_Grass" image_unselected="Object_Grass" layout="topleft" left_delta="26" @@ -718,13 +724,13 @@ type="string" text_color="LabelSelectedDisabledColor" length="1" - top_pad="4" height="12" follows="left|top" halign="right" layout="topleft" - left="115" + right="-13" name="obj_count" + top_pad="8" width="143"> Objects: [COUNT] @@ -735,6 +741,7 @@ follows="left|top" halign="right" layout="topleft" + right="-13" name="prim_count" width="143"> Prims: [COUNT] @@ -784,7 +791,7 @@ - You must select entire object to set permissions + This object has linked parts @@ -827,7 +834,7 @@ name="Object Name" select_on_focus="true" top_delta="0" - width="165" /> + width="170" /> + width="170" /> Owner: - + + top_pad="5" + width="75"> Group: + + - + + + @@ -160,19 +173,8 @@ image_unselected="camera_presets/camera_presets_snapshot.png" name="snapshot" tool_tip="Take Snapshot" /> - + - + width="333"> + width="313"> - + width="298" + height="555"> + width="280" /> loading... @@ -165,7 +158,6 @@ name="set_to_curr_location_btn" width="200" /> - + word_wrap="true" + max_length="350" /> @@ -121,7 +121,7 @@ name="camera_btn" width="70"> diff --git a/indra/newview/skins/default/xui/en/panel_chat_item.xml b/indra/newview/skins/default/xui/en/panel_chat_item.xml index 713c3a41a2..78f53562cd 100644 --- a/indra/newview/skins/default/xui/en/panel_chat_item.xml +++ b/indra/newview/skins/default/xui/en/panel_chat_item.xml @@ -16,7 +16,7 @@ /> Jerry Knight diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml index 4088d96ebf..d914583352 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml @@ -21,15 +21,28 @@ tool_tip="Press Enter to say, Ctrl-Enter to shout." top="3" width="250" /> + + header_expand_img_pressed="Accordion_ArrowOpened_Press" + header_image="Accordion_Off.png" + header_image_over="Accordion_Over" + header_image_pressed="Accordion_Press" + /> -- cgit v1.2.3 From 93b92d960406d585627172bc7fb9fd9300046475 Mon Sep 17 00:00:00 2001 From: Justin Rounds Date: Tue, 13 Oct 2009 16:30:27 +0000 Subject: Adjusted position of Favorites button as per http://jira.secondlife.com/browse/EXT-1318 --- indra/newview/skins/default/xui/en/widgets/location_input.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml index e06838a0f8..defa6ff00d 100644 --- a/indra/newview/skins/default/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml @@ -35,11 +35,13 @@ hover_glow_amount="0.15" image_hover_selected="Favorite_Star_Over" image_hover_unselected="Favorite_Star_Over" - width="16" - height="16" + width="18" + height="18" tool_tip="Add this to My Landmarks" follows="right|top" - scale_image="false" /> + scale_image="false" + top="19" + left="-3" /> Date: Tue, 13 Oct 2009 16:42:07 +0000 Subject: Adjusted height of location input field to match spec visually, related to http://jira.secondlife.com/browse/EXT-1318 --- indra/newview/skins/default/xui/en/panel_navigation_bar.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') 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 920bf08012..60d3256c44 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -70,7 +70,7 @@ Date: Tue, 13 Oct 2009 18:16:04 +0000 Subject: fix an inventory window rendering quality issue introduced in the avatar-pipeline/currently-worn-folder-10 - it was drawing each inventory window row twice superimposed. --- indra/newview/llfolderviewitem.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 66881be309..2b1dd83d72 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -978,7 +978,6 @@ void LLFolderViewItem::draw() } } } - LLView::draw(); } -- cgit v1.2.3 From b12abb4859945fa00c455502105f3393e246c4a2 Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Tue, 13 Oct 2009 19:03:07 +0000 Subject: EXT-1499 Partial Fix: parts 1 & 2 only. Finalize the Home panel text to make it accurate. --- indra/newview/skins/default/xui/en/panel_side_tray.xml | 6 +++--- .../newview/skins/default/xui/en/panel_sidetray_home_tab.xml | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml index d172154d49..d3d45640cb 100644 --- a/indra/newview/skins/default/xui/en/panel_side_tray.xml +++ b/indra/newview/skins/default/xui/en/panel_side_tray.xml @@ -74,7 +74,7 @@ help_topic="sidebar_places" tab_title="Places" label="Places" - description="Find places to go and places you've been." + description="Find places to go and places you've visited before." image="TabIcon_Places_Off" mouse_opaque="false" background_visible="true" @@ -93,7 +93,7 @@ name="sidebar_me" help_topic="sidebar_me" tab_title="Me" - description="Change your profile, your look and quick links to your outfits." + description="Edit your public profile and Picks." image="TabIcon_Me_Off" mouse_opaque="false" background_visible="true" @@ -111,7 +111,7 @@ name="sidebar_appearance" help_topic="sidebar_appearance" tab_title="Appearance" - description="Change your looks and appearance." + description="Change your appearance and current look." image="TabIcon_Appearance_Off" mouse_opaque="false" background_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml index d379c60aed..88379a5ed3 100644 --- a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml +++ b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml @@ -39,7 +39,7 @@ name="tab_icon" right="-10" top="10" - image_name="TabIcon_Home_Selected" + image_name="TabIcon_People_Off" width="20" /> - Find your friends, contacts and people nearby. + Find your friends, your groups, contacts and people nearby. - Find your friends, contacts and people nearby. + Find places to go and places you've visited before. - Change your profile. + Edit your public profile. + image_name="TabIcon_Appearance_Off"/> - Change your apperance and looks. + Change your appearance and current look. -- cgit v1.2.3 From 2f61bd2bd0c38b644b22417e1b1f3bfb7f139820 Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Tue, 13 Oct 2009 19:16:21 +0000 Subject: L10N: clean up/consistent wording of more EN strings. TEXT CHANGE ONLY; NO CODE CHANGED --- indra/newview/skins/default/xui/en/notifications.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 25e6b1ae53..d79a27699a 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5315,16 +5315,18 @@ Your calling card was declined. icon="notifytip.tga" name="TeleportToLandmark" type="notifytip"> -You can teleport to locations like '[NAME]' by opening the Places panel on the right of the viewer, and then select the Landmarks folder. -Click on the landmark to select it and click the 'Teleport' button at the bottom of the panel. You can also double-click on the landmark, or right-click and select 'Teleport' from the context menu. +You can teleport to locations like '[NAME]' by opening the Places panel on the right side of your screen, and then select the Landmarks tab. +Click on any landmark to select it, then click 'Teleport' at the bottom of the panel. +(You can also double-click on the landmark, or right-click it and choose 'Teleport'.) -You can contact residents like '[NAME]' by opening the People panel on the right of the viewer. -Select the resident from the list in the panel and click the 'IM' button at the bottom of the panel. You can also double-click on the resident in the list, or right-click and select 'Send IM...' from the context menu. +You can contact residents like '[NAME]' by opening the People panel on the right side of your screen. +Select the resident from the list, then click 'IM' at the bottom of the panel. +(You can also double-click on their name in the list, or right-click and choose 'IM'). Date: Tue, 13 Oct 2009 20:14:49 +0000 Subject: L10N: clean up/consistent wording of more EN strings. Two instances in the menu should refer to the same name used elsewhere. TEXT CHANGE ONLY; NO CODE CHANGED --- indra/newview/skins/default/xui/en/menu_viewer.xml | 4 ++-- indra/newview/skins/default/xui/en/notifications.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index aec6f3e654..57ea24ac0e 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -437,7 +437,7 @@ parameter="midnight" /> -Are you sure you want to delete teleport history? +Are you sure you want to delete your teleport history? Date: Tue, 13 Oct 2009 20:31:02 +0000 Subject: Reduced "Medium" font size, which is a temporary fix until menu font can be defined specifically. http://jira.secondlife.com/browse/EXT-1315 --- indra/newview/skins/default/xui/en/fonts.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/fonts.xml b/indra/newview/skins/default/xui/en/fonts.xml index dec9839d1a..b261281c64 100644 --- a/indra/newview/skins/default/xui/en/fonts.xml +++ b/indra/newview/skins/default/xui/en/fonts.xml @@ -150,9 +150,11 @@ comment="Size of large font (points, or 1/72 of an inch)" size="10.0" /> + Date: Tue, 13 Oct 2009 20:36:53 +0000 Subject: EXT-261 Labels in avatar_lad.xml are not localizable -- Last little L10N consistency changes to the EN strings. --- indra/newview/skins/default/xui/en/strings.xml | 35 ++++++++++++++------------ 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 44875e9a25..ef601cbd38 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2270,9 +2270,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Big Big Butt Big Eyeball -Big Hair Back -Big Hair Front -Big Hair Top +Big Hair: Back +Big Hair: Front +Big Hair: Top Big Head Big Pectorals Big Spikes @@ -2308,6 +2308,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Bushy Eyebrows Bushy Hair Butt Size +Bustle Skirt +No Bustle +More Bustle CHEST Center Center 2 @@ -2434,16 +2437,16 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Glove Length bump HEAD Hair -Hair Back -Hair Front -Hair Sides +Hair: Back +Hair: Front +Hair: Sides Hair Sweep -Hair Thickess +Hair Thickness Hair Thickness Hair Tilt Hair Tilted Left Hair Tilted Right -Hair Volume +Hair: Volume Hand Size Handlebars Head Length @@ -2462,8 +2465,8 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Hip Length Hip Width In -In Shdw Color -In Shdw Opacity +Inner Shadow Color +Inner Shadow Opacity Inner Eye Corner Inner Eye Shadow Inner Shadow @@ -2626,8 +2629,8 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Open Right Orange Out -Out Shdw Color -Out Shdw Opacity +Outer Shadow Color +Outer Shadow Opacity Outer Eye Corner Outer Eye Shadow Outer Shadow @@ -2743,10 +2746,10 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Sleeve Length Shadow Sleeve Length bump Sleeve Looseness -Slit Back -Slit Front -Slit Left -Slit Right +Slit: Back +Slit: Front +Slit: Left +Slit: Right Small Small Hands Small Head -- cgit v1.2.3 From 1e25d784793cc5a87db397c0ecc7485a4d46c4fb Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Tue, 13 Oct 2009 20:37:42 +0000 Subject: DEV-38453 (part8) add 1 new string in strings.xml that we already have translated. NO CHANGES TO ENGLISH --- indra/newview/skins/default/xui/da/strings.xml | 3 +++ indra/newview/skins/default/xui/de/strings.xml | 3 +++ indra/newview/skins/default/xui/es/strings.xml | 3 +++ indra/newview/skins/default/xui/fr/strings.xml | 3 +++ indra/newview/skins/default/xui/it/strings.xml | 3 +++ indra/newview/skins/default/xui/ja/strings.xml | 3 +++ indra/newview/skins/default/xui/nl/strings.xml | 3 +++ indra/newview/skins/default/xui/pl/strings.xml | 3 +++ indra/newview/skins/default/xui/pt/strings.xml | 3 +++ 9 files changed, 27 insertions(+) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index 9849f2f56d..f850079960 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -603,6 +603,9 @@ Du har ikke den mulighed. + + Du har ikke den mulighed. + Du er ikke moderator for denne samtale. diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 5df1570bfd..acef633d49 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -603,6 +603,9 @@ Sie besitzen diese Fähigkeit nicht. + + Sie besitzen diese Fähigkeit nicht. + Sie sind kein Sitzungsmoderator. diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 0735bb0082..815f4a75a8 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -615,6 +615,9 @@ Si sigue recibiendo este mensaje, contacte con el [SUPPORT_SITE]. Usted no tiene esa capacidad. + + Usted no tiene esa capacidad. + Usted no es un moderador de la sesión. diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 6bdee836d9..1a2426d491 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -604,6 +604,9 @@ Vous n'avez pas ce pouvoir. + + Vous n'avez pas ce pouvoir. + Vous n'êtes pas modérateur de session. diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 67b946e1de..bf9a6c94d5 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -600,6 +600,9 @@ Non hai questa abilitazione. + + Non hai questa abilitazione. + Non sei un moderatore. diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 7b21146651..3ee4e7f6ec 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -603,6 +603,9 @@ あなたにはその能力がありません。 + + あなたにはその能力がありません。 + あなたはセッション・モデレータではありません。 diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml index bb073f735d..1b8e629fe5 100644 --- a/indra/newview/skins/default/xui/nl/strings.xml +++ b/indra/newview/skins/default/xui/nl/strings.xml @@ -604,6 +604,9 @@ U beschikt niet over die mogelijkheid. + + U beschikt niet over die mogelijkheid. + U bent geen sessie moderateur diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index 294353ee03..7901191487 100755 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -603,6 +603,9 @@ Nie posiadesz tego przywileju. + + Nie posiadesz tego przywileju. + Nie jesteś moderatorem konferencji. diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index b6788567e2..f9af4a6302 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -599,6 +599,9 @@ Você não possui esta habilidade. + + Você não possui esta habilidade. + Você não é um moderador de sessão. -- cgit v1.2.3 From f024f38c42166dd94afa046faf84b34f21926ed0 Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Tue, 13 Oct 2009 21:17:41 +0000 Subject: L10N: salvage a useful tooltip in the Build window along with its localizations, that will also go into the new Help server for Tier 1 languages. TEXT ONLY CHANGE; NO CODE CHANGED. --- indra/newview/skins/default/xui/da/floater_tools.xml | 2 +- indra/newview/skins/default/xui/de/floater_tools.xml | 2 +- indra/newview/skins/default/xui/en/floater_tools.xml | 2 +- indra/newview/skins/default/xui/es/floater_tools.xml | 2 +- indra/newview/skins/default/xui/fr/floater_tools.xml | 2 +- indra/newview/skins/default/xui/it/floater_tools.xml | 2 +- indra/newview/skins/default/xui/ja/floater_tools.xml | 2 +- indra/newview/skins/default/xui/nl/floater_tools.xml | 2 +- indra/newview/skins/default/xui/pl/floater_tools.xml | 2 +- indra/newview/skins/default/xui/pt/floater_tools.xml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/da/floater_tools.xml b/indra/newview/skins/default/xui/da/floater_tools.xml index f653feea2d..e50494ff9e 100644 --- a/indra/newview/skins/default/xui/da/floater_tools.xml +++ b/indra/newview/skins/default/xui/da/floater_tools.xml @@ -464,7 +464,7 @@ Område: [AREA] m². + + diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml index a243cb399e..5ee136c422 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml @@ -49,7 +49,7 @@ layout="topleft" left="80" name="Discard" - top="302" + top="283" width="100" /> + width="222" + sort_column="1"> + shortcut="control|M" + use_mac_ctrl="true"> @@ -981,6 +982,57 @@ + + + + + + + + + + + + + + + + + + + shortcut="control|shift|3" + use_mac_ctrl="true"> @@ -1615,7 +1668,8 @@ label="Debug Console" layout="topleft" name="Debug Console" - shortcut="control|shift|4"> + shortcut="control|shift|4" + use_mac_ctrl="true"> @@ -1627,7 +1681,8 @@ label="Fast Timers" layout="topleft" name="Fast Timers" - shortcut="control|shift|9"> + shortcut="control|shift|9" + use_mac_ctrl="true"> @@ -1639,7 +1694,8 @@ label="Memory" layout="topleft" name="Memory" - shortcut="control|shift|0"> + shortcut="control|shift|0" + use_mac_ctrl="true"> @@ -1651,7 +1707,8 @@ label="Notifications Console" layout="topleft" name="Notifications" - shortcut="control|shift|5"> + shortcut="control|shift|5" + use_mac_ctrl="true"> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 91c19badfa..217178a5ef 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -483,6 +483,20 @@ Joining this group costs L$[COST]. You do not have enough L$ to join this group. + +Creating this group will cost L$100. +Groups need more than one member, or they are deleted forever. +Please invite members within 48 hours. + + + - + - - -Creating this group will cost L$100. -Groups need more than one member, or they are deleted forever. -Please invite members within 48 hours. - - diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index 9a4480127d..6f01202680 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -212,4 +212,4 @@ Hover your mouse over the options for more help. value="Not Mature" /> - \ No newline at end of file + diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index 06ecfdc995..f7d7d52b68 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -217,7 +217,7 @@ My Avatar: width="237" top_pad="0"/> - - - \ No newline at end of file + diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f620e8f2d7..360fd3c2db 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -230,8 +230,10 @@ Yes (Happy) Yes + Loading... Offline + None found. OK @@ -2110,6 +2112,15 @@ Expected .wav, .tga, .bmp, .jpg, .jpeg, or .bvh Add Landmark... Edit Landmark... + + Ctrl- + Cmd- + Opt- + Shift- + Ctrl+ + Alt+ + Shift+ + File Saved Receiving @@ -2225,9 +2236,8 @@ Running in window. Can't find suitable pixel format Can't get pixel format description - [APP_NAME] requires True Color (32-bit) to run in a window. -Please go to Control Panels > Display > Settings and set the screen to 32-bit color. -Alternately, if you choose to run fullscreen, [APP_NAME] will automatically adjust the screen each time it runs. + [APP_NAME] requires True Color (32-bit) to run. +Please go to your computer's display settings and set the color mode to 32-bit. [APP_NAME] is unable to run because it can't get an 8 bit alpha channel. Usually this is due to video card driver issues. diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 545fa29675..89f916937b 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -696,20 +696,30 @@ class Linux_i686Manifest(LinuxManifest): #self.path("secondlife-i686.supp") if self.prefix("../../libraries/i686-linux/lib_release_client", dst="lib"): - #self.path("libkdu_v42R.so", "libkdu.so") - self.path("libfmod-3.75.so") self.path("libapr-1.so.0") self.path("libaprutil-1.so.0") self.path("libdb-4.2.so") self.path("libcrypto.so.0.9.7") self.path("libexpat.so.1") self.path("libssl.so.0.9.7") - self.path("libuuid.so", "libuuid.so.1") + self.path("libuuid.so.1") self.path("libSDL-1.2.so.0") self.path("libELFIO.so") self.path("libopenjpeg.so.1.3.0", "libopenjpeg.so.1.3") self.path("libalut.so") self.path("libopenal.so", "libopenal.so.1") + try: + self.path("libkdu_v42R.so", "libkdu.so") + pass + except: + print "Skipping libkdu_v42R.so - not found" + pass + try: + self.path("libfmod-3.75.so") + pass + except: + print "Skipping libkdu_v42R.so - not found" + pass self.end_prefix("lib") # Vivox runtimes diff --git a/indra/test/lltut.h b/indra/test/lltut.h index 47ea9d3f9e..bbb437c3f9 100644 --- a/indra/test/lltut.h +++ b/indra/test/lltut.h @@ -74,7 +74,7 @@ namespace tut inline void ensure_memory_matches(const char* msg,const void* actual, U32 actual_len, const void* expected,U32 expected_len) { if((expected_len != actual_len) || - (memcmp(actual, expected, actual_len) != 0)) + (std::memcmp(actual, expected, actual_len) != 0)) { std::stringstream ss; ss << (msg?msg:"") << (msg?": ":"") << "not equal"; -- cgit v1.2.3 From 2ec176c0d4ae53e1d8d3fa0c17f9f10da53c449b Mon Sep 17 00:00:00 2001 From: Erica Olsen Date: Wed, 14 Oct 2009 16:48:53 +0000 Subject: EXT-1268 'Remember me' is misleading (Reverted to "remember password" on login at Ramzi's suggestion) --- indra/newview/skins/default/xui/en/panel_login.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index aeeb884036..afe00271f7 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -164,7 +164,7 @@ control_name="RememberPassword" follows="left|bottom" height="16" - label="Remember me" + label="Remember password" layout="topleft" left_pad="10" name="remember_check" -- cgit v1.2.3 From ed56c1ca37dd2e09990bb9757e43d110ea71e974 Mon Sep 17 00:00:00 2001 From: James Cook Date: Wed, 14 Oct 2009 16:50:10 +0000 Subject: Added comment to clarify EXT-1488 resolution, LLUICtrl::clear() only clears user-input data. --- indra/llui/lluictrl.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra') diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index 69207eb8ea..1d34cb39ec 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -228,7 +228,11 @@ public: // Default to no-op: virtual void onTabInto(); + + // Clear any user-provided input (text in a text editor, checked checkbox, + // selected radio button, etc.). Defaults to no-op. virtual void clear(); + virtual void setColor(const LLColor4& color); BOOL focusNextItem(BOOL text_entry_only); -- cgit v1.2.3 From b10122ffdc5b5a373616b3555549410f3ecec4b9 Mon Sep 17 00:00:00 2001 From: James Cook Date: Wed, 14 Oct 2009 17:24:27 +0000 Subject: EXT-1475 No scroll bar in IM window, About dialog, etc. LLTextBase was hiding scroll bars by default. Reviewed with Richard. --- indra/llui/lltextbase.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra') diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index e85bee7775..97a2c70fe8 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -210,8 +210,6 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p) scroll_params.mouse_opaque = false; scroll_params.min_auto_scroll_rate = 200; scroll_params.max_auto_scroll_rate = 800; - // all text widgets only show scrollbar on demand - scroll_params.hide_scrollbar = true; scroll_params.border_visible = p.border_visible; mScroller = LLUICtrlFactory::create(scroll_params); addChild(mScroller); -- cgit v1.2.3 From ed606f343615a36b2e9d0435d8227d8235a986b9 Mon Sep 17 00:00:00 2001 From: James Cook Date: Wed, 14 Oct 2009 17:56:44 +0000 Subject: Fix bad attribute, possibly related to EXT-946 --- indra/newview/skins/default/xui/en/floater_map.xml | 1 - 1 file changed, 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index dc6a02efe1..a2b2e1ddf3 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -67,7 +67,6 @@ left="0" name="floater_map_north" right="10" - text="N" text_color="1 1 1 0.7" top="215"> N -- cgit v1.2.3 From 09e46fe7513f9d8f03f888b56763dc34cbcc7a17 Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Wed, 14 Oct 2009 18:49:36 +0000 Subject: DEV-35179 (part2) improve Keyboard shortcut indicators, using native Mac symbols * This was made possible by DEV-24828 internationalization work. --- indra/newview/skins/default/xui/da/notifications.xml | 2 +- indra/newview/skins/default/xui/da/strings.xml | 8 ++++---- indra/newview/skins/default/xui/de/notifications.xml | 6 +++--- indra/newview/skins/default/xui/de/strings.xml | 8 ++++---- indra/newview/skins/default/xui/en/notifications.xml | 8 ++++---- indra/newview/skins/default/xui/en/strings.xml | 12 ++++++------ indra/newview/skins/default/xui/es/notifications.xml | 6 +++--- indra/newview/skins/default/xui/es/strings.xml | 8 ++++---- indra/newview/skins/default/xui/fr/notifications.xml | 6 +++--- indra/newview/skins/default/xui/fr/strings.xml | 8 ++++---- indra/newview/skins/default/xui/it/notifications.xml | 6 +++--- indra/newview/skins/default/xui/it/strings.xml | 8 ++++---- indra/newview/skins/default/xui/ja/notifications.xml | 8 ++++---- indra/newview/skins/default/xui/ja/strings.xml | 8 ++++---- indra/newview/skins/default/xui/nl/notifications.xml | 6 +++--- indra/newview/skins/default/xui/nl/strings.xml | 8 ++++---- indra/newview/skins/default/xui/pl/notifications.xml | 6 +++--- indra/newview/skins/default/xui/pl/strings.xml | 8 ++++---- indra/newview/skins/default/xui/pt/notifications.xml | 6 +++--- indra/newview/skins/default/xui/pt/strings.xml | 8 ++++---- 20 files changed, 72 insertions(+), 72 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml index 5ab8e4eb30..42f55d4678 100644 --- a/indra/newview/skins/default/xui/da/notifications.xml +++ b/indra/newview/skins/default/xui/da/notifications.xml @@ -1079,7 +1079,7 @@ Fleksible genstande er ikke fysiske og man kan gå igennem dem, indtil fleksibel Du har sat avanceret menu til. Denne menu indeholder funktioner brugbare for udviklere, der udbedrer fejl i [SECOND_LIFE]. -For at vise denne menu, skal man i Windows trykke Ctrl-Alt-D. På Mac tryk ⌘-Opt-Shift-D. +For at vise denne menu, skal man i Windows trykke Ctrl+Alt+D. På Mac tryk ⌥⌘D. Du retter en sculpted prim. diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index b26fd8a244..945833d57a 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -484,16 +484,16 @@ Vælg bibliotek - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Shift- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index b738b2d864..ebe2d9b260 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -1696,7 +1696,7 @@ Ist die Option aktiviert, können Käufer ihr Land in dieser Region weiterverkau Standard: deaktiviert - Schlechte Sim-Performance ist oftmals auf ein Skript zurückzuführen. Öffnen Sie die Statistikleiste (Strg-Umschalt-1). Sehen Sie sich den Wert für „Simulator Physics FPS“ (Simulator Physik-FPS) an. + Schlechte Sim-Performance ist oftmals auf ein Skript zurückzuführen. Öffnen Sie die Statistikleiste (Strg+Umschalt+1). Sehen Sie sich den Wert für „Simulator Physics FPS“ (Simulator Physik-FPS) an. Wenn der Wert unter 45 liegt, öffnen Sie den Bereich „Time“ (Zeit) ganz unten in der Statistikleiste. Wenn der Wert für „Script Time“ (Skriptzeit) 25 ms oder höher ist, klicken Sie auf „Top-Skripts“. Der Name und die Position der Skripts, die für die schlechte Performance verantwortlich sind, werden angezeigt. Wenn Sie das Kontrollkästchen „Skripts deaktivieren“ aktivieren und auf „Übernehmen“ klicken, werden alle Skripts in der Region zeitweilig deaktiviert. Dieser Schritt ist eventuell notwendig, damit Sie an die Position des gemeldeten „Top-Skripts“ reisen können. Sobald Sie dort angekommen sind, sollten Sie das Skript auf die Ursache des Problems hin untersuchen. Möglicherweise müssen Sie sich an den Skript-Eigentümer wenden oder das Objekt löschen bzw. zurückgeben. Um die Skripte in der Region wieder zu aktivieren, deaktivieren Sie „Skript deaktivieren“ und klicken Sie auf „Übernehmen“. @@ -1704,7 +1704,7 @@ Standard: deaktiviert Schlechte Sim-Performance ist oftmals auf physische Objekte zurückzuführen. -Öffnen Sie die Statistikleiste (Strg-Umschalt-1). Sehen Sie sich den Wert „Simulator Physics FPS“ an. Liegt dieser unter 45, öffnen Sie unten in der Statistikleiste den „Time“-Bereich. Liegt die „Sim Time (Physics)“ bei 20 ms oder darüber, klicken Sie auf „Top-Kollisionsobjekte“. +Öffnen Sie die Statistikleiste (Strg+Umschalt+1). Sehen Sie sich den Wert „Simulator Physics FPS“ an. Liegt dieser unter 45, öffnen Sie unten in der Statistikleiste den „Time“-Bereich. Liegt die „Sim Time (Physics)“ bei 20 ms oder darüber, klicken Sie auf „Top-Kollisionsobjekte“. Der Name und der Standort der physischen Objekte, die das Problem verursachen, werden angezeigt. Wenn Sie das Kontrollkästchen „Kollisionen deaktivieren“ aktivieren und auf „Übernehmen“ klicken, werden alle Objekt-Objekt-Kollisionen in der Region zeitweilig deaktiviert. Dieser Schritt ist eventuell notwendig, damit Sie an die Position des gemeldeten „Top-Kollisionsobjekts“ reisen können. Überprüfen Sie das Objekt an der angegebenen Position. @@ -2849,7 +2849,7 @@ Ein flexibles Objekt ist ein Phantom und nicht physisch, bis die Option „Flexi Sie haben das Advanced-Menü aktiviert. Dieses Menü enthält nützliche Funktionen zum Debuggen von [SECOND_LIFE]. -Drücken Sie in Windows Strg-Alt-D (Mac: Befehl-Opt-Umschalt-D) zum Ein- und Ausschalten dieses Menüs. +Drücken Sie in Windows Strg+Alt+D (Mac: ⌥⌘D) zum Ein- und Ausschalten dieses Menüs. Sie bearbeiten ein geformtes Primitiv. diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 32f5dba393..af9185e0b7 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -488,16 +488,16 @@ Verzeichnis auswählen - Strg- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Umschalt- + ⇧ Strg+ diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 217178a5ef..28c4f0766e 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3756,7 +3756,7 @@ Default: Disallow label="Disable Scripts" name="HelpRegionDisableScripts" type="alertmodal"> -When sim performance is poor, a script may be to blame. Open the Statistics Bar (Ctrl-Shift-1). Look at the Simulator Physics FPS. +When sim performance is poor, a script may be to blame. Open the Statistics Bar (Ctrl+Shift+1). Look at the Simulator Physics FPS. If it is lower than 45, open the Time panel located at the bottom of the Stats Bar. If Script Time reads 25 ms or higher, click the Get Top Scripts button. You will be given the name and location of scripts that may be causing poor performance. Checking the Disable Scripts box and then pressing the Apply button will temporarily disable all scripts in this region. You may need to do this in order to travel to the location of a noted 'top script'. Once you have arrived at the location, investigate the script to determine if it is causing the problem. You may want to contact the owner of the script or delete or return the object. @@ -3771,7 +3771,7 @@ Default: off name="HelpRegionDisableCollisions" type="alertmodal"> When sim performance is poor, physical objects may be to blame. -Open the Statistics Bar (Ctrl-Shift-1). Look at the Simulator Physics FPS. If it is lower than 45, open the Time panel located at the bottom of the Stats Bar. If Sim Time (Physics) reads 20 ms or higher, click the Get Top Colliders button. +Open the Statistics Bar (Ctrl+Shift+1). Look at the Simulator Physics FPS. If it is lower than 45, open the Time panel located at the bottom of the Stats Bar. If Sim Time (Physics) reads 20 ms or higher, click the Get Top Colliders button. You will be given the name and location of physical objects that may be causing poor performance. Checking the Disable Collisions box and then pressing the Apply button will temporarily disable object-object collisions. You may need to do this in order to travel to the location of a noted 'top collider'. Once you have arrived at the location, investigate the object - is it constantly colliding with other objects? You may want to contact the owner of the object or delete or return the object. @@ -6212,8 +6212,8 @@ This object is flexible. Flexis must be phantom and not physical. You opened the Advanced menu. To toggle this menu, - Windows: Ctrl-Alt-D - Mac: ⌘-Opt-D + Windows: Ctrl+Alt+D + Mac: ⌥⌘D diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 360fd3c2db..cdea93a1dd 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -75,8 +75,8 @@ Click to run the secondlife:// command - Close (⌘-W) - Close (Ctrl-W) + Close (⌘W) + Close (Ctrl+W) Restore Minimize Tear Off @@ -2113,10 +2113,10 @@ Expected .wav, .tga, .bmp, .jpg, .jpeg, or .bvh Edit Landmark... - Ctrl- - Cmd- - Opt- - Shift- + + + + Ctrl+ Alt+ Shift+ diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index 4a2dec9210..86f3f1f125 100644 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -1760,7 +1760,7 @@ Si se marca esta opción, los compradores podrán revender el terreno que compre Por defecto: Deshabilitado - Cuando el rendimiento de un sim es pobre, el culpable puede ser un script. Abra Estadísticas (Ctrl-May-1). Mire Simulator Physics FPS. Si es menor de 45, abre el panel Time, en la parte inferior de las Estadísticas. Si ve que Script Time está en 25 ms o más alto, pulse el botón Listar los scripts según su uso, y verá el nombre y la posición de los scripts que pueden estar causando el bajo rendimiento. + Cuando el rendimiento de un sim es pobre, el culpable puede ser un script. Abra Estadísticas (Ctrl+May+1). Mire Simulator Physics FPS. Si es menor de 45, abre el panel Time, en la parte inferior de las Estadísticas. Si ve que Script Time está en 25 ms o más alto, pulse el botón Listar los scripts según su uso, y verá el nombre y la posición de los scripts que pueden estar causando el bajo rendimiento. Marcando la casilla Desactivar los scripts y pulsando el botón Aplicar, se desactivarán temporalmente en esta región todos los scripts. Debe hacer esto para viajar a la posición que ha visto en la Lista de scripts según su uso. Cuando llegue, investigue el script para determinar si es él quien causa el problema. Deberá contactar con el propietario del script, o borrar o devolver el objeto. @@ -1769,7 +1769,7 @@ Desmarque la casilla Desactivar los scripts y pulse Aplicar para reactivar los s Por defecto: off - Cuando el rendimiento de un sim es pobre, la culpa puede estar en los objetos físicos. Abra Estadísticas (Ctrl-May-1). Mire Simulator Physics FPS. Si es menor de 45, abre el panel Time, en la parte inferior de las Estadísticas. Si ve que Sim Time (Physics) está en 20 ms o más alto, pulse el botón Listar los objetos que colisionan, y verá el nombre y la posición de los objetos que pueden estar causando el bajo rendimiento. + Cuando el rendimiento de un sim es pobre, la culpa puede estar en los objetos físicos. Abra Estadísticas (Ctrl+May+1). Mire Simulator Physics FPS. Si es menor de 45, abre el panel Time, en la parte inferior de las Estadísticas. Si ve que Sim Time (Physics) está en 20 ms o más alto, pulse el botón Listar los objetos que colisionan, y verá el nombre y la posición de los objetos que pueden estar causando el bajo rendimiento. Marcando la casilla Desactivar las colisiones y pulsando el botón Aplicar, se desactivarán temporalmente las colisiones entre objetos. Debe hacer esto para viajar a la localización que se ha avisado en la Lista de objetos que colisionan. Cuando llegue, investigue el objeto: @@ -2917,7 +2917,7 @@ Los objetos flexibles no pueden ser materiales, y serán inmateriales hasta que Ha activado el menú Avanzado. Contiene herramientas útiles para los desarrolladores que trabajan mejorando [SECOND_LIFE]. -Para pasar este menú a una ventana, pulse Ctrl-Alt-D. En un Mac, pulse ⌘-Opt-D. +Para pasar este menú a una ventana, pulse Ctrl+Alt+D. En un Mac, pulse ⌥⌘D. Está editando un prim 'sculpted'. diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 59b853986a..294e407278 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -498,16 +498,16 @@ Si aun así persiste este mensaje, reinicie su ordenador. Si sigue recibiendo este mensaje, contacte con el [SUPPORT_SITE]. - Ctrl- + ⌃ - Cmd- + ⌘ - Alt- + ⌥ - Mayús- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index a604569303..a38cf858e0 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -1682,7 +1682,7 @@ Si cette option est cochée, les propriétaires sont libres de revendre leur par Valeur par défaut : désactivé - Lorsque la performance d'une région est faible, cela peut venir d'un script. Ouvrez la section Statistiques (Ctrl-Maj-1) et vérifiez le FPS Physique (Physics FPS) de la section Simulateur. + Lorsque la performance d'une région est faible, cela peut venir d'un script. Ouvrez la section Statistiques (Ctrl+Maj+1) et vérifiez le FPS Physique (Physics FPS) de la section Simulateur. Si le FPS est en dessous de 45, ouvrez la section Time située en fin de liste. Si le Script Time est au dessus de 25ms, cliquez sur le bouton Afficher les objets scriptés les plus consommateurs. Vous verrez le nom et l'emplacement des scripts éventuellement à l'origine du problème. Si vous cochez la case Désactiver les scripts et que vous appuyez sur Appliquer, tous les scripts de cette région seront temporairement désactivés. Vous devrez peut-être faire cela le temps d'arriver à l'endroit su script en cause. Une fois sur place, assurez-vous que le script est bien à l'origine du problème. Pour cela, vous devrez peut-être contacter le propriétaire du script ou bien supprimer ou renvoyer l'objet. @@ -1692,7 +1692,7 @@ Valeur par défaut : désactivé Des objets physiques peuvent fortement réduire les performances d'une région. -Ouvrez la barre de statistiques (Ctrl-Maj-1) et vérifiez le FPS Physique (Physics FPS) de la section Simulateur. +Ouvrez la barre de statistiques (Ctrl+Maj+1) et vérifiez le FPS Physique (Physics FPS) de la section Simulateur. Si le FPS est en dessous de 45, ouvrez la section Time située en fin de liste. Si le Script Time est au dessus de 25ms, cliquez sur le bouton Afficher les collisions les plus consommatrices. Vous verrez le nom et l'emplacement des objets physiques éventuellement à l'origine du problème. @@ -2842,7 +2842,7 @@ Les objets flexibles ne peuvent pas avoir de propriétés physiques et doivent r Vous avez activé le menu Avancé. Ce menu contient des fonctionnalités utiles pour les développeurs qui travaillent sur [SECOND_LIFE]. -Pour activer/désactiver ce menu sous Windows, appuyez sur Ctrl-Alt-D. Sur un Mac, appuyez sur ⌘-Opt-Maj-D +Pour activer/désactiver ce menu sous Windows, appuyez sur Ctrl+Alt+D. Sur un Mac, appuyez sur ⌥⌘D Vous êtes en train d'éditer un sculptie. diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 810e5c9c4d..070d2cd1a5 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -488,16 +488,16 @@ Choisir le répertoire - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Maj- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 29ddca3b17..8f8a969ace 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -1747,7 +1747,7 @@ Se questa opzione è selezionato i compratori possono rivendere i loro terreni i Impostazione base: Non consentire - Se le prestazioni di una sim sono basse, probabilmente è colpa di uno script. Apri la 'Barra delle statistiche' (Ctrl-Shift-1). Controlla il FPS della fisica del simulatore. + Se le prestazioni di una sim sono basse, probabilmente è colpa di uno script. Apri la 'Barra delle statistiche' (Ctrl+Shift+1). Controlla il FPS della fisica del simulatore. Se è più basso di 45, apri il pannello 'Time' (Tempi) collocato ln fondo alla 'Barra delle statistiche' Se il tempo per gli script è di 25 ms o più alto, clicca sul bottone 'Visualizza l'elenco degli script più pesanti...'. Ti verrà dato il nome e l'ubicazione degli script che probabilmente causano una cattiva prestazione. @@ -1758,7 +1758,7 @@ Impostazione base: spento Quando le prestazioni della sim sono basse, può darsi che la colpa sia di oggetti fisici. -Apri la 'Barra delle statistiche' (Ctrl-Shift-1). +Apri la 'Barra delle statistiche' (Ctrl+Shift+1). Controlla il FPS della fisica del simulatore. Se è più basso di 45, apri il pannello 'Time' (Tempi) collocato in fondo alla 'Barra delle statistiche'. Se il tempo della sim (fisica) risulta 20 ms o più, clicca sul bottone 'mostra gli oggetti che collidono di più'. @@ -2923,7 +2923,7 @@ Gli oggetti flessibili non possono essere fisici e devano essere fantasma fino a Hai attivato il menu Avanzato. Questo menu contiene funzioni utili per gli sviluppatori per il debug di [SECOND_LIFE]. -Per attivare o disattivare questo menu su Windows premere Ctrl-Alt-D. Su Mac premere ⌘-Opt-D. +Per attivare o disattivare questo menu su Windows premere Ctrl+Alt+D. Su Mac premere ⌥⌘D. Si sta modificando uno sculpted prim. diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 10fb1afe8d..bc3cc38a40 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -484,16 +484,16 @@ Scegli la cartella - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Shift- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index 5c22fbf474..4d067d2823 100644 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -1809,7 +1809,7 @@ L$[AMOUNT]で、このクラシファイド広告を今すぐ公開しますか スクリプトが原因でシムの状況が悪くなる場合があります。 -統計グラフをだして(Ctrl-Shift-1)、 +統計グラフをだして(Ctrl+Shift+1)、 シミュレーターフィジックスFPSを見てください。 45より数が低ければ、一番下に位置しているタイムパネルを開いてください。 スクリプト時間が25ms以上であれば、 @@ -1828,7 +1828,7 @@ L$[AMOUNT]で、このクラシファイド広告を今すぐ公開しますか 物理的オブジェクトが原因で、 シムの処理が重くなることがあります。 -統計グラフを開いて(Ctrl-Shift-1)、 +統計グラフを開いて(Ctrl+Shift+1)、 シミュレーターフィジックスFPSを見てください。 数値が45より低ければ、統計バーの下に位置しているタイムパネルを開いてください。 もしシムタイム(物理的作用)が20 msより長い場合は、 @@ -3128,8 +3128,8 @@ Mキーを押して変更します。 [SECOND_LIFE] をデバッグするデベロッパーにとって 有用な機能があります。 このメニューを切り替えるには、 -WindowsではCtrl-Alt-Dを押します。 -Macの場合は、⌘-Opt-Shift-Dを押してください。 +WindowsではCtrl+Alt+Dを押します。 +Macの場合は、⌥⌘Dを押してください。 スカルプトプリムを編集しています。 diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 9f2d0cdd8f..0eb26754cf 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -488,16 +488,16 @@ 参照 - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Shift- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/nl/notifications.xml b/indra/newview/skins/default/xui/nl/notifications.xml index 1d0caa76cd..9a83eaea61 100644 --- a/indra/newview/skins/default/xui/nl/notifications.xml +++ b/indra/newview/skins/default/xui/nl/notifications.xml @@ -1756,7 +1756,7 @@ Indien deze optie is aan gevinkt, kunnen kopers hun land in deze regio verkopen. Standaard: Niet toestaan - Indien de sim prestaties slecht zijn, kan een script de oorzaak zijn. Open de Statistieken balk (Ctrl-Shift-1). Kijk naar de Simulator Fysieke FPS. Indien het lager is dan 45, open dan het Tijd paneel onderaan de Statistieken balk. Indien de Script Tijd 25 ms of hoger is, klik dan op de Top Scripts knop. U krijgt dan een naam en lokatie van scripts die mogelijk de slechte prestaties veroorzaken. + Indien de sim prestaties slecht zijn, kan een script de oorzaak zijn. Open de Statistieken balk (Ctrl+Shift+1). Kijk naar de Simulator Fysieke FPS. Indien het lager is dan 45, open dan het Tijd paneel onderaan de Statistieken balk. Indien de Script Tijd 25 ms of hoger is, klik dan op de Top Scripts knop. U krijgt dan een naam en lokatie van scripts die mogelijk de slechte prestaties veroorzaken. Het aan vinken van Scripts Uitschakelen en vervolgens op de Toepassen knop drukken, zal tijdelijk alle scripts in deze regio uitschakelen. U zult dit mogelijk moeten doen om naar de lokatie te gaan van het 'top script'. Eenmaal aangekomen, onderzoek dan of het script het probleem veroorzaakt. U zult mogelijk de eigenaar willen contacteren of het object willen retourneren c.q. verwijderen. Verwijder het vinkje van Scripts Uitschakelen en klik op Toepassen om scripts weer te reactiveren in de regio. @@ -1764,7 +1764,7 @@ Verwijder het vinkje van Scripts Uitschakelen en klik op Toepassen om scripts we Standaard: Uitgeschakeld - Indien de sim prestaties slecht zijn, kunnen fysieke objecten de oorzaak zijn. Open de Statistieken balk (Ctrl-Shift-1). Kijk naar de Simulator Fysieke FPS. Indien het lager is dan 45, open dan het Tijd paneel onderaan de Statistieken balk. Indien de Sim Tijd (Fysiek) 20 ms of hoger is, klik dan op de Toon Top Botsingen knop. U krijgt dan een naam en lokatie van de fysieke objecten die mogelijk de slecht prestaties veroorzaken. + Indien de sim prestaties slecht zijn, kunnen fysieke objecten de oorzaak zijn. Open de Statistieken balk (Ctrl+Shift+1). Kijk naar de Simulator Fysieke FPS. Indien het lager is dan 45, open dan het Tijd paneel onderaan de Statistieken balk. Indien de Sim Tijd (Fysiek) 20 ms of hoger is, klik dan op de Toon Top Botsingen knop. U krijgt dan een naam en lokatie van de fysieke objecten die mogelijk de slecht prestaties veroorzaken. Het aan vinken van de Botsingen Uitschakelen knop en vervolgens op de Toepassen knop drukken, zal tijdelijk object-object botsingen uitschakelen. U zult dit mogelijk moeten doen om naar de lokatie te gaan van de 'top botsingen'. Eenmaal aangekomen, onderzoek dan het object. Botst het constant met andere objecten? U zult mogelijk de eigenaar willen contacteren of het object willen retourneren c.q. verwijderen. Verwijder het vinkje van Botsingen Uitschakelen en klik op Toepassen om botsingen weer te reactiveren in de regio. @@ -2916,7 +2916,7 @@ Flexibele objecten mogen niet fysiek zijn en moeten fantoom zijn tot de 'fl U heeft het menu Geavanceerd geactiveerd. Dit menu bevat opties die handig zijn voor ontwikkelaars tijdens het debuggen van [SECOND_LIFE]. -Om dit menu in en uit te schakelen drukt u binnen Windows Ctrl-Alt-D. Met een Mac drukt u ⌘-Opt-D. +Om dit menu in en uit te schakelen drukt u binnen Windows Ctrl+Alt+D. Met een Mac drukt u ⌥⌘D. U bent een sculpted prim aan het bewerken. diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml index 50c8270d87..49ebcd319c 100644 --- a/indra/newview/skins/default/xui/nl/strings.xml +++ b/indra/newview/skins/default/xui/nl/strings.xml @@ -487,16 +487,16 @@ Kies folder - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Shift- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index fd652a5af8..3cf9be507d 100644 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -1713,7 +1713,7 @@ Jeżeli ta opcja jest wybrana kupujący będą mogli odsprzedać posiadłości w Domyślinie: nie pozwalaj - Słaba wydajność / prędkość symulatora może być spowodowana przez skrypt. Otwórz panel Statystyki (Ctrl-Shift-1). Sprawdź ilość klatek na sekundę (FPS) w Fizyce Symulatora. Jeżeli jest mniej niż 45 wybierz panel Czas znajdujący się na dole panelu Statystyki. Jeżeli Czas Skryptów wynosi 25 ms lub więcej kliknij na Główne Skrypty. Zobaczysz listę nazw i lokacji skryptów które mogą być odpowiedzialne za pogorszenie wydajności. + Słaba wydajność / prędkość symulatora może być spowodowana przez skrypt. Otwórz panel Statystyki (Ctrl+Shift+1). Sprawdź ilość klatek na sekundę (FPS) w Fizyce Symulatora. Jeżeli jest mniej niż 45 wybierz panel Czas znajdujący się na dole panelu Statystyki. Jeżeli Czas Skryptów wynosi 25 ms lub więcej kliknij na Główne Skrypty. Zobaczysz listę nazw i lokacji skryptów które mogą być odpowiedzialne za pogorszenie wydajności. Wybranie opcji Wyłącz Skrypty i naciśnięcie Zastosuj tymczasowo wyłączy wszystkie skrypty w tym regionie. Wybranie tej opcji może być niezbędne w celu umożliwienia podróży do lokacji wymienionego Głównego Skryptu. Po przebyciu na miejsce zobacz skrypt i sprawdź czy jest on źródłem problemu. W razie potrzeby skontaktuj się z właścicielem skryptu albo usuń lub zwróć obiekt. @@ -1722,7 +1722,7 @@ Wyłączenie opcji Wyłącz Skrypty i naciśnięcie Zastosuj ponownie włączy s Domyślnie: nie wybrana - Słaba wydajność / prędkość symulatora może być spowodowana przez fizyczne obiekty. Otwórz panel Statystyki (Ctrl-Shift-1). Sprawdź ilość klatek na sekundę (FPS) w Fizyce Symulatora. Jeżeli jest mniej niż 45 wybierz panel Czas znajdujący się na dole panelu Statystyki. Jeżeli Czas Symulatora (Fizyka) wynosi 20 ms lub więcej kliknij na Główne Kolizje. Zobaczysz listę nazw i lokacji fizycznych obiektów które mogą być odpowiedzialne za pogorszenie wydajności. + Słaba wydajność / prędkość symulatora może być spowodowana przez fizyczne obiekty. Otwórz panel Statystyki (Ctrl+Shift+1). Sprawdź ilość klatek na sekundę (FPS) w Fizyce Symulatora. Jeżeli jest mniej niż 45 wybierz panel Czas znajdujący się na dole panelu Statystyki. Jeżeli Czas Symulatora (Fizyka) wynosi 20 ms lub więcej kliknij na Główne Kolizje. Zobaczysz listę nazw i lokacji fizycznych obiektów które mogą być odpowiedzialne za pogorszenie wydajności. Wybranie opcji Wyłącz Kolizje i naciśnięcie Zastosuj tymczasowo wyłączy kolizje obiektów. Wybranie tej opcji może być niezbędne w celu umożliwienia podróży do lokacji wymienionych Główneych Kolizji. Po przebyciu na miejsce zobacz obiekt i sprawdź czy jest on źródłem kolizji z innymi obiektami. W razie potrzeby skontaktuj się z właścicielem obiektu albo usuń lub zwróć obiekt. @@ -2867,7 +2867,7 @@ Obiekty elastyczne nie mogą być fizyczne i muszą być typu fantom. Zaawansowane menu zostało włączone. To menu zawiera funkcje użyteczne dla programistów analizujących [SECOND_LIFE]. -To menu jest aktywowane dzięki kombinacji klawiszy Ctrl-Alt-D (Windows) lub ⌘-Opt-D (Mac). +To menu jest aktywowane dzięki kombinacji klawiszy Ctrl+Alt+D (Windows) lub ⌥⌘D (Mac). Edytujesz sculpt. diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index b65a1f7163..1f67944f86 100755 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -487,16 +487,16 @@ Wybierz Katalog - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Shift- + ⇧ Ctrl+ diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index 14d2ab53e3..0ee2c5cb84 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -1730,10 +1730,10 @@ Se esta opção estiver marcada, compradores podem vender seus terrenos nesta re Padrão: Desabilitada. - Quando a performance do simulador está ruim, um script pode ser o culpado. Abra a Barra de Estatísticas (Ctrl-Shift-1). Olhe no Simulador de Física FPS. Se estiver abaixo de 45, então abra o painel 'Tempo' localizado na parte de baixo da Barra de Estatísticas. Se o Tempo de Script indicar 25 ms ou mais, clique no botão 'Get Top CScripts'. Será dado o nome e a localização do script que pode estar causando uma performance ruim. Marque a caixa 'Desabilitar Scripts' e aperte o botão 'Aplicar'. Isto temporariamente desabilitará todos os scripts nesta região. Uma vez que você chegar ao local, investigue o script para determinar se ele está causando o problema. Você pode querer entrar em contato com o proprietário do script, excluir ou devolver o objeto. Desmarque a caixa 'Desabilitar Script' e então clique em 'Aplicar' para reativar os scripts na região. Padrão: desligado. + Quando a performance do simulador está ruim, um script pode ser o culpado. Abra a Barra de Estatísticas (Ctrl+Shift+1). Olhe no Simulador de Física FPS. Se estiver abaixo de 45, então abra o painel 'Tempo' localizado na parte de baixo da Barra de Estatísticas. Se o Tempo de Script indicar 25 ms ou mais, clique no botão 'Get Top CScripts'. Será dado o nome e a localização do script que pode estar causando uma performance ruim. Marque a caixa 'Desabilitar Scripts' e aperte o botão 'Aplicar'. Isto temporariamente desabilitará todos os scripts nesta região. Uma vez que você chegar ao local, investigue o script para determinar se ele está causando o problema. Você pode querer entrar em contato com o proprietário do script, excluir ou devolver o objeto. Desmarque a caixa 'Desabilitar Script' e então clique em 'Aplicar' para reativar os scripts na região. Padrão: desligado. - Quando a performance do simulador é pobre, os objetos físicos podem ser os culpados.Abra a a Barra de Estatísticas (Ctrl-Shift-1). + Quando a performance do simulador é pobre, os objetos físicos podem ser os culpados.Abra a a Barra de Estatísticas (Ctrl+Shift+1). Olhe a taxa de quadros por segundos (FPS) dos objetos físicos. Se ela estiver abaixo de 45, abra o painel de Tempo, localizado na parte inferior da Barra de Estatísticas. Se o Tempo (Físicos) do Simulador mostrar 20 ms ou mais, clique o botão 'Pegue os Maiores Colidentes'. Será fornecido a você o nome e a localidade dos objetos físicos que podem estar causando uma performance pobre. @@ -2875,7 +2875,7 @@ Objetos flexíveis não podem ser físicos e devem ser fantasmas até que a caix Você ativou o menu Avançado. Este menu contém funcionalidades úteis para desenvolvedores debugarem o [SECOND_LIFE]. -Para mostrar esse menu no Windows pressione Ctrl-Alt-D. No Mac pressione ⌘-Opt-D. +Para mostrar esse menu no Windows pressione Ctrl+Alt+D. No Mac pressione ⌥⌘D. Você está editando uma primitiva esculpida. diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index 86c6594b0d..2d3514e5fe 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -484,16 +484,16 @@ Escolher Diretório - Ctrl- + ⌃ - Cmd- + ⌘ - Opt- + ⌥ - Shift- + ⇧ Ctrl+ -- cgit v1.2.3 From 7197e1aa962be6174a219027ced4dec72b5553a2 Mon Sep 17 00:00:00 2001 From: Ramzi Ramey Date: Wed, 14 Oct 2009 19:57:31 +0000 Subject: EXT-1477 (part2) Update top menus and top menu spec - a few more consistencies so that same words are used to refer to same thing, put Rendering stuff together, eliminate the Alt+Enter shortcut --- indra/newview/skins/default/xui/en/menu_login.xml | 2 +- indra/newview/skins/default/xui/en/menu_viewer.xml | 433 +++++++++++---------- 2 files changed, 221 insertions(+), 214 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 8c78b0c82f..8cb0a69906 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -178,7 +178,7 @@ + + + + - - - - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2392,7 +2577,7 @@ parameter="focus" /> @@ -2401,7 +2586,7 @@ parameter="move" /> @@ -2410,7 +2595,7 @@ parameter="edit" /> @@ -2419,7 +2604,7 @@ parameter="create" /> @@ -2460,193 +2645,13 @@ label="Toggle Fullscreen" layout="topleft" name="Toggle Fullscreen" - shortcut="alt|Enter"> + > + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Date: Wed, 14 Oct 2009 20:16:18 +0000 Subject: improved metrics for llfontgl::getWidth (use greater of character width/xadvance) llfontgl::Addchar now called consistently when requesting font metrics no longer possible to have font glyph info without rendered font EXT-1294 - LLExpandableTextBox: wrong ellipses reviewed by James and Mani --- indra/llrender/llfontfreetype.cpp | 127 +++++---------------- indra/llrender/llfontfreetype.h | 21 +--- indra/llrender/llfontgl.cpp | 50 +++----- indra/llrender/llfontgl.h | 2 - indra/llui/lltextbase.cpp | 19 ++- indra/newview/llexpandabletextbox.cpp | 15 ++- .../default/xui/en/widgets/expandable_text.xml | 1 + 7 files changed, 72 insertions(+), 163 deletions(-) (limited to 'indra') diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp index 1246cfc44b..786dc64452 100644 --- a/indra/llrender/llfontfreetype.cpp +++ b/indra/llrender/llfontfreetype.cpp @@ -98,9 +98,7 @@ LLFontGlyphInfo::LLFontGlyphInfo(U32 index) mWidth(0), // In pixels mHeight(0), // In pixels mXAdvance(0.f), // In pixels - mYAdvance(0.f), // In pixels - mIsRendered(FALSE), - mMetricsValid(FALSE) + mYAdvance(0.f) // In pixels { } @@ -199,7 +197,7 @@ BOOL LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 v if (!mIsFallback) { // Add the default glyph - addGlyph(0, 0); + addGlyphFromFont(this, 0, 0); } mName = filename; @@ -251,57 +249,10 @@ F32 LLFontFreetype::getXAdvance(llwchar wch) const if (mFTFace == NULL) return 0.0; - //llassert(!mIsFallback); - U32 glyph_index; - // Return existing info only if it is current LLFontGlyphInfo* gi = getGlyphInfo(wch); - if (gi && gi->mMetricsValid) - { - return gi->mXAdvance; - } - - const LLFontFreetype* fontp = this; - - // Initialize char to glyph map - glyph_index = FT_Get_Char_Index(mFTFace, wch); - if (glyph_index == 0) - { - font_vector_t::const_iterator iter; - for(iter = mFallbackFonts.begin(); (iter != mFallbackFonts.end()) && (glyph_index == 0); iter++) - { - glyph_index = FT_Get_Char_Index((*iter)->mFTFace, wch); - if(glyph_index) - { - fontp = *iter; - } - } - } - - if (glyph_index) + if (gi) { - // This font has this glyph - fontp->renderGlyph(glyph_index); - - // Create the entry if it's not there - char_glyph_info_map_t::iterator iter2 = mCharGlyphInfoMap.find(wch); - if (iter2 == mCharGlyphInfoMap.end()) - { - gi = new LLFontGlyphInfo(glyph_index); - insertGlyphInfo(wch, gi); - } - else - { - gi = iter2->second; - } - - gi->mWidth = fontp->mFTFace->glyph->bitmap.width; - gi->mHeight = fontp->mFTFace->glyph->bitmap.rows; - - // Convert these from 26.6 units to float pixels. - gi->mXAdvance = fontp->mFTFace->glyph->advance.x / 64.f; - gi->mYAdvance = fontp->mFTFace->glyph->advance.y / 64.f; - gi->mMetricsValid = TRUE; return gi->mXAdvance; } else @@ -323,10 +274,10 @@ F32 LLFontFreetype::getXKerning(llwchar char_left, llwchar char_right) const return 0.0; //llassert(!mIsFallback); - LLFontGlyphInfo* left_glyph_info = get_if_there(mCharGlyphInfoMap, char_left, (LLFontGlyphInfo*)NULL); + LLFontGlyphInfo* left_glyph_info = getGlyphInfo(char_left);; U32 left_glyph = left_glyph_info ? left_glyph_info->mGlyphIndex : 0; // Kern this puppy. - LLFontGlyphInfo* right_glyph_info = get_if_there(mCharGlyphInfoMap, char_right, (LLFontGlyphInfo*)NULL); + LLFontGlyphInfo* right_glyph_info = getGlyphInfo(char_right); U32 right_glyph = right_glyph_info ? right_glyph_info->mGlyphIndex : 0; FT_Vector delta; @@ -339,18 +290,10 @@ F32 LLFontFreetype::getXKerning(llwchar char_left, llwchar char_right) const BOOL LLFontFreetype::hasGlyph(llwchar wch) const { llassert(!mIsFallback); - const LLFontGlyphInfo* gi = getGlyphInfo(wch); - if (gi && gi->mIsRendered) - { - return TRUE; - } - else - { - return FALSE; - } + return(mCharGlyphInfoMap.find(wch) != mCharGlyphInfoMap.end()); } -BOOL LLFontFreetype::addChar(llwchar wch) const +LLFontGlyphInfo* LLFontFreetype::addGlyph(llwchar wch) const { if (mFTFace == NULL) return FALSE; @@ -371,30 +314,23 @@ BOOL LLFontFreetype::addChar(llwchar wch) const glyph_index = FT_Get_Char_Index((*iter)->mFTFace, wch); if (glyph_index) { - addGlyphFromFont(*iter, wch, glyph_index); - return TRUE; + return addGlyphFromFont(*iter, wch, glyph_index); } } } char_glyph_info_map_t::iterator iter = mCharGlyphInfoMap.find(wch); - if (iter == mCharGlyphInfoMap.end() || !(iter->second->mIsRendered)) + if (iter == mCharGlyphInfoMap.end()) { - BOOL result = addGlyph(wch, glyph_index); - return result; + return addGlyphFromFont(this, wch, glyph_index); } - return FALSE; -} - -BOOL LLFontFreetype::addGlyph(llwchar wch, U32 glyph_index) const -{ - return addGlyphFromFont(this, wch, glyph_index); + return NULL; } -BOOL LLFontFreetype::addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, U32 glyph_index) const +LLFontGlyphInfo* LLFontFreetype::addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, U32 glyph_index) const { if (mFTFace == NULL) - return FALSE; + return NULL; llassert(!mIsFallback); fontp->renderGlyph(glyph_index); @@ -417,8 +353,6 @@ BOOL LLFontFreetype::addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, // Convert these from 26.6 units to float pixels. gi->mXAdvance = fontp->mFTFace->glyph->advance.x / 64.f; gi->mYAdvance = fontp->mFTFace->glyph->advance.y / 64.f; - gi->mIsRendered = TRUE; - gi->mMetricsValid = TRUE; insertGlyphInfo(wch, gi); @@ -489,7 +423,11 @@ BOOL LLFontFreetype::addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, // omit it from the font-image. } - return TRUE; + LLImageGL *image_gl = mFontBitmapCachep->getImageGL(bitmap_num); + LLImageRaw *image_raw = mFontBitmapCachep->getImageRaw(bitmap_num); + image_gl->setSubImage(image_raw, 0, 0, image_gl->getWidth(), image_gl->getHeight()); + + return gi; } LLFontGlyphInfo* LLFontFreetype::getGlyphInfo(llwchar wch) const @@ -499,7 +437,11 @@ LLFontGlyphInfo* LLFontFreetype::getGlyphInfo(llwchar wch) const { return iter->second; } - return NULL; + else + { + // this glyph doesn't yet exist, so render it and return the result + return addGlyph(wch); + } } void LLFontFreetype::insertGlyphInfo(llwchar wch, LLFontGlyphInfo* gi) const @@ -556,19 +498,12 @@ void LLFontFreetype::reset(F32 vert_dpi, F32 horz_dpi) void LLFontFreetype::resetBitmapCache() { - // Iterate through glyphs and clear the mIsRendered flag - for (char_glyph_info_map_t::iterator iter = mCharGlyphInfoMap.begin(); - iter != mCharGlyphInfoMap.end(); ++iter) - { - iter->second->mIsRendered = FALSE; - //FIXME: this is only strictly necessary when resetting the entire font, - //not just flushing the bitmap - iter->second->mMetricsValid = FALSE; - } + for_each(mCharGlyphInfoMap.begin(), mCharGlyphInfoMap.end(), DeletePairedPointer()); + mCharGlyphInfoMap.clear(); mFontBitmapCachep->reset(); // Add the empty glyph - addGlyph(0, 0); + addGlyphFromFont(this, 0, 0); } void LLFontFreetype::destroyGL() @@ -576,21 +511,11 @@ void LLFontFreetype::destroyGL() mFontBitmapCachep->destroyGL(); } -BOOL LLFontFreetype::getIsFallback() const -{ - return mIsFallback; -} - const std::string &LLFontFreetype::getName() const { return mName; } -F32 LLFontFreetype::getPointSize() const -{ - return mPointSize; -} - const LLPointer LLFontFreetype::getFontBitmapCache() const { return mFontBitmapCachep; diff --git a/indra/llrender/llfontfreetype.h b/indra/llrender/llfontfreetype.h index 5adaab3a88..1325b4995b 100644 --- a/indra/llrender/llfontfreetype.h +++ b/indra/llrender/llfontfreetype.h @@ -70,10 +70,8 @@ public: S32 mHeight; // In pixels F32 mXAdvance; // In pixels F32 mYAdvance; // In pixels - BOOL mMetricsValid; // We have up-to-date metrics for this glyph // Information for actually rendering - BOOL mIsRendered; // We actually have rendered this glyph S32 mXBitmapOffset; // Offset to the origin in the bitmap S32 mYBitmapOffset; // Offset to the origin in the bitmap S32 mXBearing; // Distance from baseline to left in pixels @@ -133,34 +131,27 @@ public: F32 getXAdvance(llwchar wc) const; F32 getXKerning(llwchar char_left, llwchar char_right) const; // Get the kerning between the two characters - BOOL hasGlyph(llwchar wch) const; // Has a glyph for this character - BOOL addChar(llwchar wch) const; // Add a new character to the font if necessary - BOOL addGlyph(llwchar wch, U32 glyph_index) const; // Add a new glyph to the existing font - BOOL addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, U32 glyph_index) const; // Add a glyph from this font to the other (returns the glyph_index, 0 if not found) - LLFontGlyphInfo* getGlyphInfo(llwchar wch) const; - void insertGlyphInfo(llwchar wch, LLFontGlyphInfo* gi) const; - void renderGlyph(U32 glyph_index) const; - void reset(F32 vert_dpi, F32 horz_dpi); - void resetBitmapCache(); void destroyGL(); - BOOL getIsFallback() const; - const std::string& getName() const; - F32 getPointSize() const; - const LLPointer getFontBitmapCache() const; void setStyle(U8 style); U8 getStyle() const; private: + void resetBitmapCache(); void setSubImageLuminanceAlpha(U32 x, U32 y, U32 bitmap_num, U32 width, U32 height, U8 *data, S32 stride = 0) const; + BOOL hasGlyph(llwchar wch) const; // Has a glyph for this character + LLFontGlyphInfo* addGlyph(llwchar wch) const; // Add a new character to the font if necessary + LLFontGlyphInfo* addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, U32 glyph_index) const; // Add a glyph from this font to the other (returns the glyph_index, 0 if not found) + void renderGlyph(U32 glyph_index) const; + void insertGlyphInfo(llwchar wch, LLFontGlyphInfo* gi) const; std::string mName; diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 2d7b9760e8..c9163d2890 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -252,11 +252,6 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons { llwchar wch = wstr[i]; - if (!mFontFreetype->hasGlyph(wch)) - { - addChar(wch); - } - const LLFontGlyphInfo* fgi= mFontFreetype->getGlyphInfo(wch); if (!fgi) { @@ -299,10 +294,6 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons if (next_char && (next_char < LAST_CHARACTER)) { // Kern this puppy. - if (!mFontFreetype->hasGlyph(next_char)) - { - addChar(next_char); - } cur_x += mFontFreetype->getXKerning(wch, next_char); } @@ -442,15 +433,22 @@ F32 LLFontGL::getWidthF32(const llwchar* wchars, S32 begin_offset, S32 max_chars F32 cur_x = 0; const S32 max_index = begin_offset + max_chars; - for (S32 i = begin_offset; i < max_index; i++) + + F32 width_padding = 0.f; + for (S32 i = begin_offset; i < max_index && wchars[i] != 0; i++) { llwchar wch = wchars[i]; - if (wch == 0) - { - break; // done - } - cur_x += mFontFreetype->getXAdvance(wch); + const LLFontGlyphInfo* fgi= mFontFreetype->getGlyphInfo(wch); + + F32 advance = mFontFreetype->getXAdvance(wch); + + // for the last character we want to measure the greater of its width and xadvance values + // so keep track of the difference between these values for the each character we measure + // so we can fix things up at the end + width_padding = llmax(0.f, (F32)fgi->mWidth - advance); + + cur_x += advance; llwchar next_char = wchars[i+1]; if (((i + 1) < begin_offset + max_chars) @@ -464,6 +462,9 @@ F32 LLFontGL::getWidthF32(const llwchar* wchars, S32 begin_offset, S32 max_chars cur_x = (F32)llfloor(cur_x + 0.5f); } + // add in extra pixels for last character's width past its xadvance + cur_x += width_padding; + return cur_x / sScaleX; } @@ -663,25 +664,6 @@ S32 LLFontGL::charFromPixelOffset(const llwchar* wchars, S32 begin_offset, F32 t return llmin(max_chars, pos - begin_offset); } -BOOL LLFontGL::addChar(llwchar wch) const -{ - if (!mFontFreetype->addChar(wch)) - { - return FALSE; - } - - stop_glerror(); - - LLFontGlyphInfo *glyph_info = mFontFreetype->getGlyphInfo(wch); - U32 bitmap_num = glyph_info->mBitmapNum; - - const LLFontBitmapCache* font_bitmap_cache = mFontFreetype->getFontBitmapCache(); - LLImageGL *image_gl = font_bitmap_cache->getImageGL(bitmap_num); - LLImageRaw *image_raw = font_bitmap_cache->getImageRaw(bitmap_num); - image_gl->setSubImage(image_raw, 0, 0, image_gl->getWidth(), image_gl->getHeight()); - return TRUE; -} - const LLFontDescriptor& LLFontGL::getFontDesc() const { return mFontDescriptor; diff --git a/indra/llrender/llfontgl.h b/indra/llrender/llfontgl.h index ad84b6d641..a278d88287 100644 --- a/indra/llrender/llfontgl.h +++ b/indra/llrender/llfontgl.h @@ -131,8 +131,6 @@ public: // Returns the index of the character closest to pixel position x (ignoring text to the right of max_pixels and max_chars) S32 charFromPixelOffset(const llwchar* wchars, S32 char_offset, F32 x, F32 max_pixels=F32_MAX, S32 max_chars = S32_MAX, BOOL round = TRUE) const; - BOOL addChar(const llwchar wch) const; - const LLFontDescriptor& getFontDesc() const; diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 97a2c70fe8..3c5213a0b3 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1106,12 +1106,17 @@ void LLTextBase::reflow(S32 start_index) S32 segment_width = segment->getWidth(seg_offset, character_count); remaining_pixels -= segment_width; - S32 text_left = getLeftOffset(text_width - remaining_pixels); seg_offset += character_count; S32 last_segment_char_on_line = segment->getStart() + seg_offset; + S32 text_left = getLeftOffset(text_width - remaining_pixels); + LLRect line_rect(text_left, + cur_top, + text_left + (text_width - remaining_pixels), + cur_top - line_height); + // if we didn't finish the current segment... if (last_segment_char_on_line < segment->getEnd()) { @@ -1129,10 +1134,7 @@ void LLTextBase::reflow(S32 start_index) mLineInfoList.push_back(line_info( line_start_index, last_segment_char_on_line, - LLRect(text_left, - cur_top, - text_left + (text_width - remaining_pixels), - cur_top - line_height), + line_rect, line_count)); line_start_index = segment->getStart() + seg_offset; @@ -1147,15 +1149,12 @@ void LLTextBase::reflow(S32 start_index) mLineInfoList.push_back(line_info( line_start_index, last_segment_char_on_line, - LLRect(text_left, - cur_top, - text_left + (text_width - remaining_pixels), - cur_top - line_height), + line_rect, line_count)); cur_top -= llround((F32)line_height * mLineSpacingMult) + mLineSpacingPixels; break; } - // finished a segment and there are segments remaining on this line + // ...or finished a segment and there are segments remaining on this line else { // subtract pixels used and increment segment diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp index 2467356018..e2d6bcee8f 100644 --- a/indra/newview/llexpandabletextbox.cpp +++ b/indra/newview/llexpandabletextbox.cpp @@ -57,7 +57,20 @@ public: { return start_offset; } - /*virtual*/ S32 getNumChars(S32 num_pixels, S32 segment_offset, S32 line_offset, S32 max_chars) const { return getEnd() - getStart(); } + /*virtual*/ S32 getNumChars(S32 num_pixels, S32 segment_offset, S32 line_offset, S32 max_chars) const + { + // require full line to ourselves + if (line_offset == 0) + { + // print all our text + return getEnd() - getStart(); + } + else + { + // wait for next line + return 0; + } + } /*virtual*/ F32 draw(S32 start, S32 end, S32 selection_start, S32 selection_end, const LLRect& draw_rect) { F32 right_x; diff --git a/indra/newview/skins/default/xui/en/widgets/expandable_text.xml b/indra/newview/skins/default/xui/en/widgets/expandable_text.xml index 120deaaef5..319beac291 100644 --- a/indra/newview/skins/default/xui/en/widgets/expandable_text.xml +++ b/indra/newview/skins/default/xui/en/widgets/expandable_text.xml @@ -5,6 +5,7 @@ more_label="More" follows="left|top" name="text" + allow_scroll="true" use_ellipses="true" word_wrap="true" tab_stop="true" -- cgit v1.2.3 From 7475ec05fc81e358a6979f3e9d7050ab91511c57 Mon Sep 17 00:00:00 2001 From: Steven Bennetts Date: Wed, 14 Oct 2009 20:28:07 +0000 Subject: merge -r 2005-2011 https://svn.aws.productengine.com/secondlife/pe/stable-2 -> viewer-2.0.0-3 * Bugs: EXT-1472 EXT-996 --- indra/newview/llappviewer.cpp | 4 + indra/newview/llavatariconctrl.cpp | 121 ++++++++++++++++++--- indra/newview/llavatariconctrl.h | 42 +++++-- indra/newview/llpanelteleporthistory.cpp | 4 +- indra/newview/llstartup.cpp | 4 + .../skins/default/xui/en/floater_im_session.xml | 8 +- .../default/xui/en/panel_group_control_panel.xml | 54 +++++---- 7 files changed, 172 insertions(+), 65 deletions(-) (limited to 'indra') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 785179f7b3..c673db2034 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -179,6 +179,7 @@ #include "llimview.h" #include "llviewerthrottle.h" #include "llparcel.h" +#include "llavatariconctrl.h" // *FIX: These extern globals should be cleaned up. // The globals either represent state/config/resource-storage of either @@ -1467,6 +1468,9 @@ bool LLAppViewer::cleanup() sImageDecodeThread = NULL; LLLocationHistory::getInstance()->save(); + + LLAvatarIconIDCache::getInstance()->save(); + delete mFastTimerLogThread; mFastTimerLogThread = NULL; diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp index 1d5fa9ffa7..3e411583ac 100644 --- a/indra/newview/llavatariconctrl.cpp +++ b/indra/newview/llavatariconctrl.cpp @@ -50,7 +50,94 @@ static LLDefaultChildRegistry::Register r("avatar_icon"); -LLAvatarIconCtrl::avatar_image_map_t LLAvatarIconCtrl::sImagesCache; +bool LLAvatarIconIDCache::LLAvatarIconIDCacheItem::expired() +{ + const F64 SEC_PER_DAY_PLUS_HOUR = (24.0 + 1.0) * 60.0 * 60.0; + F64 delta = LLDate::now().secondsSinceEpoch() - cached_time.secondsSinceEpoch(); + if (delta > SEC_PER_DAY_PLUS_HOUR) + return true; + return false; +} + +void LLAvatarIconIDCache::load () +{ + llinfos << "Loading avatar icon id cache." << llendl; + + // build filename for each user + std::string resolved_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, mFilename); + llifstream file(resolved_filename); + + if (!file.is_open()) + return; + + // add each line in the file to the list + int uuid_len = UUID_STR_LENGTH-1; + std::string line; + while (std::getline(file, line)) + { + LLUUID avatar_id; + LLUUID icon_id; + LLDate date; + + std::string avatar_id_str = line.substr(0,uuid_len); + std::string icon_id_str = line.substr(uuid_len,uuid_len); + + std::string date_str = line.substr(uuid_len*2, line.length()-uuid_len*2); + + if(!avatar_id.set(avatar_id_str) || !icon_id.set(icon_id_str) || !date.fromString(date_str)) + continue; + + LLAvatarIconIDCacheItem item = {icon_id,date}; + mCache[avatar_id] = item; + } + + file.close(); + +} + +void LLAvatarIconIDCache::save () +{ + std::string resolved_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, mFilename); + + // open a file for writing + llofstream file (resolved_filename); + if (!file.is_open()) + { + llwarns << "can't open avatar icons cache file\"" << mFilename << "\" for writing" << llendl; + return; + } + + for(std::map::iterator it = mCache.begin();it!=mCache.end();++it) + { + if(!it->second.expired()) + { + file << it->first << it->second.icon_id << it->second.cached_time << std::endl; + } + } + + file.close(); +} + +LLUUID* LLAvatarIconIDCache::get (const LLUUID& avatar_id) +{ + std::map::iterator it = mCache.find(avatar_id); + if(it==mCache.end()) + return 0; + if(it->second.expired()) + return 0; + return &it->second.icon_id; +} + +void LLAvatarIconIDCache::add (const LLUUID& avatar_id,const LLUUID& icon_id) +{ + LLAvatarIconIDCacheItem item = {icon_id,LLDate::now()}; + mCache[avatar_id] = item; +} + +void LLAvatarIconIDCache::remove (const LLUUID& avatar_id) +{ + mCache.erase(avatar_id); +} LLAvatarIconCtrl::Params::Params() @@ -161,18 +248,13 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) // an avatar. // Check if cache already contains image_id for that avatar - avatar_image_map_t::iterator it = sImagesCache.find(mAvatarId); - if (it != sImagesCache.end()) - { - updateFromCache(it->second); - } - else + + if (!updateFromCache()) { - app->addObserver(value.asUUID(), this); - app->sendAvatarPropertiesRequest(value.asUUID()); + app->addObserver(mAvatarId, this); + app->sendAvatarPropertiesRequest(mAvatarId); } } - } else { @@ -182,12 +264,18 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) gCacheName->get(mAvatarId, FALSE, boost::bind(&LLAvatarIconCtrl::nameUpdatedCallback, this, _1, _2, _3, _4)); } -void LLAvatarIconCtrl::updateFromCache(LLAvatarIconCtrl::LLImagesCacheItem data) +bool LLAvatarIconCtrl::updateFromCache() { + LLUUID* icon_id_ptr = LLAvatarIconIDCache::getInstance()->get(mAvatarId); + if(!icon_id_ptr) + return false; + + const LLUUID& icon_id = *icon_id_ptr; + // Update the avatar - if (data.image_id.notNull()) + if (icon_id.notNull()) { - LLIconCtrl::setValue(data.image_id); + LLIconCtrl::setValue(icon_id); } else { @@ -224,6 +312,7 @@ void LLAvatarIconCtrl::updateFromCache(LLAvatarIconCtrl::LLImagesCacheItem data) setToolTip((LLStringExplicit)""); } } + return true; } //virtual @@ -239,10 +328,8 @@ void LLAvatarIconCtrl::processProperties(void* data, EAvatarProcessorType type) return; } - LLAvatarIconCtrl::LLImagesCacheItem data(avatar_data->image_id, avatar_data->flags); - - updateFromCache(data); - sImagesCache.insert(std::pair(mAvatarId, data)); + LLAvatarIconIDCache::getInstance()->add(mAvatarId,avatar_data->image_id); + updateFromCache(); } } } diff --git a/indra/newview/llavatariconctrl.h b/indra/newview/llavatariconctrl.h index 49e304a521..77390eb233 100644 --- a/indra/newview/llavatariconctrl.h +++ b/indra/newview/llavatariconctrl.h @@ -37,6 +37,35 @@ #include "llavatarpropertiesprocessor.h" #include "llviewermenu.h" +class LLAvatarIconIDCache: public LLSingleton +{ +public: + struct LLAvatarIconIDCacheItem + { + LLUUID icon_id; + LLDate cached_time; + + bool expired(); + }; + + LLAvatarIconIDCache():mFilename("avatar_icons_cache.txt") + { + } + + void load (); + void save (); + + LLUUID* get (const LLUUID& id); + void add (const LLUUID& avatar_id,const LLUUID& icon_id); + + void remove (const LLUUID& id); +protected: + + + std::string mFilename; + std::map mCache;//we cache only LLUID and time +}; + class LLAvatarIconCtrl : public LLIconCtrl, public LLAvatarPropertiesObserver { @@ -82,19 +111,8 @@ protected: LLHandle mPopupMenuHandle; bool mDrawTooltip; - struct LLImagesCacheItem - { - LLUUID image_id; - U32 flags; - - LLImagesCacheItem(LLUUID image_id_, U32 flags_) : image_id(image_id_), flags(flags_) {} - }; - - typedef std::map avatar_image_map_t; - - static avatar_image_map_t sImagesCache; - void updateFromCache(LLAvatarIconCtrl::LLImagesCacheItem data); + bool updateFromCache(); }; #endif // LL_LLAVATARICONCTRL_H diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index e71ddfb283..e1e3fe4677 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -420,7 +420,7 @@ void LLTeleportHistoryPanel::showTeleportHistory() S32 index = hist_items.size() - 1; for (LLTeleportHistoryStorage::slurl_list_t::const_reverse_iterator iter = hist_items.rbegin(); - iter != hist_items.rend(); ++iter) + iter != hist_items.rend(); ++iter, --index) { std::string landmark_title = (*iter).mTitle; LLStringUtil::toUpper(landmark_title); @@ -496,8 +496,6 @@ void LLTeleportHistoryPanel::showTeleportHistory() { curr_flat_view->addItem(new LLTeleportHistoryFlatItem(index, &mContextMenu, (*iter).mTitle)); } - - index--; } // Hide empty tabs from current to bottom diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 9cd3acf13e..45763dd8a7 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -189,6 +189,7 @@ #include "llwearable.h" #include "llinventorybridge.h" #include "llappearancemgr.h" +#include "llavatariconctrl.h" #if LL_WINDOWS #include "llwindebug.h" @@ -1021,6 +1022,9 @@ bool idle_startup() // Load location history LLLocationHistory::getInstance()->load(); + // Load Avatars icons cache + LLAvatarIconIDCache::getInstance()->load(); + //------------------------------------------------- // Handle startup progress screen //------------------------------------------------- diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 0921ccfb95..611c51ad11 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -11,10 +11,10 @@ can_dock="true" can_minimize="true" visible="true" - width="315"> + width="365">