From 5d85dad85f07ea23b3a2892276d8ac591a966864 Mon Sep 17 00:00:00 2001 From: Dessie Linden Date: Thu, 15 Jul 2010 12:31:08 -0700 Subject: Reverted changeset 2bb10eae42bf --- indra/newview/app_settings/settings.xml | 17 +- indra/newview/llagent.cpp | 3 - indra/newview/llagentwearablesfetch.cpp | 2 +- indra/newview/llappearancemgr.cpp | 24 +- indra/newview/llavatarlist.cpp | 2 +- indra/newview/llchiclet.cpp | 4 +- indra/newview/llcofwearables.cpp | 28 +-- indra/newview/llcofwearables.h | 4 - indra/newview/lldndbutton.cpp | 2 +- indra/newview/lldndbutton.h | 2 +- indra/newview/llexpandabletextbox.cpp | 8 +- indra/newview/llfolderview.h | 1 - indra/newview/llimview.cpp | 8 - indra/newview/llinspectobject.cpp | 3 +- indra/newview/llinventoryfunctions.cpp | 13 - indra/newview/llinventoryfunctions.h | 36 +-- indra/newview/llinventoryitemslist.cpp | 8 +- indra/newview/llinventorylistitem.cpp | 93 ++----- indra/newview/llinventorylistitem.h | 31 +-- indra/newview/lllocationinputctrl.cpp | 2 +- indra/newview/llpanelgenerictip.cpp | 6 +- indra/newview/llpanelmaininventory.cpp | 11 +- indra/newview/llpanelonlinestatus.cpp | 5 +- indra/newview/llpaneloutfitedit.cpp | 127 ++-------- indra/newview/llpaneloutfitedit.h | 9 +- indra/newview/llparticipantlist.cpp | 2 +- indra/newview/llpreviewtexture.cpp | 6 +- indra/newview/llpreviewtexture.h | 8 +- indra/newview/llscriptfloater.cpp | 27 +- indra/newview/llscriptfloater.h | 5 - indra/newview/llsidetray.cpp | 14 +- indra/newview/llsidetray.h | 14 +- indra/newview/llsyswellwindow.cpp | 4 +- indra/newview/lltexturectrl.cpp | 4 - indra/newview/llurllineeditorctrl.cpp | 5 +- indra/newview/llviewerinventory.cpp | 15 -- indra/newview/llviewerinventory.h | 9 +- indra/newview/llviewermessage.cpp | 2 +- indra/newview/llviewerobject.cpp | 7 - indra/newview/llviewerstats.cpp | 8 - indra/newview/llviewerstats.h | 55 ----- indra/newview/llviewertexture.cpp | 71 ++---- indra/newview/llviewertexture.h | 13 +- indra/newview/llvoavatar.cpp | 34 ++- indra/newview/llvoavatar.h | 3 +- indra/newview/llvoavatarself.cpp | 2 +- indra/newview/llwearableitemslist.cpp | 186 ++++---------- indra/newview/llwearableitemslist.h | 58 ++--- indra/newview/llwindebug.cpp | 61 ++--- indra/newview/pipeline.cpp | 2 +- .../default/xui/da/floater_publish_classified.xml | 2 +- .../skins/default/xui/da/menu_cof_clothing.xml | 3 +- .../skins/default/xui/da/menu_inventory.xml | 3 +- .../default/xui/da/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/da/menu_outfit_gear.xml | 1 - .../default/xui/da/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/da/notifications.xml | 12 +- .../skins/default/xui/da/panel_outfit_edit.xml | 10 +- .../default/xui/da/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/da/panel_outfits_list.xml | 7 - .../skins/default/xui/da/panel_outfits_wearing.xml | 6 - .../skins/default/xui/da/sidepanel_item_info.xml | 10 +- .../skins/default/xui/da/sidepanel_task_info.xml | 2 +- indra/newview/skins/default/xui/da/strings.xml | 15 +- .../skins/default/xui/de/floater_buy_currency.xml | 2 +- .../default/xui/de/floater_publish_classified.xml | 2 +- .../skins/default/xui/de/floater_voice_effect.xml | 2 +- .../skins/default/xui/de/menu_inventory.xml | 3 +- .../default/xui/de/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/de/menu_outfit_gear.xml | 1 - .../default/xui/de/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/de/notifications.xml | 12 +- .../skins/default/xui/de/panel_navigation_bar.xml | 4 +- .../skins/default/xui/de/panel_outfit_edit.xml | 10 +- .../default/xui/de/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/de/panel_outfits_list.xml | 7 - .../skins/default/xui/de/panel_outfits_wearing.xml | 6 - .../skins/default/xui/de/sidepanel_appearance.xml | 2 +- .../skins/default/xui/de/sidepanel_item_info.xml | 18 +- .../skins/default/xui/de/sidepanel_task_info.xml | 2 +- indra/newview/skins/default/xui/de/strings.xml | 15 +- .../skins/default/xui/en/floater_camera.xml | 15 +- .../skins/default/xui/en/menu_inventory_add.xml | 9 +- indra/newview/skins/default/xui/en/menu_viewer.xml | 16 +- .../newview/skins/default/xui/en/notifications.xml | 5 +- .../skins/default/xui/en/panel_nearby_media.xml | 2 - .../skins/default/xui/en/panel_outfits_list.xml | 4 +- indra/newview/skins/default/xui/en/strings.xml | 7 +- .../default/xui/en/widgets/bodyparts_list_item.xml | 73 ------ .../default/xui/en/widgets/clothing_list_item.xml | 93 ------- .../en/widgets/deletable_wearable_list_item.xml | 43 ---- .../xui/en/widgets/dummy_clothing_list_item.xml | 52 ---- .../default/xui/en/widgets/inventory_list_item.xml | 35 +-- .../default/xui/es/floater_publish_classified.xml | 2 +- .../skins/default/xui/es/menu_cof_clothing.xml | 3 +- .../skins/default/xui/es/menu_inventory.xml | 3 +- .../default/xui/es/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/es/menu_outfit_gear.xml | 1 - .../default/xui/es/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/es/notifications.xml | 12 +- .../skins/default/xui/es/panel_outfit_edit.xml | 10 +- .../default/xui/es/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/es/panel_outfits_list.xml | 7 - .../skins/default/xui/es/panel_outfits_wearing.xml | 6 - .../skins/default/xui/es/sidepanel_item_info.xml | 10 +- .../skins/default/xui/es/sidepanel_task_info.xml | 2 +- indra/newview/skins/default/xui/es/strings.xml | 15 +- .../skins/default/xui/fr/floater_bulk_perms.xml | 2 +- .../default/xui/fr/floater_publish_classified.xml | 2 +- .../skins/default/xui/fr/menu_cof_clothing.xml | 3 +- .../skins/default/xui/fr/menu_gesture_gear.xml | 2 +- .../skins/default/xui/fr/menu_inventory.xml | 3 +- .../default/xui/fr/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/fr/menu_outfit_gear.xml | 1 - .../default/xui/fr/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/fr/notifications.xml | 16 +- .../skins/default/xui/fr/panel_group_general.xml | 2 +- .../skins/default/xui/fr/panel_outfit_edit.xml | 10 +- .../default/xui/fr/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/fr/panel_outfits_list.xml | 7 - .../skins/default/xui/fr/panel_outfits_wearing.xml | 6 - .../default/xui/fr/panel_preferences_general.xml | 2 +- .../skins/default/xui/fr/sidepanel_item_info.xml | 18 +- indra/newview/skins/default/xui/fr/strings.xml | 15 +- .../skins/default/xui/it/floater_about_land.xml | 10 +- .../skins/default/xui/it/floater_buy_currency.xml | 6 +- .../default/xui/it/floater_publish_classified.xml | 2 +- .../skins/default/xui/it/menu_cof_clothing.xml | 3 +- .../skins/default/xui/it/menu_inventory.xml | 3 +- .../default/xui/it/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/it/menu_outfit_gear.xml | 1 - .../default/xui/it/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/it/notifications.xml | 12 +- .../skins/default/xui/it/panel_outfit_edit.xml | 10 +- .../default/xui/it/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/it/panel_outfits_list.xml | 7 - .../skins/default/xui/it/panel_outfits_wearing.xml | 6 - .../newview/skins/default/xui/it/panel_people.xml | 2 +- .../skins/default/xui/it/sidepanel_item_info.xml | 10 +- indra/newview/skins/default/xui/it/strings.xml | 15 +- .../default/xui/ja/floater_publish_classified.xml | 2 +- .../skins/default/xui/ja/menu_cof_clothing.xml | 3 +- .../skins/default/xui/ja/menu_inventory.xml | 3 +- .../default/xui/ja/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/ja/menu_outfit_gear.xml | 1 - .../default/xui/ja/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/ja/notifications.xml | 12 +- .../skins/default/xui/ja/panel_outfit_edit.xml | 10 +- .../default/xui/ja/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/ja/panel_outfits_list.xml | 7 - .../skins/default/xui/ja/panel_outfits_wearing.xml | 6 - .../skins/default/xui/ja/sidepanel_item_info.xml | 18 +- indra/newview/skins/default/xui/ja/strings.xml | 15 +- .../newview/skins/default/xui/pl/floater_about.xml | 15 +- .../skins/default/xui/pl/floater_about_land.xml | 3 - .../default/xui/pl/floater_animation_preview.xml | 48 ++-- .../default/xui/pl/floater_avatar_textures.xml | 72 +++--- .../default/xui/pl/floater_buy_currency_html.xml | 2 - .../skins/default/xui/pl/floater_camera.xml | 21 +- .../default/xui/pl/floater_day_cycle_options.xml | 43 ++-- .../skins/default/xui/pl/floater_god_tools.xml | 9 +- .../skins/default/xui/pl/floater_image_preview.xml | 20 +- .../skins/default/xui/pl/floater_incoming_call.xml | 8 +- indra/newview/skins/default/xui/pl/floater_map.xml | 5 +- .../skins/default/xui/pl/floater_moveview.xml | 36 +-- .../skins/default/xui/pl/floater_outgoing_call.xml | 2 +- .../default/xui/pl/floater_preview_gesture.xml | 8 +- .../default/xui/pl/floater_preview_notecard.xml | 4 +- .../default/xui/pl/floater_publish_classified.xml | 2 +- .../skins/default/xui/pl/floater_snapshot.xml | 44 ++-- .../newview/skins/default/xui/pl/floater_tools.xml | 15 +- indra/newview/skins/default/xui/pl/floater_tos.xml | 12 +- .../default/xui/pl/floater_voice_controls.xml | 8 +- .../skins/default/xui/pl/floater_voice_effect.xml | 30 --- .../skins/default/xui/pl/inspect_object.xml | 11 +- .../skins/default/xui/pl/menu_attachment_other.xml | 2 +- .../skins/default/xui/pl/menu_attachment_self.xml | 7 +- .../skins/default/xui/pl/menu_avatar_other.xml | 2 +- .../skins/default/xui/pl/menu_avatar_self.xml | 5 +- .../skins/default/xui/pl/menu_bottomtray.xml | 5 - .../skins/default/xui/pl/menu_cof_attachment.xml | 4 - .../skins/default/xui/pl/menu_cof_body_part.xml | 5 - .../skins/default/xui/pl/menu_cof_clothing.xml | 6 - .../newview/skins/default/xui/pl/menu_cof_gear.xml | 5 - indra/newview/skins/default/xui/pl/menu_edit.xml | 12 - .../skins/default/xui/pl/menu_hide_navbar.xml | 1 - .../default/xui/pl/menu_inspect_avatar_gear.xml | 2 +- .../default/xui/pl/menu_inspect_self_gear.xml | 3 +- .../default/xui/pl/menu_inv_offer_chiclet.xml | 4 - .../skins/default/xui/pl/menu_inventory.xml | 6 +- .../default/xui/pl/menu_inventory_gear_default.xml | 3 +- indra/newview/skins/default/xui/pl/menu_login.xml | 16 +- .../skins/default/xui/pl/menu_outfit_gear.xml | 27 -- .../skins/default/xui/pl/menu_outfit_tab.xml | 9 - .../skins/default/xui/pl/menu_participant_list.xml | 5 +- .../skins/default/xui/pl/menu_save_outfit.xml | 5 - .../skins/default/xui/pl/menu_script_chiclet.xml | 4 - .../skins/default/xui/pl/menu_topinfobar.xml | 7 - indra/newview/skins/default/xui/pl/menu_viewer.xml | 36 +-- .../default/xui/pl/menu_wearable_list_item.xml | 14 -- .../skins/default/xui/pl/menu_wearing_gear.xml | 4 - .../skins/default/xui/pl/menu_wearing_tab.xml | 4 - .../newview/skins/default/xui/pl/notifications.xml | 225 ++--------------- .../skins/default/xui/pl/outfit_accordion_tab.xml | 4 - .../default/xui/pl/panel_body_parts_list_item.xml | 8 - .../xui/pl/panel_bodyparts_list_button_bar.xml | 5 - .../skins/default/xui/pl/panel_bottomtray.xml | 23 +- .../xui/pl/panel_clothing_list_button_bar.xml | 5 - .../default/xui/pl/panel_clothing_list_item.xml | 9 - .../skins/default/xui/pl/panel_cof_wearables.xml | 8 - .../xui/pl/panel_deletable_wearable_list_item.xml | 5 - .../xui/pl/panel_dummy_clothing_list_item.xml | 7 - .../skins/default/xui/pl/panel_edit_eyes.xml | 8 +- .../skins/default/xui/pl/panel_edit_gloves.xml | 8 +- .../skins/default/xui/pl/panel_edit_hair.xml | 14 +- .../skins/default/xui/pl/panel_edit_jacket.xml | 8 +- .../skins/default/xui/pl/panel_edit_pants.xml | 8 +- .../skins/default/xui/pl/panel_edit_shape.xml | 41 ++-- .../skins/default/xui/pl/panel_edit_shirt.xml | 8 +- .../skins/default/xui/pl/panel_edit_shoes.xml | 8 +- .../skins/default/xui/pl/panel_edit_skin.xml | 14 +- .../skins/default/xui/pl/panel_edit_skirt.xml | 8 +- .../skins/default/xui/pl/panel_edit_socks.xml | 8 +- .../skins/default/xui/pl/panel_edit_tattoo.xml | 1 - .../skins/default/xui/pl/panel_edit_underpants.xml | 8 +- .../skins/default/xui/pl/panel_edit_undershirt.xml | 8 +- .../skins/default/xui/pl/panel_edit_wearable.xml | 13 +- .../skins/default/xui/pl/panel_group_general.xml | 5 +- .../default/xui/pl/panel_group_land_money.xml | 3 - .../skins/default/xui/pl/panel_group_notices.xml | 1 - .../default/xui/pl/panel_im_control_panel.xml | 2 +- .../skins/default/xui/pl/panel_inventory_item.xml | 4 - indra/newview/skins/default/xui/pl/panel_login.xml | 9 +- .../skins/default/xui/pl/panel_main_inventory.xml | 66 ++++- .../xui/pl/panel_media_settings_permissions.xml | 9 - .../skins/default/xui/pl/panel_nearby_media.xml | 26 +- .../skins/default/xui/pl/panel_outfit_edit.xml | 51 ---- .../default/xui/pl/panel_outfits_inventory.xml | 15 +- .../skins/default/xui/pl/panel_outfits_list.xml | 7 - .../skins/default/xui/pl/panel_outfits_wearing.xml | 6 - .../newview/skins/default/xui/pl/panel_people.xml | 37 ++- .../newview/skins/default/xui/pl/panel_places.xml | 7 +- .../default/xui/pl/panel_preferences_advanced.xml | 5 - .../default/xui/pl/panel_preferences_chat.xml | 1 - .../default/xui/pl/panel_preferences_graphics1.xml | 4 +- .../skins/default/xui/pl/panel_status_bar.xml | 6 +- .../skins/default/xui/pl/panel_voice_effect.xml | 15 -- .../skins/default/xui/pl/panel_world_map.xml | 6 - .../skins/default/xui/pl/sidepanel_appearance.xml | 10 +- .../skins/default/xui/pl/sidepanel_inventory.xml | 8 +- .../skins/default/xui/pl/sidepanel_item_info.xml | 14 +- .../skins/default/xui/pl/sidepanel_task_info.xml | 2 +- indra/newview/skins/default/xui/pl/strings.xml | 271 ++------------------- .../default/xui/pt/floater_preview_gesture.xml | 22 +- .../default/xui/pt/floater_publish_classified.xml | 2 +- .../newview/skins/default/xui/pt/floater_tools.xml | 44 ++-- .../skins/default/xui/pt/floater_voice_effect.xml | 2 +- .../skins/default/xui/pt/floater_world_map.xml | 8 +- .../skins/default/xui/pt/menu_cof_clothing.xml | 3 +- .../skins/default/xui/pt/menu_inventory.xml | 11 +- .../default/xui/pt/menu_inventory_gear_default.xml | 3 +- .../skins/default/xui/pt/menu_outfit_gear.xml | 1 - .../default/xui/pt/menu_wearable_list_item.xml | 3 +- .../newview/skins/default/xui/pt/notifications.xml | 12 +- .../skins/default/xui/pt/panel_landmark_info.xml | 16 +- .../skins/default/xui/pt/panel_outfit_edit.xml | 10 +- .../default/xui/pt/panel_outfits_inventory.xml | 10 +- .../skins/default/xui/pt/panel_outfits_list.xml | 7 - .../skins/default/xui/pt/panel_outfits_wearing.xml | 6 - .../skins/default/xui/pt/panel_place_profile.xml | 16 +- .../default/xui/pt/panel_preferences_privacy.xml | 4 +- .../newview/skins/default/xui/pt/role_actions.xml | 4 +- .../skins/default/xui/pt/sidepanel_item_info.xml | 10 +- .../skins/default/xui/pt/sidepanel_task_info.xml | 2 +- indra/newview/skins/default/xui/pt/strings.xml | 15 +- 275 files changed, 1017 insertions(+), 2862 deletions(-) delete mode 100644 indra/newview/skins/default/xui/da/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/da/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/de/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/de/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml delete mode 100644 indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml delete mode 100644 indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml delete mode 100644 indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml delete mode 100644 indra/newview/skins/default/xui/es/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/es/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/fr/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/it/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/it/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/ja/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml delete mode 100644 indra/newview/skins/default/xui/pl/floater_voice_effect.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_cof_gear.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_edit.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_save_outfit.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_topinfobar.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/default/xui/pl/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_cof_wearables.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_inventory_item.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_outfit_edit.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml delete mode 100644 indra/newview/skins/default/xui/pl/panel_voice_effect.xml delete mode 100644 indra/newview/skins/default/xui/pt/panel_outfits_list.xml delete mode 100644 indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index af296f918e..d51498f6d1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4666,7 +4666,7 @@ Type String Value - http://marketplace.secondlife.com/ + https://www.xstreetsl.com/modules.php?name=Marketplace MarketplaceURL_objectFemale @@ -4721,7 +4721,7 @@ Type String Value - http://marketplace.secondlife.com + https://www.xstreetsl.com/modules.php?name=Marketplace MarketplaceURL_bodypartMale @@ -4732,7 +4732,7 @@ Type String Value - http://marketplace.secondlife.com/ + https://www.xstreetsl.com/modules.php?name=Marketplace MarketplaceURL_glovesMale @@ -11857,16 +11857,5 @@ Value 1 - TipToastMessageLineCount - - Comment - Max line count of text message on tip toast. - Persist - 1 - Type - S32 - Value - 10 - diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 72d51540ef..4e5fdb1219 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3406,9 +3406,6 @@ void LLAgent::setTeleportState(ETeleportState state) } else if(mTeleportState == TELEPORT_ARRIVING) { - // First two position updates after a teleport tend to be weird - LLViewerStats::getInstance()->mAgentPositionSnaps.mCountOfNextUpdatesToIgnore = 2; - // Let the interested parties know we've teleported. LLViewerParcelMgr::getInstance()->onTeleportFinished(false, getPositionGlobal()); } diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index d911d123f4..0a2f0e9399 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -48,7 +48,7 @@ public: virtual ~LLOrderMyOutfitsOnDestroy() { - if (!LLApp::isRunning()) + if (LLApp::isExiting()) { llwarns << "called during shutdown, skipping" << llendl; return; diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index a7d90ab8d3..43f6be42b6 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -995,7 +995,7 @@ bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_up { removeCOFItemLinks(gAgentWearables.getWearableItemID(item_to_wear->getWearableType(), wearable_count-1), false); } - addCOFItemLink(item_to_wear, do_update, cb); + addCOFItemLink(item_to_wear, do_update); } break; case LLAssetType::AT_BODYPART: @@ -2179,19 +2179,17 @@ void LLAppearanceMgr::updateIsDirty() } else { - LLIsOfAssetType collector = LLIsOfAssetType(LLAssetType::AT_LINK); - LLInventoryModel::cat_array_t cof_cats; LLInventoryModel::item_array_t cof_items; - gInventory.collectDescendentsIf(cof, cof_cats, cof_items, - LLInventoryModel::EXCLUDE_TRASH, collector); + gInventory.collectDescendents(cof, cof_cats, cof_items, + LLInventoryModel::EXCLUDE_TRASH); LLInventoryModel::cat_array_t outfit_cats; LLInventoryModel::item_array_t outfit_items; - gInventory.collectDescendentsIf(base_outfit, outfit_cats, outfit_items, - LLInventoryModel::EXCLUDE_TRASH, collector); + gInventory.collectDescendents(base_outfit, outfit_cats, outfit_items, + LLInventoryModel::EXCLUDE_TRASH); - if(outfit_items.count() != cof_items.count()) + if(outfit_items.count() != cof_items.count() -1) { // Current outfit folder should have one more item than the outfit folder. // this one item is the link back to the outfit folder itself. @@ -2199,6 +2197,16 @@ void LLAppearanceMgr::updateIsDirty() return; } + //getting rid of base outfit folder link to simplify comparison + for (LLInventoryModel::item_array_t::iterator it = cof_items.begin(); it != cof_items.end(); ++it) + { + if (*it == base_outfit_item) + { + cof_items.erase(it); + break; + } + } + //"dirty" - also means a difference in linked UUIDs and/or a difference in wearables order (links' descriptions) std::sort(cof_items.begin(), cof_items.end(), sort_by_linked_uuid); std::sort(outfit_items.begin(), outfit_items.end(), sort_by_linked_uuid); diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp index 99156b9d9d..3275d784a3 100644 --- a/indra/newview/llavatarlist.cpp +++ b/indra/newview/llavatarlist.cpp @@ -211,7 +211,7 @@ void LLAvatarList::setDirty(bool val /*= true*/, bool force_refresh /*= false*/) void LLAvatarList::addAvalineItem(const LLUUID& item_id, const LLUUID& session_id, const std::string& item_name) { LL_DEBUGS("Avaline") << "Adding avaline item into the list: " << item_name << "|" << item_id << ", session: " << session_id << LL_ENDL; - LLAvalineListItem* item = new LLAvalineListItem(/*hide_number=*/false); + LLAvalineListItem* item = new LLAvalineListItem; item->setAvatarId(item_id, session_id, true, false); item->setName(item_name); diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 2826899cb0..6897f4ee8e 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -1886,7 +1886,7 @@ void LLScriptChiclet::onMenuItemClicked(const LLSD& user_data) if("end" == action) { - LLScriptFloaterManager::instance().removeNotification(getSessionId()); + LLScriptFloaterManager::instance().onRemoveNotification(getSessionId()); } } @@ -1969,7 +1969,7 @@ void LLInvOfferChiclet::onMenuItemClicked(const LLSD& user_data) if("end" == action) { - LLScriptFloaterManager::instance().removeNotification(getSessionId()); + LLScriptFloaterManager::instance().onRemoveNotification(getSessionId()); } } diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 86d9121213..4c0f51056d 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -283,8 +283,7 @@ LLCOFWearables::LLCOFWearables() : LLPanel(), mClothingTab(NULL), mAttachmentsTab(NULL), mBodyPartsTab(NULL), - mLastSelectedTab(NULL), - mCOFVersion(-1) + mLastSelectedTab(NULL) { mClothingMenu = new CofClothingContextMenu(this); mAttachmentMenu = new CofAttachmentContextMenu(this); @@ -379,23 +378,6 @@ void LLCOFWearables::onAccordionTabStateChanged(LLUICtrl* ctrl, const LLSD& expa void LLCOFWearables::refresh() { - const LLUUID cof_id = LLAppearanceMgr::instance().getCOF(); - if (cof_id.isNull()) - { - llwarns << "COF ID cannot be NULL" << llendl; - return; - } - - LLViewerInventoryCategory* catp = gInventory.getCategory(cof_id); - if (!catp) - { - llwarns << "COF category cannot be NULL" << llendl; - return; - } - - if (mCOFVersion == catp->getVersion()) return; - mCOFVersion = catp->getVersion(); - typedef std::vector values_vector_t; typedef std::map selection_map_t; @@ -411,7 +393,7 @@ void LLCOFWearables::refresh() LLInventoryModel::cat_array_t cats; LLInventoryModel::item_array_t cof_items; - gInventory.collectDescendents(cof_id, cats, cof_items, LLInventoryModel::EXCLUDE_TRASH); + gInventory.collectDescendents(LLAppearanceMgr::getInstance()->getCOF(), cats, cof_items, LLInventoryModel::EXCLUDE_TRASH); populateAttachmentsAndBodypartsLists(cof_items); @@ -519,7 +501,7 @@ LLPanelClothingListItem* LLCOFWearables::buildClothingListItem(LLViewerInventory item_panel->childSetAction("btn_edit", mCOFCallbacks.mEditWearable); //turning on gray separator line for the last item in the items group of the same wearable type - item_panel->setSeparatorVisible(last); + item_panel->childSetVisible("wearable_type_separator_icon", last); return item_panel; } @@ -655,10 +637,10 @@ LLAssetType::EType LLCOFWearables::getExpandedAccordionAssetType() const LLAccordionCtrlTab* expanded_tab = accordion_ctrl->getExpandedTab(); return get_if_there(mTab2AssetType, expanded_tab, LLAssetType::AT_NONE); - } +} LLAssetType::EType LLCOFWearables::getSelectedAccordionAssetType() - { +{ static LLAccordionCtrl* accordion_ctrl = getChild("cof_wearables_accordion"); const LLAccordionCtrlTab* selected_tab = accordion_ctrl->getSelectedTab(); diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h index d005b75eaa..0518d59df3 100644 --- a/indra/newview/llcofwearables.h +++ b/indra/newview/llcofwearables.h @@ -81,7 +81,6 @@ public: LLPanel* getSelectedItem(); void getSelectedItems(std::vector& selected_items) const; - /* Repopulate the COF wearables list if the COF category has been changed since the last refresh */ void refresh(); void clear(); @@ -124,9 +123,6 @@ protected: LLListContextMenu* mClothingMenu; LLListContextMenu* mAttachmentMenu; LLListContextMenu* mBodyPartMenu; - - /* COF category version since last refresh */ - S32 mCOFVersion; }; diff --git a/indra/newview/lldndbutton.cpp b/indra/newview/lldndbutton.cpp index 4f4c7dead7..22f2bb1d16 100644 --- a/indra/newview/lldndbutton.cpp +++ b/indra/newview/lldndbutton.cpp @@ -42,7 +42,7 @@ LLDragAndDropButton::Params::Params() } -LLDragAndDropButton::LLDragAndDropButton(const Params& params) +LLDragAndDropButton::LLDragAndDropButton(Params& params) : LLButton(params) { diff --git a/indra/newview/lldndbutton.h b/indra/newview/lldndbutton.h index 433b3f7ff5..c888268187 100644 --- a/indra/newview/lldndbutton.h +++ b/indra/newview/lldndbutton.h @@ -54,7 +54,7 @@ public: Params(); }; - LLDragAndDropButton(const Params& params); + LLDragAndDropButton(Params& params); typedef boost::functionmInitialTargetIDs.begin(); it!=session->mInitialTargetIDs.end();++it) { diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index cb7b338e95..a2b5ffbac4 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -161,7 +161,8 @@ BOOL LLInspectObject::postBuild(void) // Hide floater when name links clicked LLTextBox* textbox = getChild("object_creator"); - textbox->setURLClickedCallback(boost::bind(&LLInspectObject::closeFloater, this, false) ); + textbox->mURLClickSignal.connect( + boost::bind(&LLInspectObject::closeFloater, this, false) ); // Hook up functionality getChild("buy_btn")->setCommitCallback( diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index f20acbd016..2d11337955 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -507,19 +507,6 @@ bool LLIsNotType::operator()(LLInventoryCategory* cat, LLInventoryItem* item) return TRUE; } -bool LLIsOfAssetType::operator()(LLInventoryCategory* cat, LLInventoryItem* item) -{ - if(mType == LLAssetType::AT_CATEGORY) - { - if(cat) return TRUE; - } - if(item) - { - if(item->getActualType() == mType) return TRUE; - } - return FALSE; -} - bool LLIsTypeWithPermissions::operator()(LLInventoryCategory* cat, LLInventoryItem* item) { if(mType == LLAssetType::AT_CATEGORY) diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h index 4a7721098d..1c3f82c531 100644 --- a/indra/newview/llinventoryfunctions.h +++ b/indra/newview/llinventoryfunctions.h @@ -174,25 +174,6 @@ protected: LLAssetType::EType mType; }; -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Class LLIsOfAssetType -// -// Implementation of a LLInventoryCollectFunctor which returns TRUE if -// the item or category is of asset type passed in during construction. -// Link types are treated as links, not as the types they point to. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -class LLIsOfAssetType : public LLInventoryCollectFunctor -{ -public: - LLIsOfAssetType(LLAssetType::EType type) : mType(type) {} - virtual ~LLIsOfAssetType() {} - virtual bool operator()(LLInventoryCategory* cat, - LLInventoryItem* item); -protected: - LLAssetType::EType mType; -}; - class LLIsTypeWithPermissions : public LLInventoryCollectFunctor { public: @@ -290,7 +271,9 @@ public: }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Class LLFindByMask +// Class LLFindNonLinksByMask +// +// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class LLFindByMask : public LLInventoryCollectFunctor { @@ -399,19 +382,6 @@ public: } }; -/* Filters out items of a particular asset type */ -class LLIsTypeActual : public LLIsType -{ -public: - LLIsTypeActual(LLAssetType::EType type) : LLIsType(type) {} - virtual ~LLIsTypeActual() {} - virtual bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) - { - if (item && item->getIsLinkType()) return false; - return LLIsType::operator()(cat, item); - } -}; - // Collect non-removable folders and items. class LLFindNonRemovableObjects : public LLInventoryCollectFunctor { diff --git a/indra/newview/llinventoryitemslist.cpp b/indra/newview/llinventoryitemslist.cpp index e01f05c0f2..fbb3774917 100644 --- a/indra/newview/llinventoryitemslist.cpp +++ b/indra/newview/llinventoryitemslist.cpp @@ -107,12 +107,9 @@ void LLInventoryItemsList::idle(void* user_data) } } -LLFastTimer::DeclareTimer FTM_INVENTORY_ITEMS_REFRESH("Inventory List Refresh"); - void LLInventoryItemsList::refresh() { - LLFastTimer _(FTM_INVENTORY_ITEMS_REFRESH); - static const unsigned ADD_LIMIT = 20; + static const unsigned ADD_LIMIT = 50; uuid_vec_t added_items; uuid_vec_t removed_items; @@ -143,8 +140,7 @@ void LLInventoryItemsList::refresh() it = removed_items.begin(); for( ; removed_items.end() != it; ++it) { - // don't filter items right away - removeItemByUUID(*it, false); + removeItemByUUID(*it); } // Filter, rearrange and notify parent about shape changes diff --git a/indra/newview/llinventorylistitem.cpp b/indra/newview/llinventorylistitem.cpp index e4a7a158a3..c487aa10a7 100644 --- a/indra/newview/llinventorylistitem.cpp +++ b/indra/newview/llinventorylistitem.cpp @@ -51,12 +51,7 @@ static const S32 WIDGET_SPACING = 3; LLPanelInventoryListItemBase::Params::Params() : default_style("default_style"), - worn_style("worn_style"), - hover_image("hover_image"), - selected_image("selected_image"), - separator_image("separator_image"), - item_icon("item_icon"), - item_name("item_name") + worn_style("worn_style") {}; LLPanelInventoryListItemBase* LLPanelInventoryListItemBase::create(LLViewerInventoryItem* item) @@ -64,10 +59,8 @@ LLPanelInventoryListItemBase* LLPanelInventoryListItemBase::create(LLViewerInven LLPanelInventoryListItemBase* list_item = NULL; if (item) { - const LLPanelInventoryListItemBase::Params& params = LLUICtrlFactory::getDefaultParams(); - list_item = new LLPanelInventoryListItemBase(item, params); - list_item->initFromParams(params); - list_item->postBuild(); + list_item = new LLPanelInventoryListItemBase(item); + list_item->init(); } return list_item; } @@ -83,25 +76,6 @@ void LLPanelInventoryListItemBase::draw() } setNeedsRefresh(false); } - - if (mHovered && mHoverImage) - { - mHoverImage->draw(getLocalRect()); - } - - if (mSelected && mSelectedImage) - { - mSelectedImage->draw(getLocalRect()); - } - - if (mSeparatorVisible && mSeparatorImage) - { - // stretch along bottom of listitem, using image height - LLRect separator_rect = getLocalRect(); - separator_rect.mTop = mSeparatorImage->getHeight(); - mSeparatorImage->draw(separator_rect); - } - LLPanel::draw(); } @@ -160,6 +134,9 @@ void LLPanelInventoryListItemBase::setShowWidget(LLUICtrl* ctrl, bool show) BOOL LLPanelInventoryListItemBase::postBuild() { + setIconCtrl(getChild("item_icon")); + setTitleCtrl(getChild("item_name")); + LLViewerInventoryItem* inv_item = getItem(); if (inv_item) { @@ -179,18 +156,18 @@ void LLPanelInventoryListItemBase::setValue(const LLSD& value) { if (!value.isMap()) return; if (!value.has("selected")) return; - mSelected = value["selected"]; + childSetVisible("selected_icon", value["selected"]); } void LLPanelInventoryListItemBase::onMouseEnter(S32 x, S32 y, MASK mask) { - mHovered = true; + childSetVisible("hovered_icon", true); LLPanel::onMouseEnter(x, y, mask); } void LLPanelInventoryListItemBase::onMouseLeave(S32 x, S32 y, MASK mask) { - mHovered = false; + childSetVisible("hovered_icon", false); LLPanel::onMouseLeave(x, y, mask); } @@ -267,47 +244,21 @@ S32 LLPanelInventoryListItemBase::notify(const LLSD& info) return rv; } -LLPanelInventoryListItemBase::LLPanelInventoryListItemBase(LLViewerInventoryItem* item, const LLPanelInventoryListItemBase::Params& params) -: LLPanel(params), - mInventoryItemUUID(item ? item->getUUID() : LLUUID::null), - mIconCtrl(NULL), - mTitleCtrl(NULL), - mWidgetSpacing(WIDGET_SPACING), - mLeftWidgetsWidth(0), - mRightWidgetsWidth(0), - mNeedsRefresh(false), - mHovered(false), - mSelected(false), - mSeparatorVisible(false), - mHoverImage(params.hover_image), - mSelectedImage(params.selected_image), - mSeparatorImage(params.separator_image) +LLPanelInventoryListItemBase::LLPanelInventoryListItemBase(LLViewerInventoryItem* item) +: LLPanel() +, mInventoryItemUUID(item ? item->getUUID() : LLUUID::null) +, mIconCtrl(NULL) +, mTitleCtrl(NULL) +, mWidgetSpacing(WIDGET_SPACING) +, mLeftWidgetsWidth(0) +, mRightWidgetsWidth(0) +, mNeedsRefresh(false) { - LLIconCtrl::Params icon_params(params.item_icon); - applyXUILayout(icon_params, this); - - mIconCtrl = LLUICtrlFactory::create(icon_params); - if (mIconCtrl) - { - addChild(mIconCtrl); - } - else - { - mIconCtrl = dynamic_cast(LLUICtrlFactory::createDefaultWidget("item_icon")); - } - - LLTextBox::Params text_params(params.item_name); - applyXUILayout(text_params, this); +} - mTitleCtrl = LLUICtrlFactory::create(text_params); - if (mTitleCtrl) - { - addChild(mTitleCtrl); - } - else - { - mTitleCtrl = dynamic_cast(LLUICtrlFactory::createDefaultWidget("item_title")); - } +void LLPanelInventoryListItemBase::init() +{ + LLUICtrlFactory::getInstance()->buildPanel(this, "panel_inventory_item.xml"); } class WidgetVisibilityChanger diff --git a/indra/newview/llinventorylistitem.h b/indra/newview/llinventorylistitem.h index 575f6aec19..f29d92d51c 100644 --- a/indra/newview/llinventorylistitem.h +++ b/indra/newview/llinventorylistitem.h @@ -41,12 +41,12 @@ // llui #include "llpanel.h" #include "llstyle.h" -#include "lliconctrl.h" -#include "lltextbox.h" // newview #include "llwearabletype.h" +class LLIconCtrl; +class LLTextBox; class LLViewerInventoryItem; /** @@ -70,11 +70,6 @@ public: { Optional default_style, worn_style; - Optional hover_image, - selected_image, - separator_image; - Optional item_icon; - Optional item_name; Params(); }; @@ -154,22 +149,30 @@ public: /** Get the associated inventory item */ LLViewerInventoryItem* getItem() const; - void setSeparatorVisible(bool visible) { mSeparatorVisible = visible; } - virtual ~LLPanelInventoryListItemBase(){} protected: - LLPanelInventoryListItemBase(LLViewerInventoryItem* item, const Params& params); + LLPanelInventoryListItemBase(LLViewerInventoryItem* item); typedef std::vector widget_array_t; + /** + * Use it from a factory function to build panel, do not build panel in constructor + */ + virtual void init(); + /** * Called after inventory item was updated, update panel widgets to reflect inventory changes. */ virtual void updateItem(const std::string& name, EItemState item_state = IS_DEFAULT); + /** setter for mIconCtrl */ + void setIconCtrl(LLIconCtrl* icon) { mIconCtrl = icon; } + /** setter for MTitleCtrl */ + void setTitleCtrl(LLTextBox* tb) { mTitleCtrl = tb; } + void setLeftWidgetsWidth(S32 width) { mLeftWidgetsWidth = width; } void setRightWidgetsWidth(S32 width) { mRightWidgetsWidth = width; } @@ -218,14 +221,6 @@ private: LLTextBox* mTitleCtrl; LLUIImagePtr mIconImage; - LLUIImagePtr mHoverImage; - LLUIImagePtr mSelectedImage; - LLUIImagePtr mSeparatorImage; - - bool mHovered; - bool mSelected; - bool mSeparatorVisible; - std::string mHighlightedText; widget_array_t mLeftSideWidgets; diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 46ebb54786..b8590d838e 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -1052,7 +1052,7 @@ void LLLocationInputCtrl::changeLocationPresentation() //needs unescaped one LLSLURL slurl; LLAgentUI::buildSLURL(slurl, false); - mTextEntry->setText(LLURI::unescape(slurl.getSLURLString())); + mTextEntry->setText(slurl.getSLURLString()); mTextEntry->selectAll(); mMaturityButton->setVisible(FALSE); diff --git a/indra/newview/llpanelgenerictip.cpp b/indra/newview/llpanelgenerictip.cpp index 8ba2e6d01c..e0658554a4 100644 --- a/indra/newview/llpanelgenerictip.cpp +++ b/indra/newview/llpanelgenerictip.cpp @@ -35,7 +35,6 @@ #include "llpanelgenerictip.h" #include "llnotifications.h" -#include "llviewercontrol.h" // for gSavedSettings LLPanelGenericTip::LLPanelGenericTip( @@ -46,8 +45,7 @@ LLPanelGenericTip::LLPanelGenericTip( childSetValue("message", notification->getMessage()); - - S32 max_line_count = gSavedSettings.getS32("TipToastMessageLineCount"); - snapToMessageHeight(getChild ("message"), max_line_count); + // set line max count to 3 in case of a very long name + snapToMessageHeight(getChild ("message"), 3); } diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 3e12f0ba9a..29ce3449d1 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -197,15 +197,14 @@ BOOL LLPanelMainInventory::postBuild() mFilterEditor->setCommitCallback(boost::bind(&LLPanelMainInventory::onFilterEdit, this, _2)); } - initListCommandsHandlers(); - // *TODO:Get the cost info from the server const std::string upload_cost("10"); - mMenuAdd->getChild("Upload Image")->setLabelArg("[COST]", upload_cost); - mMenuAdd->getChild("Upload Sound")->setLabelArg("[COST]", upload_cost); - mMenuAdd->getChild("Upload Animation")->setLabelArg("[COST]", upload_cost); - mMenuAdd->getChild("Bulk Upload")->setLabelArg("[COST]", upload_cost); + childSetLabelArg("Upload Image", "[COST]", upload_cost); + childSetLabelArg("Upload Sound", "[COST]", upload_cost); + childSetLabelArg("Upload Animation", "[COST]", upload_cost); + childSetLabelArg("Bulk Upload", "[COST]", upload_cost); + initListCommandsHandlers(); return TRUE; } diff --git a/indra/newview/llpanelonlinestatus.cpp b/indra/newview/llpanelonlinestatus.cpp index b21fd7d385..6ba015b11c 100644 --- a/indra/newview/llpanelonlinestatus.cpp +++ b/indra/newview/llpanelonlinestatus.cpp @@ -34,7 +34,6 @@ #include "llnotifications.h" #include "llpanelonlinestatus.h" -#include "llviewercontrol.h" // for gSavedSettings LLPanelOnlineStatus::LLPanelOnlineStatus( const LLNotificationPtr& notification) : @@ -55,7 +54,7 @@ LLPanelOnlineStatus::LLPanelOnlineStatus( notification, notification->getResponseTemplate())); } - S32 max_line_count = gSavedSettings.getS32("TipToastMessageLineCount"); - snapToMessageHeight(getChild ("message"), max_line_count); + // set line max count to 3 in case of a very long name + snapToMessageHeight(getChild ("message"), 3); } diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 937b794686..f8350a56ef 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -71,7 +71,6 @@ #include "llsdutil.h" #include "llsidepanelappearance.h" #include "lltoggleablemenu.h" -#include "llvoavatarself.h" #include "llwearablelist.h" #include "llwearableitemslist.h" #include "llwearabletype.h" @@ -264,7 +263,7 @@ LLPanelOutfitEdit::LLPanelOutfitEdit() observer.addBOFReplacedCallback(boost::bind(&LLPanelOutfitEdit::updateCurrentOutfitName, this)); observer.addBOFChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this)); observer.addOutfitLockChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this)); - observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::onCOFChanged, this)); + observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::update, this)); gAgentWearables.addLoadingStartedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, true)); gAgentWearables.addLoadedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, false)); @@ -298,9 +297,9 @@ BOOL LLPanelOutfitEdit::postBuild() mFolderViewItemTypes[FVIT_ATTACHMENT] = LLLookItemType(getString("Filter.Objects"), ATTACHMENT_MASK); //order is important, see EListViewItemType for order information - mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.All"), new LLFindNonLinksByMask(ALL_ITEMS_MASK))); - mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.Clothing"), new LLIsTypeActual(LLAssetType::AT_CLOTHING))); - mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.Bodyparts"), new LLIsTypeActual(LLAssetType::AT_BODYPART))); + mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.All"), new LLFindByMask(ALL_ITEMS_MASK))); + mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.Clothing"), new LLIsType(LLAssetType::AT_CLOTHING))); + mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.Bodyparts"), new LLIsType(LLAssetType::AT_BODYPART))); mListViewItemTypes.push_back(new LLFilterItem(getString("Filter.Objects"), new LLFindByMask(ATTACHMENT_MASK)));; mListViewItemTypes.push_back(new LLFilterItem(LLTrans::getString("shape"), new LLFindActualWearablesOfType(LLWearableType::WT_SHAPE))); mListViewItemTypes.push_back(new LLFilterItem(LLTrans::getString("skin"), new LLFindActualWearablesOfType(LLWearableType::WT_SKIN))); @@ -332,7 +331,7 @@ BOOL LLPanelOutfitEdit::postBuild() childSetCommitCallback("shop_btn_1", boost::bind(&LLPanelOutfitEdit::onShopButtonClicked, this), NULL); childSetCommitCallback("shop_btn_2", boost::bind(&LLPanelOutfitEdit::onShopButtonClicked, this), NULL); - setVisibleCallback(boost::bind(&LLPanelOutfitEdit::onVisibilityChange, this, _2)); + setVisibleCallback(boost::bind(&LLPanelOutfitEdit::onVisibilityChange, this)); mCOFWearables = getChild("cof_wearables_list"); mCOFWearables->setCommitCallback(boost::bind(&LLPanelOutfitEdit::filterWearablesBySelectedItem, this)); @@ -348,8 +347,8 @@ BOOL LLPanelOutfitEdit::postBuild() mInventoryItemsPanel = getChild("folder_view"); mInventoryItemsPanel->setFilterTypes(ALL_ITEMS_MASK); mInventoryItemsPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); - mInventoryItemsPanel->setSelectCallback(boost::bind(&LLPanelOutfitEdit::updatePlusButton, this)); - mInventoryItemsPanel->getRootFolder()->setReshapeCallback(boost::bind(&LLPanelOutfitEdit::updatePlusButton, this)); + mInventoryItemsPanel->setSelectCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this)); + mInventoryItemsPanel->getRootFolder()->setReshapeCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this)); mCOFDragAndDropObserver = new LLCOFDragAndDropObserver(mInventoryItemsPanel->getModel()); @@ -389,7 +388,7 @@ BOOL LLPanelOutfitEdit::postBuild() mWearablesListViewPanel = getChild("filtered_wearables_panel"); mWearableItemsList = getChild("list_view"); mWearableItemsList->setCommitOnSelectionChange(true); - mWearableItemsList->setCommitCallback(boost::bind(&LLPanelOutfitEdit::updatePlusButton, this)); + mWearableItemsList->setCommitCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this)); mWearableItemsList->setDoubleClickCallback(boost::bind(&LLPanelOutfitEdit::onPlusBtnClicked, this)); mSaveComboBtn.reset(new LLSaveOutfitComboBtn(this)); @@ -443,9 +442,6 @@ void LLPanelOutfitEdit::showAddWearablesPanel(bool show_add_wearables) mListViewFilterCmbBox->setVisible(false); showWearablesFilter(); - - // Reset mWearableItemsList position to top. See EXT-8180. - mWearableItemsList->goToTop(); } //switching button bars @@ -587,16 +583,11 @@ void LLPanelOutfitEdit::onPlusBtnClicked(void) } } -void LLPanelOutfitEdit::onVisibilityChange(const LLSD &in_visible_chain) +void LLPanelOutfitEdit::onVisibilityChange() { showAddWearablesPanel(false); mWearableItemsList->resetSelection(); mInventoryItemsPanel->clearSelection(); - - if (in_visible_chain.asBoolean()) - { - update(); - } } void LLPanelOutfitEdit::onAddWearableClicked(void) @@ -623,52 +614,15 @@ void LLPanelOutfitEdit::onShopButtonClicked() { static LLShopURLDispatcher url_resolver; - // will contain the resultant URL std::string url; - - if (isAgentAvatarValid()) - { - // try to get wearable type from 'Add More' panel first (EXT-7639) - LLWearableType::EType type = getAddMorePanelSelectionType(); - - if (type == LLWearableType::WT_NONE) - { - type = getCOFWearablesSelectionType(); - } - - ESex sex = gAgentAvatarp->getSex(); - - // WT_INVALID comes for attachments - if (type != LLWearableType::WT_INVALID && type != LLWearableType::WT_NONE) - { - url = url_resolver.resolveURL(type, sex); - } - - if (url.empty()) - { - url = url_resolver.resolveURL(mCOFWearables->getExpandedAccordionAssetType(), sex); - } - } - else - { - llwarns << "Agent avatar is invalid" << llendl; - - // the second argument is not important in this case: generic market place will be opened - url = url_resolver.resolveURL(LLWearableType::WT_NONE, SEX_FEMALE); - } - - LLWeb::loadURLExternal(url); -} - -LLWearableType::EType LLPanelOutfitEdit::getCOFWearablesSelectionType() const -{ std::vector selected_items; - LLWearableType::EType type = LLWearableType::WT_NONE; - mCOFWearables->getSelectedItems(selected_items); + ESex sex = gSavedSettings.getU32("AvatarSex") ? SEX_MALE : SEX_FEMALE; + if (selected_items.size() == 1) { + LLWearableType::EType type = LLWearableType::WT_NONE; LLPanel* item = selected_items.front(); // LLPanelDummyClothingListItem is lower then LLPanelInventoryListItemBase in hierarchy tree @@ -680,45 +634,20 @@ LLWearableType::EType LLPanelOutfitEdit::getCOFWearablesSelectionType() const { type = real_item->getWearableType(); } - } - - return type; -} - -LLWearableType::EType LLPanelOutfitEdit::getAddMorePanelSelectionType() const -{ - LLWearableType::EType type = LLWearableType::WT_NONE; - - if (mAddWearablesPanel != NULL && mAddWearablesPanel->getVisible()) - { - if (mInventoryItemsPanel != NULL && mInventoryItemsPanel->getVisible()) - { - std::set selected_uuids = mInventoryItemsPanel->getRootFolder()->getSelectionList(); - if (selected_uuids.size() == 1) - { - type = getWearableTypeByItemUUID(*(selected_uuids.begin())); - } - } - else if (mWearableItemsList != NULL && mWearableItemsList->getVisible()) + // WT_INVALID comes for attachments + if (type != LLWearableType::WT_INVALID) { - std::vector selected_uuids; - mWearableItemsList->getSelectedUUIDs(selected_uuids); - - if (selected_uuids.size() == 1) - { - type = getWearableTypeByItemUUID(selected_uuids.front()); - } + url = url_resolver.resolveURL(type, sex); } } - return type; -} + if (url.empty()) + { + url = url_resolver.resolveURL(mCOFWearables->getExpandedAccordionAssetType(), sex); + } -LLWearableType::EType LLPanelOutfitEdit::getWearableTypeByItemUUID(const LLUUID& item_uuid) const -{ - LLViewerInventoryItem* item = gInventory.getLinkedItem(item_uuid); - return (item != NULL) ? item->getWearableType() : LLWearableType::WT_NONE; + LLWeb::loadURLExternal(url); } void LLPanelOutfitEdit::onRemoveFromOutfitClicked(void) @@ -738,7 +667,7 @@ void LLPanelOutfitEdit::onEditWearableClicked(void) } } -void LLPanelOutfitEdit::updatePlusButton() +void LLPanelOutfitEdit::onInventorySelectionChange() { uuid_vec_t selected_items; getSelectedItemsUUID(selected_items); @@ -981,9 +910,6 @@ void LLPanelOutfitEdit::updateVerbs() mStatus->setText(outfit_is_dirty ? getString("unsaved_changes") : getString("now_editing")); updateCurrentOutfitName(); - - //updating state of "Wear Item" button previously known as "Plus" button - updatePlusButton(); } bool LLPanelOutfitEdit::switchPanels(LLPanel* switch_from_panel, LLPanel* switch_to_panel) @@ -1019,6 +945,9 @@ void LLPanelOutfitEdit::showFilteredWearablesListView(LLWearableType::EType type showAddWearablesPanel(true); showWearablesListView(); + // Reset mWearableItemsList position to top. See EXT-8180. + mWearableItemsList->goToTop(); + //e_list_view_item_type implicitly contains LLWearableType::EType starting from LVIT_SHAPE applyListViewFilter((EListViewItemType) (LVIT_SHAPE + type)); } @@ -1085,13 +1014,5 @@ void LLPanelOutfitEdit::getSelectedItemsUUID(uuid_vec_t& uuid_list) // return selected_id; } -void LLPanelOutfitEdit::onCOFChanged() -{ - //the panel is only updated when is visible to a user - if (!isInVisibleChain()) return; - - update(); -} - // EOF diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 770e2a229b..fb9a35411c 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -145,10 +145,10 @@ public: void onFolderViewFilterCommitted(LLUICtrl* ctrl); void onListViewFilterCommitted(LLUICtrl* ctrl); void onSearchEdit(const std::string& string); - void updatePlusButton(); + void onInventorySelectionChange(); void onPlusBtnClicked(void); - void onVisibilityChange(const LLSD &in_visible_chain); + void onVisibilityChange(); void applyFolderViewFilter(EFolderViewItemType type); void applyListViewFilter(EListViewItemType type); @@ -196,11 +196,6 @@ private: void onOutfitChanging(bool started); void getSelectedItemsUUID(uuid_vec_t& uuid_list); void getCurrentItemUUID(LLUUID& selected_id); - void onCOFChanged(); - - LLWearableType::EType getCOFWearablesSelectionType() const; - LLWearableType::EType getAddMorePanelSelectionType() const; - LLWearableType::EType getWearableTypeByItemUUID(const LLUUID& item_uuid) const; LLTextBox* mCurrentOutfitName; LLTextBox* mStatus; diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index f2e6969998..8fe78a0f81 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -582,7 +582,7 @@ void LLParticipantList::addAvatarIDExceptAgent(const LLUUID& avatar_id) else { std::string display_name = LLVoiceClient::getInstance()->getDisplayName(avatar_id); - mAvatarList->addAvalineItem(avatar_id, mSpeakerMgr->getSessionID(), display_name.empty() ? LLTrans::getString("AvatarNameWaiting") : display_name); + mAvatarList->addAvalineItem(avatar_id, mSpeakerMgr->getSessionID(), display_name.empty() ? display_name : LLTrans::getString("AvatarNameWaiting")); mAvalineUpdater->watchAvalineCaller(avatar_id); } adjustParticipant(avatar_id); diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index c4cbbbb791..bf18c9e5e7 100644 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -75,8 +75,7 @@ LLPreviewTexture::LLPreviewTexture(const LLSD& key) mLastWidth(0), mAspectRatio(0.f), mPreviewToSave(FALSE), - mImage(NULL), - mImageOldBoostLevel(LLViewerTexture::BOOST_NONE) + mImage(NULL) { updateImageID(); if (key.has("save_as")) @@ -94,7 +93,7 @@ LLPreviewTexture::~LLPreviewTexture() { getWindow()->decBusyCount(); } - mImage->setBoostLevel(mImageOldBoostLevel); + mImage = NULL; } @@ -544,7 +543,6 @@ void LLPreviewTexture::onAspectRatioCommit(LLUICtrl* ctrl, void* userdata) void LLPreviewTexture::loadAsset() { mImage = LLViewerTextureManager::getFetchedTexture(mImageID, MIPMAP_TRUE, LLViewerTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); - mImageOldBoostLevel = mImage->getBoostLevel(); mImage->setBoostLevel(LLViewerTexture::BOOST_PREVIEW); mImage->forceToSaveRawImage(0) ; mAssetStatus = PREVIEW_ASSET_LOADING; diff --git a/indra/newview/llpreviewtexture.h b/indra/newview/llpreviewtexture.h index cbdb057781..0f29a741c1 100644 --- a/indra/newview/llpreviewtexture.h +++ b/indra/newview/llpreviewtexture.h @@ -82,10 +82,9 @@ private: void updateDimensions(); LLUUID mImageID; LLPointer mImage; - S32 mImageOldBoostLevel; + BOOL mLoadingFullImage; std::string mSaveFileName; LLFrameTimer mSavedFileTimer; - BOOL mLoadingFullImage; BOOL mShowKeepDiscard; BOOL mCopyToInv; @@ -95,10 +94,11 @@ private: // This is stored off in a member variable, because the save-as // button and drag and drop functionality need to know. BOOL mIsCopyable; - BOOL mUpdateDimensions; + S32 mLastHeight; S32 mLastWidth; - F32 mAspectRatio; + F32 mAspectRatio; + BOOL mUpdateDimensions; LLLoadedCallbackEntry::source_callback_list_t mCallbackTextureList ; }; diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 75797dae81..b68fc3b002 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -176,15 +176,7 @@ void LLScriptFloater::onClose(bool app_quitting) if(getNotificationId().notNull()) { - // we shouldn't kill notification on exit since it may be used as persistent. - if (app_quitting) - { - LLScriptFloaterManager::getInstance()->onRemoveNotification(getNotificationId()); - } - else - { - LLScriptFloaterManager::getInstance()->removeNotification(getNotificationId()); - } + LLScriptFloaterManager::getInstance()->onRemoveNotification(getNotificationId()); } } @@ -360,7 +352,7 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id) set_new_message |= !floater->hasFocus(); } - removeNotification(it->first); + onRemoveNotification(it->first); } } @@ -387,17 +379,6 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id) toggleScriptFloater(notification_id, set_new_message); } -void LLScriptFloaterManager::removeNotification(const LLUUID& notification_id) -{ - LLNotificationPtr notification = LLNotifications::instance().find(notification_id); - if (notification != NULL && !notification->isCancelled()) - { - LLNotificationsUtil::cancel(notification); - } - - onRemoveNotification(notification_id); -} - void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id) { if(notification_id.isNull()) @@ -411,8 +392,6 @@ void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id) LLIMWellWindow::getInstance()->removeObjectRow(notification_id); - mNotifications.erase(notification_id); - // close floater LLScriptFloater* floater = LLFloaterReg::findTypedInstance("script_floater", notification_id); if(floater) @@ -421,6 +400,8 @@ void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id) floater->setNotificationId(LLUUID::null); floater->closeFloater(); } + + mNotifications.erase(notification_id); } void LLScriptFloaterManager::toggleScriptFloater(const LLUUID& notification_id, bool set_new_message) diff --git a/indra/newview/llscriptfloater.h b/indra/newview/llscriptfloater.h index 6990234fd7..dc0cfc2400 100644 --- a/indra/newview/llscriptfloater.h +++ b/indra/newview/llscriptfloater.h @@ -64,11 +64,6 @@ public: */ void onAddNotification(const LLUUID& notification_id); - /** - * Removes notification. - */ - void removeNotification(const LLUUID& notification_id); - /** * Handles notification removal. * Removes script notification toast, removes script chiclet, closes script floater diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 7104f3934d..98282c1673 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -230,15 +230,15 @@ LLSideTrayTab* LLSideTrayTab::createInstance () LLSideTray::Params::Params() : collapsed("collapsed",false), - tab_btn_image_normal("tab_btn_image",LLUI::getUIImage("sidebar_tab_left.tga")), - tab_btn_image_selected("tab_btn_image_selected",LLUI::getUIImage("button_enabled_selected_32x128.tga")), + tab_btn_image_normal("tab_btn_image","sidebar_tab_left.tga"), + tab_btn_image_selected("tab_btn_image_selected","button_enabled_selected_32x128.tga"), default_button_width("tab_btn_width",32), default_button_height("tab_btn_height",32), default_button_margin("tab_btn_margin",0) {} //virtual -LLSideTray::LLSideTray(const Params& params) +LLSideTray::LLSideTray(Params& params) : LLPanel(params) ,mActiveTab(0) ,mCollapsed(false) @@ -373,10 +373,10 @@ LLButton* LLSideTray::createButton (const std::string& name,const std::string& i bparams.follows.flags (FOLLOWS_LEFT | FOLLOWS_TOP); bparams.rect (rect); bparams.tab_stop(false); - bparams.image_unselected(sidetray_params.tab_btn_image_normal); - bparams.image_selected(sidetray_params.tab_btn_image_selected); - bparams.image_disabled(sidetray_params.tab_btn_image_normal); - bparams.image_disabled_selected(sidetray_params.tab_btn_image_selected); + bparams.image_unselected.name(sidetray_params.tab_btn_image_normal); + bparams.image_selected.name(sidetray_params.tab_btn_image_selected); + bparams.image_disabled.name(sidetray_params.tab_btn_image_normal); + bparams.image_disabled_selected.name(sidetray_params.tab_btn_image_selected); LLButton* button = LLUICtrlFactory::create (bparams); button->setLabel(name); diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index 406cdc9055..3a8d308425 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -54,13 +54,13 @@ public: : public LLInitParam::Block { // initial state - Optional collapsed; - Optional tab_btn_image_normal, - tab_btn_image_selected; + Optional collapsed; + Optional tab_btn_image_normal; + Optional tab_btn_image_selected; - Optional default_button_width, - default_button_height, - default_button_margin; + Optional default_button_width; + Optional default_button_height; + Optional default_button_margin; Params(); }; @@ -68,7 +68,7 @@ public: static LLSideTray* getInstance (); static bool instanceCreated (); protected: - LLSideTray(const Params& params); + LLSideTray(Params& params); typedef std::vector child_vector_t; typedef child_vector_t::iterator child_vector_iter_t; typedef child_vector_t::const_iterator child_vector_const_iter_t; diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 1a8c2b8fc0..e6b4aeb6c2 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -371,7 +371,7 @@ LLIMWellWindow::ObjectRowPanel::~ObjectRowPanel() //--------------------------------------------------------------------------------- void LLIMWellWindow::ObjectRowPanel::onClosePanel() { - LLScriptFloaterManager::getInstance()->removeNotification(mChiclet->getSessionId()); + LLScriptFloaterManager::getInstance()->onRemoveNotification(mChiclet->getSessionId()); } void LLIMWellWindow::ObjectRowPanel::initChiclet(const LLUUID& notification_id, bool new_message/* = false*/) @@ -832,7 +832,7 @@ void LLIMWellWindow::closeAllImpl() ObjectRowPanel* obj_panel = dynamic_cast (panel); if (obj_panel) { - LLScriptFloaterManager::instance().removeNotification(*iter); + LLScriptFloaterManager::instance().onRemoveNotification(*iter); } } } diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 0b02861b75..fcb9deb20b 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -423,10 +423,6 @@ BOOL LLFloaterTexturePicker::postBuild() mInventoryPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); mInventoryPanel->setAllowMultiSelect(FALSE); - // Disable auto selecting first filtered item because it takes away - // selection from the item set by LLTextureCtrl owning this floater. - mInventoryPanel->getRootFolder()->setAutoSelectOverride(TRUE); - // Commented out to scroll to currently selected texture. See EXT-5403. // // store this filter as the default one // mInventoryPanel->getRootFolder()->getFilter()->markDefault(); diff --git a/indra/newview/llurllineeditorctrl.cpp b/indra/newview/llurllineeditorctrl.cpp index 333f682e8f..8488527185 100644 --- a/indra/newview/llurllineeditorctrl.cpp +++ b/indra/newview/llurllineeditorctrl.cpp @@ -89,10 +89,9 @@ void LLURLLineEditor::copyEscapedURLToClipboard() const std::string unescaped_text = wstring_to_utf8str(mText.getWString().substr(left_pos, length)); LLWString text_to_copy; - // *HACK: Because LLSLURL is currently broken we cannot use it to check if unescaped_text is a valid SLURL (see EXT-8335). - if (LLStringUtil::startsWith(unescaped_text, "http://")) // SLURL + if (LLSLURL(unescaped_text).isValid()) text_to_copy = utf8str_to_wstring(LLWeb::escapeURL(unescaped_text)); - else // human-readable location + else text_to_copy = utf8str_to_wstring(unescaped_text); gClipboard.copyFromString( text_to_copy ); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index cbc86c89cc..1ff4d6db9e 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -847,21 +847,6 @@ LLInventoryCallbackManager::~LLInventoryCallbackManager() sInstance = NULL; } -//static -void LLInventoryCallbackManager::destroyClass() -{ - if (sInstance) - { - for (callback_map_t::iterator it = sInstance->mMap.begin(), end_it = sInstance->mMap.end(); it != end_it; ++it) - { - // drop LLPointer reference to callback - it->second = NULL; - } - sInstance->mMap.clear(); - } -} - - U32 LLInventoryCallbackManager::registerCB(LLPointer cb) { if (cb.isNull()) diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h index 1dd6597388..d0d3ad693e 100644 --- a/indra/newview/llviewerinventory.h +++ b/indra/newview/llviewerinventory.h @@ -36,7 +36,6 @@ #include "llinventory.h" #include "llframetimer.h" #include "llwearable.h" -#include "llui.h" //for LLDestroyClass #include // boost::signals2::trackable @@ -300,9 +299,8 @@ private: // misc functions //void inventory_reliable_callback(void**, S32 status); -class LLInventoryCallbackManager : public LLDestroyClass +class LLInventoryCallbackManager { - friend class LLDestroyClass; public: LLInventoryCallbackManager(); ~LLInventoryCallbackManager(); @@ -310,12 +308,9 @@ public: void fire(U32 callback_id, const LLUUID& item_id); U32 registerCB(LLPointer cb); private: - typedef std::map > callback_map_t; - callback_map_t mMap; + std::map > mMap; U32 mLastCallback; static LLInventoryCallbackManager *sInstance; - static void destroyClass(); - public: static bool is_instantiated() { return sInstance != NULL; } }; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 53fb01aec3..07b6431c92 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2585,7 +2585,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) params.substitutions = substitutions; params.payload = payload; - LLPostponedNotification::add(params, from_id, from_group); + LLPostponedNotification::add(params, from_id, false); } break; case IM_FROM_TASK_AS_ALERT: diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 15bdf126c5..6d93de2383 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -79,7 +79,6 @@ #include "llviewerparceloverlay.h" #include "llviewerpartsource.h" #include "llviewerregion.h" -#include "llviewerstats.h" #include "llviewertextureanim.h" #include "llviewerwindow.h" // For getSpinAxis #include "llvoavatar.h" @@ -1917,12 +1916,6 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys, avatar->clampAttachmentPositions(); } - - // If we're snapping the position by more than 0.5m, update LLViewerStats::mAgentPositionSnaps - if ( asAvatar() && asAvatar()->isSelf() && (mag_sqr > 0.25f) ) - { - LLViewerStats::getInstance()->mAgentPositionSnaps.push( diff.length() ); - } } if (new_rot != mLastRot diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index a706e77f19..bdc34d0f18 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -280,8 +280,6 @@ LLViewerStats::LLViewerStats() : { mStats[ST_HAS_BAD_TIMER] = 1.0; } - - mAgentPositionSnaps.reset(); } LLViewerStats::~LLViewerStats() @@ -301,8 +299,6 @@ void LLViewerStats::resetStats() LLViewerStats::getInstance()->mPacketsOutStat.reset(); LLViewerStats::getInstance()->mFPSStat.reset(); LLViewerStats::getInstance()->mTexturePacketsStat.reset(); - - LLViewerStats::getInstance()->mAgentPositionSnaps.reset(); } @@ -397,10 +393,6 @@ void LLViewerStats::addToMessage(LLSD &body) const << llendl; } } - - body["AgentPositionSnaps"] = mAgentPositionSnaps.getData(); - llinfos << "STAT: AgentPositionSnaps: Mean = " << mAgentPositionSnaps.getMean() << "; StdDev = " << mAgentPositionSnaps.getStdDev() - << "; Count = " << mAgentPositionSnaps.getCount() << llendl; } // static diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h index 694eeaf097..13d73000d2 100644 --- a/indra/newview/llviewerstats.h +++ b/indra/newview/llviewerstats.h @@ -197,61 +197,6 @@ public: void addToMessage(LLSD &body) const; - struct StatsAccumulator - { - S32 mCount; - F32 mSum; - F32 mSumOfSquares; - U32 mCountOfNextUpdatesToIgnore; - - inline void push( F32 val ) - { - if ( mCountOfNextUpdatesToIgnore > 0 ) - { - mCountOfNextUpdatesToIgnore--; - return; - } - - mCount++; - mSum += val; - mSumOfSquares += val * val; - } - - inline F32 getMean() const - { - return (mCount == 0) ? 0.f : ((F32)mSum)/mCount; - } - - inline F32 getStdDev() const - { - const F32 mean = getMean(); - return (mCount == 0) ? 0.f : sqrt( mSumOfSquares/mCount - (mean * mean) ); - } - - inline U32 getCount() const - { - return mCount; - } - - inline void reset() - { - mCount = 0; - mSum = mSumOfSquares = 0.f; - mCountOfNextUpdatesToIgnore = 0; - } - - inline LLSD getData() const - { - LLSD data; - data["mean"] = getMean(); - data["std_dev"] = getStdDev(); - data["count"] = (S32)mCount; - return data; - } - }; - - StatsAccumulator mAgentPositionSnaps; - private: F64 mStats[ST_COUNT]; diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 75bb9f84e2..0afbce7d51 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -495,7 +495,6 @@ LLViewerTexture::LLViewerTexture(const U32 width, const U32 height, const U8 com mFullHeight = height ; mUseMipMaps = usemipmaps ; mComponents = components ; - setTexelsPerImage(); mID.generate(); sImageCount++; @@ -523,7 +522,6 @@ void LLViewerTexture::init(bool firstinit) mFullWidth = 0; mFullHeight = 0; - mTexelsPerImage = 0 ; mUseMipMaps = FALSE ; mComponents = 0 ; @@ -532,7 +530,7 @@ void LLViewerTexture::init(bool firstinit) mMaxVirtualSize = 0.f; mNeedsGLTexture = FALSE ; mMaxVirtualSizeResetInterval = 1; - mMaxVirtualSizeResetCounter = mMaxVirtualSizeResetInterval ; + mMaxVirtualSizeResetCounter = 1 ; mAdditionalDecodePriority = 0.f ; mParcelMedia = NULL ; mNumFaces = 0 ; @@ -840,8 +838,7 @@ BOOL LLViewerTexture::createGLTexture(S32 discard_level, const LLImageRaw* image { mFullWidth = mGLTexturep->getCurrentWidth() ; mFullHeight = mGLTexturep->getCurrentHeight() ; - mComponents = mGLTexturep->getComponents() ; - setTexelsPerImage(); + mComponents = mGLTexturep->getComponents() ; } return ret ; @@ -1059,16 +1056,9 @@ void LLViewerTexture::destroyGLTexture() } } -void LLViewerTexture::setTexelsPerImage() -{ - S32 fullwidth = llmin(mFullWidth,(S32)MAX_IMAGE_SIZE_DEFAULT); - S32 fullheight = llmin(mFullHeight,(S32)MAX_IMAGE_SIZE_DEFAULT); - mTexelsPerImage = (F32)fullwidth * fullheight; -} - BOOL LLViewerTexture::isLargeImage() { - return (S32)mTexelsPerImage > LLViewerTexture::sMinLargeImageSize ; + return mFullWidth * mFullHeight > LLViewerTexture::sMinLargeImageSize ; } //virtual @@ -1425,7 +1415,6 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/) mFullWidth = mRawImage->getWidth(); mFullHeight = mRawImage->getHeight(); - setTexelsPerImage(); } else { @@ -1630,7 +1619,11 @@ F32 LLViewerFetchedTexture::calcDecodePriority() { // priority range = 100,000 - 500,000 S32 desired_discard = mDesiredDiscardLevel; - if (!isJustBound() && mCachedRawImageReady) + if (getDontDiscard()) + { + desired_discard -= 2; + } + else if (!isJustBound() && mCachedRawImageReady) { if(mBoostLevel < BOOST_HIGH) { @@ -1646,7 +1639,7 @@ F32 LLViewerFetchedTexture::calcDecodePriority() S32 ddiscard = cur_discard - desired_discard; ddiscard = llclamp(ddiscard, -1, MAX_DELTA_DISCARD_LEVEL_FOR_PRIORITY); - priority = (ddiscard + 1) * PRIORITY_DELTA_DISCARD_LEVEL_FACTOR; + priority = (ddiscard + 1) * PRIORITY_DELTA_DISCARD_LEVEL_FACTOR; } // Priority Formula: @@ -1654,51 +1647,19 @@ F32 LLViewerFetchedTexture::calcDecodePriority() // [10,000,000] + [1,000,000-9,000,000] + [100,000-500,000] + [1-20,000] + [0-999] if (priority > 0.0f) { - bool large_enough = mCachedRawImageReady && ((S32)mTexelsPerImage > sMinLargeImageSize) ; - if(large_enough) - { - //Note: - //to give small, low-priority textures some chance to be fetched, - //cut the priority in half if the texture size is larger than 256 * 256 and has a 64*64 ready. - priority *= 0.5f ; - } - pixel_priority = llclamp(pixel_priority, 0.0f, MAX_PRIORITY_PIXEL); priority += pixel_priority + PRIORITY_BOOST_LEVEL_FACTOR * mBoostLevel; if ( mBoostLevel > BOOST_HIGH) { - if(mBoostLevel > BOOST_SUPER_HIGH) - { - //for very important textures, always grant the highest priority. - priority += PRIORITY_BOOST_HIGH_FACTOR; - } - else if(mCachedRawImageReady) - { - //Note: - //to give small, low-priority textures some chance to be fetched, - //if high priority texture has a 64*64 ready, lower its fetching priority. - setAdditionalDecodePriority(0.5f) ; - } - else - { - priority += PRIORITY_BOOST_HIGH_FACTOR; - } + priority += PRIORITY_BOOST_HIGH_FACTOR; } if(mAdditionalDecodePriority > 0.0f) { // priority range += 1,000,000.f-9,000,000.f - F32 additional = PRIORITY_ADDITIONAL_FACTOR * (1.0 + mAdditionalDecodePriority * MAX_ADDITIONAL_LEVEL_FOR_PRIORITY); - if(large_enough) - { - //Note: - //to give small, low-priority textures some chance to be fetched, - //cut the additional priority to a quarter if the texture size is larger than 256 * 256 and has a 64*64 ready. - additional *= 0.25f ; - } - priority += additional; + priority += PRIORITY_ADDITIONAL_FACTOR * (1.0 + mAdditionalDecodePriority * MAX_ADDITIONAL_LEVEL_FOR_PRIORITY); } } return priority; @@ -1741,6 +1702,11 @@ void LLViewerFetchedTexture::updateVirtualSize() addTextureStats(0.f, FALSE) ;//reset } + if(mForceToSaveRawImage) + { + setAdditionalDecodePriority(0.75f) ; //boost the fetching priority + } + for(U32 i = 0 ; i < mNumFaces ; i++) { LLFace* facep = mFaceList[i] ; @@ -1853,7 +1819,6 @@ bool LLViewerFetchedTexture::updateFetch() { mFullWidth = mRawImage->getWidth() << mRawDiscardLevel; mFullHeight = mRawImage->getHeight() << mRawDiscardLevel; - setTexelsPerImage(); if(mFullWidth > MAX_IMAGE_SIZE || mFullHeight > MAX_IMAGE_SIZE) { @@ -2922,6 +2887,10 @@ void LLViewerLODTexture::processTextureStats() //static const F64 log_2 = log(2.0); static const F64 log_4 = log(4.0); + S32 fullwidth = llmin(mFullWidth,(S32)MAX_IMAGE_SIZE_DEFAULT); + S32 fullheight = llmin(mFullHeight,(S32)MAX_IMAGE_SIZE_DEFAULT); + mTexelsPerImage = (F32)fullwidth * fullheight; + F32 discard_level = 0.f; // If we know the output width and height, we can force the discard diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index b33d04e8dd..8b69408e4b 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -126,16 +126,15 @@ public: BOOST_HIGH = 10, BOOST_BUMP , BOOST_TERRAIN , // has to be high priority for minimap / low detail - BOOST_SELECTED , - BOOST_AVATAR_BAKED_SELF , - BOOST_AVATAR_SELF , // needed for baking avatar - BOOST_SUPER_HIGH , //textures higher than this need to be downloaded at the required resolution without delay. + BOOST_SELECTED , BOOST_HUD , + BOOST_AVATAR_BAKED_SELF , BOOST_ICON , BOOST_UI , BOOST_PREVIEW , BOOST_MAP , - BOOST_MAP_VISIBLE , + BOOST_MAP_VISIBLE , + BOOST_AVATAR_SELF , // needed for baking avatar BOOST_MAX_LEVEL, //other texture Categories @@ -269,7 +268,6 @@ protected: void init(bool firstinit) ; void reorganizeFaceList() ; void reorganizeVolumeList() ; - void setTexelsPerImage(); private: //note: do not make this function public. /*virtual*/ LLImageGL* getGLTexture() const ; @@ -282,7 +280,6 @@ protected: S32 mFullHeight; BOOL mUseMipMaps ; S8 mComponents; - F32 mTexelsPerImage; // Texels per image. mutable S8 mNeedsGLTexture; mutable F32 mMaxVirtualSize; // The largest virtual size of the image, in pixels - how much data to we need? mutable S32 mMaxVirtualSizeResetCounter ; @@ -601,6 +598,8 @@ private: void scaleDown() ; private: + + F32 mTexelsPerImage; // Texels per image. F32 mDiscardVirtualSize; // Virtual size used to calculate desired discard F32 mCalculatedDiscardLevel; // Last calculated discard level }; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 07b98eaf82..47e35ca0c4 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -3189,26 +3189,29 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) { // muted avatars update at 16 hz mUpdatePeriod = 16; } - else if (mVisibilityRank <= LLVOAvatar::sMaxVisible) + else if (visible && mVisibilityRank <= LLVOAvatar::sMaxVisible) { //first 25% of max visible avatars are not impostored mUpdatePeriod = 1; } - else if (mVisibilityRank > LLVOAvatar::sMaxVisible * 4) + else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 4) { //background avatars are REALLY slow updating impostors mUpdatePeriod = 16; } - else if (mVisibilityRank > LLVOAvatar::sMaxVisible * 3) + else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 3) { //back 25% of max visible avatars are slow updating impostors mUpdatePeriod = 8; } - else if (mImpostorPixelArea <= impostor_area) + else if (visible && mImpostorPixelArea <= impostor_area) { // stuff in between gets an update period based on pixel area mUpdatePeriod = llclamp((S32) sqrtf(impostor_area*4.f/mImpostorPixelArea), 2, 8); } + else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible) + { // force nearby impostors in ultra crowded areas + mUpdatePeriod = 2; + } else - { - //nearby avatars, update the impostors more frequently. - mUpdatePeriod = 4; + { // not impostored + mUpdatePeriod = 1; } visible = (LLDrawable::getCurrentFrame()+mID.mData[0])%mUpdatePeriod == 0 ? TRUE : FALSE; @@ -4271,12 +4274,10 @@ void LLVOAvatar::checkTextureLoading() return ; } -const F32 SELF_ADDITIONAL_PRI = 0.75f ; -const F32 ADDITIONAL_PRI = 0.5f; void LLVOAvatar::addBakedTextureStats( LLViewerFetchedTexture* imagep, F32 pixel_area, F32 texel_area_ratio, S32 boost_level) { //if this function is not called for the last 512 frames, the texture pipeline will stop fetching this texture. - static const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL = 512 ; //frames + static const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL = 512 ; //frames imagep->resetTextureStats(); imagep->setCanUseHTTP(false) ; //turn off http fetching for baked textures. @@ -4286,14 +4287,9 @@ void LLVOAvatar::addBakedTextureStats( LLViewerFetchedTexture* imagep, F32 pixel mMinPixelArea = llmin(pixel_area, mMinPixelArea); imagep->addTextureStats(pixel_area / texel_area_ratio); imagep->setBoostLevel(boost_level); - - if(boost_level != LLViewerTexture::BOOST_AVATAR_BAKED_SELF) - { - imagep->setAdditionalDecodePriority(ADDITIONAL_PRI) ; - } - else + if(boost_level == LLViewerTexture::BOOST_AVATAR_BAKED_SELF) { - imagep->setAdditionalDecodePriority(SELF_ADDITIONAL_PRI) ; + imagep->setAdditionalDecodePriority(1.0f) ; } } @@ -7304,7 +7300,7 @@ void LLVOAvatar::cullAvatarsByPixelArea() std::sort(LLCharacter::sInstances.begin(), LLCharacter::sInstances.end(), CompareScreenAreaGreater()); // Update the avatars that have changed status - U32 rank = 2; //1 is reserved for self. + U32 rank = 0; for (std::vector::iterator iter = LLCharacter::sInstances.begin(); iter != LLCharacter::sInstances.end(); ++iter) { @@ -7328,7 +7324,7 @@ void LLVOAvatar::cullAvatarsByPixelArea() if (inst->isSelf()) { - inst->setVisibilityRank(1); + inst->setVisibilityRank(0); } else if (inst->mDrawable.notNull() && inst->mDrawable->isVisible()) { diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 49b9fe1536..3dad919875 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -868,7 +868,7 @@ private: public: // Responsible for detecting the user's voice signal (and when the // user speaks, it puts a voice symbol over the avatar's head) and gesticulations - LLPointer mVoiceVisualizer; + LLVoiceVisualizer* mVoiceVisualizer; int mCurrentGesticulationLevel; //-------------------------------------------------------------------- @@ -1048,6 +1048,5 @@ protected: // Shared with LLVOAvatarSelf *******************************************************************************/ }; // LLVOAvatar -extern const F32 SELF_ADDITIONAL_PRI; #endif // LL_VO_AVATAR_H diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index b80e47e11a..4edbbb7402 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2034,7 +2034,7 @@ void LLVOAvatarSelf::addLocalTextureStats( ETextureIndex type, LLViewerFetchedTe imagep->resetTextureStats(); imagep->setMaxVirtualSizeResetInterval(16); imagep->addTextureStats( desired_pixels / texel_area_ratio ); - imagep->setAdditionalDecodePriority(SELF_ADDITIONAL_PRI) ; + imagep->setAdditionalDecodePriority(1.0f) ; imagep->forceUpdateBindStats() ; if (imagep->getDiscardLevel() < 0) { diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index 60ebb9416e..3887f64618 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -85,8 +85,8 @@ void LLPanelWearableListItem::onMouseLeave(S32 x, S32 y, MASK mask) reshapeWidgets(); } -LLPanelWearableListItem::LLPanelWearableListItem(LLViewerInventoryItem* item, const LLPanelWearableListItem::Params& params) -: LLPanelInventoryListItemBase(item, params) +LLPanelWearableListItem::LLPanelWearableListItem(LLViewerInventoryItem* item) +: LLPanelInventoryListItemBase(item) { } @@ -101,19 +101,15 @@ LLPanelWearableOutfitItem* LLPanelWearableOutfitItem::create(LLViewerInventoryIt LLPanelWearableOutfitItem* list_item = NULL; if (item) { - const LLPanelInventoryListItemBase::Params& params = LLUICtrlFactory::getDefaultParams(); - - list_item = new LLPanelWearableOutfitItem(item, worn_indication_enabled, params); - list_item->initFromParams(params); - list_item->postBuild(); + list_item = new LLPanelWearableOutfitItem(item, worn_indication_enabled); + list_item->init(); } return list_item; } LLPanelWearableOutfitItem::LLPanelWearableOutfitItem(LLViewerInventoryItem* item, - bool worn_indication_enabled, - const LLPanelWearableOutfitItem::Params& params) -: LLPanelInventoryListItemBase(item, params) + bool worn_indication_enabled) +: LLPanelInventoryListItemBase(item) , mWornIndicationEnabled(worn_indication_enabled) { } @@ -136,17 +132,6 @@ void LLPanelWearableOutfitItem::updateItem(const std::string& name, ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// -static LLWidgetNameRegistry::StaticRegistrar sRegisterPanelClothingListItem(&typeid(LLPanelClothingListItem::Params), "clothing_list_item"); - - -LLPanelClothingListItem::Params::Params() -: up_btn("up_btn"), - down_btn("down_btn"), - edit_btn("edit_btn"), - lock_panel("lock_panel"), - edit_panel("edit_panel"), - lock_icon("lock_icon") -{} // static LLPanelClothingListItem* LLPanelClothingListItem::create(LLViewerInventoryItem* item) @@ -154,54 +139,24 @@ LLPanelClothingListItem* LLPanelClothingListItem::create(LLViewerInventoryItem* LLPanelClothingListItem* list_item = NULL; if(item) { - const LLPanelClothingListItem::Params& params = LLUICtrlFactory::getDefaultParams(); - list_item = new LLPanelClothingListItem(item, params); - list_item->initFromParams(params); - list_item->postBuild(); + list_item = new LLPanelClothingListItem(item); + list_item->init(); } return list_item; } -LLPanelClothingListItem::LLPanelClothingListItem(LLViewerInventoryItem* item, const LLPanelClothingListItem::Params& params) - : LLPanelDeletableWearableListItem(item, params) -{ - LLButton::Params button_params = params.up_btn; - applyXUILayout(button_params, this); - addChild(LLUICtrlFactory::create(button_params)); - - button_params = params.down_btn; - applyXUILayout(button_params, this); - addChild(LLUICtrlFactory::create(button_params)); - - LLPanel::Params panel_params = params.lock_panel; - applyXUILayout(panel_params, this); - LLPanel* lock_panelp = LLUICtrlFactory::create(panel_params); - addChild(lock_panelp); - - panel_params = params.edit_panel; - applyXUILayout(panel_params, this); - LLPanel* edit_panelp = LLUICtrlFactory::create(panel_params); - addChild(edit_panelp); - - if (lock_panelp) +LLPanelClothingListItem::LLPanelClothingListItem(LLViewerInventoryItem* item) + : LLPanelDeletableWearableListItem(item) { - LLIconCtrl::Params icon_params = params.lock_icon; - applyXUILayout(icon_params, this); - lock_panelp->addChild(LLUICtrlFactory::create(icon_params)); } - if (edit_panelp) +LLPanelClothingListItem::~LLPanelClothingListItem() { - button_params = params.edit_btn; - applyXUILayout(button_params, this); - edit_panelp->addChild(LLUICtrlFactory::create(button_params)); - } - - setSeparatorVisible(false); } -LLPanelClothingListItem::~LLPanelClothingListItem() +void LLPanelClothingListItem::init() { + LLUICtrlFactory::getInstance()->buildPanel(this, "panel_clothing_list_item.xml"); } BOOL LLPanelClothingListItem::postBuild() @@ -223,62 +178,30 @@ BOOL LLPanelClothingListItem::postBuild() ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// -static LLWidgetNameRegistry::StaticRegistrar sRegisterPanelBodyPartsListItem(&typeid(LLPanelBodyPartsListItem::Params), "bodyparts_list_item"); - - -LLPanelBodyPartsListItem::Params::Params() -: edit_btn("edit_btn"), - edit_panel("edit_panel"), - lock_panel("lock_panel"), - lock_icon("lock_icon") -{} - // static LLPanelBodyPartsListItem* LLPanelBodyPartsListItem::create(LLViewerInventoryItem* item) { LLPanelBodyPartsListItem* list_item = NULL; if(item) { - const Params& params = LLUICtrlFactory::getDefaultParams(); - list_item = new LLPanelBodyPartsListItem(item, params); - list_item->initFromParams(params); - list_item->postBuild(); + list_item = new LLPanelBodyPartsListItem(item); + list_item->init(); } return list_item; } -LLPanelBodyPartsListItem::LLPanelBodyPartsListItem(LLViewerInventoryItem* item, const LLPanelBodyPartsListItem::Params& params) -: LLPanelWearableListItem(item, params) +LLPanelBodyPartsListItem::LLPanelBodyPartsListItem(LLViewerInventoryItem* item) +: LLPanelWearableListItem(item) { - LLPanel::Params panel_params = params.edit_panel; - applyXUILayout(panel_params, this); - LLPanel* edit_panelp = LLUICtrlFactory::create(panel_params); - addChild(edit_panelp); - - panel_params = params.lock_panel; - applyXUILayout(panel_params, this); - LLPanel* lock_panelp = LLUICtrlFactory::create(panel_params); - addChild(lock_panelp); - - if (edit_panelp) - { - LLButton::Params btn_params = params.edit_btn; - applyXUILayout(btn_params, this); - edit_panelp->addChild(LLUICtrlFactory::create(btn_params)); } - if (lock_panelp) +LLPanelBodyPartsListItem::~LLPanelBodyPartsListItem() { - LLIconCtrl::Params icon_params = params.lock_icon; - applyXUILayout(icon_params, this); - lock_panelp->addChild(LLUICtrlFactory::create(icon_params)); - } - - setSeparatorVisible(true); } -LLPanelBodyPartsListItem::~LLPanelBodyPartsListItem() +void LLPanelBodyPartsListItem::init() { + LLUICtrlFactory::getInstance()->buildPanel(this, "panel_body_parts_list_item.xml"); } BOOL LLPanelBodyPartsListItem::postBuild() @@ -291,11 +214,6 @@ BOOL LLPanelBodyPartsListItem::postBuild() return TRUE; } -static LLWidgetNameRegistry::StaticRegistrar sRegisterPanelDeletableWearableListItem(&typeid(LLPanelDeletableWearableListItem::Params), "deletable_wearable_list_item"); - -LLPanelDeletableWearableListItem::Params::Params() -: delete_btn("delete_btn") -{} // static LLPanelDeletableWearableListItem* LLPanelDeletableWearableListItem::create(LLViewerInventoryItem* item) @@ -303,22 +221,20 @@ LLPanelDeletableWearableListItem* LLPanelDeletableWearableListItem::create(LLVie LLPanelDeletableWearableListItem* list_item = NULL; if(item) { - const Params& params = LLUICtrlFactory::getDefaultParams(); - list_item = new LLPanelDeletableWearableListItem(item, params); - list_item->initFromParams(params); - list_item->postBuild(); + list_item = new LLPanelDeletableWearableListItem(item); + list_item->init(); } return list_item; } -LLPanelDeletableWearableListItem::LLPanelDeletableWearableListItem(LLViewerInventoryItem* item, const LLPanelDeletableWearableListItem::Params& params) -: LLPanelWearableListItem(item, params) +LLPanelDeletableWearableListItem::LLPanelDeletableWearableListItem(LLViewerInventoryItem* item) +: LLPanelWearableListItem(item) { - LLButton::Params button_params = params.delete_btn; - applyXUILayout(button_params, this); - addChild(LLUICtrlFactory::create(button_params)); +} - setSeparatorVisible(true); +void LLPanelDeletableWearableListItem::init() +{ + LLUICtrlFactory::getInstance()->buildPanel(this, "panel_deletable_wearable_list_item.xml"); } BOOL LLPanelDeletableWearableListItem::postBuild() @@ -344,11 +260,8 @@ LLPanelAttachmentListItem* LLPanelAttachmentListItem::create(LLViewerInventoryIt LLPanelAttachmentListItem* list_item = NULL; if(item) { - const Params& params = LLUICtrlFactory::getDefaultParams(); - - list_item = new LLPanelAttachmentListItem(item, params); - list_item->initFromParams(params); - list_item->postBuild(); + list_item = new LLPanelAttachmentListItem(item); + list_item->init(); } return list_item; } @@ -371,32 +284,27 @@ void LLPanelAttachmentListItem::updateItem(const std::string& name, ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// -static LLWidgetNameRegistry::StaticRegistrar sRegisterPanelDummyClothingListItem(&typeid(LLPanelDummyClothingListItem::Params), "dummy_clothing_list_item"); - -LLPanelDummyClothingListItem::Params::Params() -: add_panel("add_panel"), - add_btn("add_btn") -{} LLPanelDummyClothingListItem* LLPanelDummyClothingListItem::create(LLWearableType::EType w_type) { - const Params& params = LLUICtrlFactory::getDefaultParams(); - - LLPanelDummyClothingListItem* list_item = new LLPanelDummyClothingListItem(w_type, params); - list_item->initFromParams(params); - list_item->postBuild(); + LLPanelDummyClothingListItem* list_item = new LLPanelDummyClothingListItem(w_type); + list_item->init(); return list_item; } BOOL LLPanelDummyClothingListItem::postBuild() { + LLIconCtrl* icon = getChild("item_icon"); + setIconCtrl(icon); + setTitleCtrl(getChild("item_name")); + addWidgetToRightSide("btn_add_panel"); setIconImage(LLInventoryIcon::getIcon(LLAssetType::AT_CLOTHING, LLInventoryType::IT_NONE, mWearableType, FALSE)); updateItem(wearableTypeToString(mWearableType)); // Make it look loke clothing item - reserve space for 'delete' button - setLeftWidgetsWidth(getChildView("item_icon")->getRect().mLeft); + setLeftWidgetsWidth(icon->getRect().mLeft); setWidgetsVisible(false); reshapeWidgets(); @@ -409,23 +317,15 @@ LLWearableType::EType LLPanelDummyClothingListItem::getWearableType() const return mWearableType; } -LLPanelDummyClothingListItem::LLPanelDummyClothingListItem(LLWearableType::EType w_type, const LLPanelDummyClothingListItem::Params& params) -: LLPanelWearableListItem(NULL, params), - mWearableType(w_type) -{ - LLPanel::Params panel_params(params.add_panel); - applyXUILayout(panel_params, this); - LLPanel* add_panelp = LLUICtrlFactory::create(panel_params); - addChild(add_panelp); - - if (add_panelp) +LLPanelDummyClothingListItem::LLPanelDummyClothingListItem(LLWearableType::EType w_type) + : LLPanelWearableListItem(NULL) + , mWearableType(w_type) { - LLButton::Params button_params(params.add_btn); - applyXUILayout(button_params, this); - add_panelp->addChild(LLUICtrlFactory::create(button_params)); } - setSeparatorVisible(true); +void LLPanelDummyClothingListItem::init() +{ + LLUICtrlFactory::getInstance()->buildPanel(this, "panel_dummy_clothing_list_item.xml"); } typedef std::map clothing_to_string_map_t; diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h index 367b648b3d..d16a2a89c8 100644 --- a/indra/newview/llwearableitemslist.h +++ b/indra/newview/llwearableitemslist.h @@ -68,7 +68,7 @@ public: protected: - LLPanelWearableListItem(LLViewerInventoryItem* item, const Params& params); + LLPanelWearableListItem(LLViewerInventoryItem* item); }; /** @@ -93,7 +93,7 @@ public: protected: LLPanelWearableOutfitItem(LLViewerInventoryItem* item, - bool worn_indication_enabled, const Params& params); + bool worn_indication_enabled); private: bool mWornIndicationEnabled; @@ -103,13 +103,6 @@ class LLPanelDeletableWearableListItem : public LLPanelWearableListItem { LOG_CLASS(LLPanelDeletableWearableListItem); public: - struct Params : public LLInitParam::Block - { - Optional delete_btn; - - Params(); - }; - static LLPanelDeletableWearableListItem* create(LLViewerInventoryItem* item); @@ -123,7 +116,9 @@ public: inline void setShowDeleteButton(bool show) { setShowWidget("btn_delete", show); } protected: - LLPanelDeletableWearableListItem(LLViewerInventoryItem* item, const Params& params); + LLPanelDeletableWearableListItem(LLViewerInventoryItem* item); + + /*virtual*/ void init(); }; /** Outfit list item for an attachment */ @@ -139,7 +134,7 @@ public: EItemState item_state = IS_DEFAULT); protected: - LLPanelAttachmentListItem(LLViewerInventoryItem* item, const Params& params) : LLPanelDeletableWearableListItem(item, params) {}; + LLPanelAttachmentListItem(LLViewerInventoryItem* item) : LLPanelDeletableWearableListItem(item) {}; }; /** @@ -152,18 +147,6 @@ class LLPanelClothingListItem : public LLPanelDeletableWearableListItem LOG_CLASS(LLPanelClothingListItem); public: - struct Params : public LLInitParam::Block - { - Optional up_btn, - down_btn, - edit_btn; - Optional lock_panel, - edit_panel; - Optional lock_icon; - - Params(); - }; - static LLPanelClothingListItem* create(LLViewerInventoryItem* item); virtual ~LLPanelClothingListItem(); @@ -179,25 +162,18 @@ public: inline void setShowLockButton(bool show) { setShowWidget("btn_lock", show); } inline void setShowEditButton(bool show) { setShowWidget("btn_edit_panel", show); } -protected: - LLPanelClothingListItem(LLViewerInventoryItem* item, const Params& params); +protected: + LLPanelClothingListItem(LLViewerInventoryItem* item); + + /*virtual*/ void init(); }; class LLPanelBodyPartsListItem : public LLPanelWearableListItem { LOG_CLASS(LLPanelBodyPartsListItem); public: - struct Params : public LLInitParam::Block - { - Optional edit_btn; - Optional lock_panel, - edit_panel; - Optional lock_icon; - - Params(); - }; static LLPanelBodyPartsListItem* create(LLViewerInventoryItem* item); @@ -212,7 +188,9 @@ public: inline void setShowEditButton(bool show) { setShowWidget("btn_edit_panel", show); } protected: - LLPanelBodyPartsListItem(LLViewerInventoryItem* item, const Params& params); + LLPanelBodyPartsListItem(LLViewerInventoryItem* item); + + /*virtual*/ void init(); }; @@ -224,19 +202,15 @@ protected: class LLPanelDummyClothingListItem : public LLPanelWearableListItem { public: - struct Params : public LLInitParam::Block - { - Optional add_panel; - Optional add_btn; - Params(); - }; static LLPanelDummyClothingListItem* create(LLWearableType::EType w_type); /*virtual*/ BOOL postBuild(); LLWearableType::EType getWearableType() const; protected: - LLPanelDummyClothingListItem(LLWearableType::EType w_type, const Params& params); + LLPanelDummyClothingListItem(LLWearableType::EType w_type); + + /*virtual*/ void init(); static std::string wearableTypeToString(LLWearableType::EType w_type); diff --git a/indra/newview/llwindebug.cpp b/indra/newview/llwindebug.cpp index 660245b02b..502fefd4ef 100644 --- a/indra/newview/llwindebug.cpp +++ b/indra/newview/llwindebug.cpp @@ -97,9 +97,6 @@ void LLWinDebug::init() // Load the dbghelp dll now, instead of waiting for the crash. // Less potential for stack mangling - // Don't install vectored exception handler if being debugged. - if(IsDebuggerPresent()) return; - if (s_first_run) { // First, try loading from the directory that the app resides in. @@ -138,42 +135,36 @@ void LLWinDebug::init() void LLWinDebug::writeDumpToFile(MINIDUMP_TYPE type, MINIDUMP_EXCEPTION_INFORMATION *ExInfop, const std::string& filename) { - // Temporary fix to switch out the code that writes the DMP file. - // Fix coming that doesn't write a mini dump file for regular C++ exceptions. - const bool enable_write_dump_file = false; - if ( enable_write_dump_file ) + if(f_mdwp == NULL || gDirUtilp == NULL) { - if(f_mdwp == NULL || gDirUtilp == NULL) - { - return; - } - else - { - std::string dump_path = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, filename); - - HANDLE hFile = CreateFileA(dump_path.c_str(), - GENERIC_WRITE, - FILE_SHARE_WRITE, - NULL, - CREATE_ALWAYS, - FILE_ATTRIBUTE_NORMAL, - NULL); + return; + } + else + { + std::string dump_path = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, filename); - if (hFile != INVALID_HANDLE_VALUE) - { - // Write the dump, ignoring the return value - f_mdwp(GetCurrentProcess(), - GetCurrentProcessId(), - hFile, - type, - ExInfop, - NULL, - NULL); - - CloseHandle(hFile); - } + HANDLE hFile = CreateFileA(dump_path.c_str(), + GENERIC_WRITE, + FILE_SHARE_WRITE, + NULL, + CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL, + NULL); + if (hFile != INVALID_HANDLE_VALUE) + { + // Write the dump, ignoring the return value + f_mdwp(GetCurrentProcess(), + GetCurrentProcessId(), + hFile, + type, + ExInfop, + NULL, + NULL); + + CloseHandle(hFile); } + } } diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index b578cb9f69..7d0f763bd1 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -7111,7 +7111,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) if (LLPipeline::sWaterReflections && assertInitialized() && LLDrawPoolWater::sNeedsReflectionUpdate) { BOOL skip_avatar_update = FALSE; - if (!isAgentAvatarValid() || gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK) + if (gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK) { skip_avatar_update = TRUE; } diff --git a/indra/newview/skins/default/xui/da/floater_publish_classified.xml b/indra/newview/skins/default/xui/da/floater_publish_classified.xml index 0f65e6c18a..220042f015 100644 --- a/indra/newview/skins/default/xui/da/floater_publish_classified.xml +++ b/indra/newview/skins/default/xui/da/floater_publish_classified.xml @@ -5,7 +5,7 @@ Husk, annonceomkostninger kan ikke refunderes. - + Mere info (link til hjælp om annoncer) diff --git a/indra/newview/skins/default/xui/da/menu_cof_clothing.xml b/indra/newview/skins/default/xui/da/menu_cof_clothing.xml index 16c225b7d9..73d97cd167 100644 --- a/indra/newview/skins/default/xui/da/menu_cof_clothing.xml +++ b/indra/newview/skins/default/xui/da/menu_cof_clothing.xml @@ -1,6 +1,7 @@ + + - diff --git a/indra/newview/skins/default/xui/da/menu_inventory.xml b/indra/newview/skins/default/xui/da/menu_inventory.xml index 96da784fe4..2eafeb3fcc 100644 --- a/indra/newview/skins/default/xui/da/menu_inventory.xml +++ b/indra/newview/skins/default/xui/da/menu_inventory.xml @@ -73,10 +73,11 @@ - + + diff --git a/indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml index 75ce7b22f6..e643498822 100644 --- a/indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml @@ -6,10 +6,9 @@ + - - diff --git a/indra/newview/skins/default/xui/da/menu_outfit_gear.xml b/indra/newview/skins/default/xui/da/menu_outfit_gear.xml index 8b4c776496..3ed0df9041 100644 --- a/indra/newview/skins/default/xui/da/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/da/menu_outfit_gear.xml @@ -1,7 +1,6 @@ - diff --git a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml index 00055c8932..6a84c518ee 100644 --- a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml @@ -1,7 +1,6 @@ - - + diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml index 163df5b8d2..5ae329033d 100644 --- a/indra/newview/skins/default/xui/da/notifications.xml +++ b/indra/newview/skins/default/xui/da/notifications.xml @@ -230,10 +230,6 @@ Er du sikker på at du vil fortsætte? Slet favorit <nolink>[PICK]</nolink>? - - Slet valgte sæt? - - Cache vil blive tømt ved næste genstart af [APP_NAME]. @@ -939,6 +935,11 @@ Henvis til dette fra en hjemmeside for at give andre nem adgang til denne lokati Uploader billeder fra verdenen og www... (Tager omkring 5 minutter.) + + Omkostninger ved at sende: L$[AMOUNT]. +Ønsker du at fortsætte? + + Du betalte L$[AMOUNT] for at uploade. @@ -1350,6 +1351,9 @@ Fra genstand: [OBJECTNAME], ejer: [NAME]? Det lykkedes ikke at finde [TYPE] med navnet [DESC] i databasen. + + Fejl ved afsendelse af billede til web. + Den genstand du prøver at tage på benytter en funktion din klient ikke kan forstå. Upgradér venligst din version af [APP_NAME] for at kunne tage denne genstand på. diff --git a/indra/newview/skins/default/xui/da/panel_outfit_edit.xml b/indra/newview/skins/default/xui/da/panel_outfit_edit.xml index 99ef3b5411..3890f07324 100644 --- a/indra/newview/skins/default/xui/da/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/da/panel_outfit_edit.xml @@ -34,16 +34,8 @@ - - + + + @@ -866,13 +873,8 @@ function="File.UploadBulk" parameter="" /> - - - + - Delete the selected outfit? + Delete the selected outfit/s? Load web page [URL]? @@ -5592,6 +5593,7 @@ Grant this request? [FIRST] [LAST]'s '[TITLE]' [MESSAGE] @@ -5606,6 +5608,7 @@ Grant this request? [GROUPNAME]'s '[TITLE]' [MESSAGE] diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml index 584ca8b3b5..d8675b3512 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml @@ -104,7 +104,6 @@ follows="top|left" font="SansSerif" left="10" - name="nearby_media_title" width="100"> Nearby Media @@ -115,7 +114,6 @@ font="SansSerif" top_pad="15" left="10" - name="show_text" width="40"> Show: diff --git a/indra/newview/skins/default/xui/en/panel_outfits_list.xml b/indra/newview/skins/default/xui/en/panel_outfits_list.xml index d18f0d57ca..b43aa0a824 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_list.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_list.xml @@ -14,9 +14,9 @@ background_visible="true" bg_alpha_color="DkGray2" bg_opaque_color="DkGray2" - no_matched_tabs_text.value="Didn't find what you're looking for? Try [secondlife:///app/search/all/[SEARCH_TERM] Search]." + no_matched_tabs_text.value="NoOutfitsTabsMatched" no_matched_tabs_text.v_pad="10" - no_visible_tabs_text.value="You don't have any outfits yet. Try [secondlife:///app/search/all/ Search]" + no_visible_tabs_text.value="NoOutfits" follows="all" height="400" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index b91acbe27d..0c31fda68b 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -1956,9 +1956,6 @@ Clears (deletes) the media and all params from the given face. Animations Gestures Favorites - - Favorites Current Outfit My Outfits Accessories @@ -2197,6 +2194,10 @@ Clears (deletes) the media and all params from the given face. The Resident you messaged is in 'busy mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing. + + You don't have any outfits yet. Try [secondlife:///app/search/all/ Search] + Didn't find what you're looking for? Try [secondlife:///app/search/all/[SEARCH_TERM] Search]. + (By name) (Resident) diff --git a/indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml b/indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml deleted file mode 100644 index c08267de82..0000000000 --- a/indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - diff --git a/indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml b/indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml deleted file mode 100644 index f7a05e9bc4..0000000000 --- a/indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - diff --git a/indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml deleted file mode 100644 index 88a4682e13..0000000000 --- a/indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - diff --git a/indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml deleted file mode 100644 index 80a877a6c2..0000000000 --- a/indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - diff --git a/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml b/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml index 0a5930c820..50be0ac1a1 100644 --- a/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml +++ b/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml @@ -1,13 +1,11 @@ + height="0" + layout="topleft" + left="0" + name="inventory_list_item" + top="0" + width="0"> - - diff --git a/indra/newview/skins/default/xui/es/floater_publish_classified.xml b/indra/newview/skins/default/xui/es/floater_publish_classified.xml index a1645f0c64..5eed89d522 100644 --- a/indra/newview/skins/default/xui/es/floater_publish_classified.xml +++ b/indra/newview/skins/default/xui/es/floater_publish_classified.xml @@ -5,7 +5,7 @@ Recuerda, no se reembolsarán las cantidades abonadas por clasificados. - + Más información (enlace a ayuda de clasificados) diff --git a/indra/newview/skins/default/xui/es/menu_cof_clothing.xml b/indra/newview/skins/default/xui/es/menu_cof_clothing.xml index 3c0c588284..4051f64e14 100644 --- a/indra/newview/skins/default/xui/es/menu_cof_clothing.xml +++ b/indra/newview/skins/default/xui/es/menu_cof_clothing.xml @@ -1,6 +1,7 @@ + + - diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml index 2937b0c4e3..8f606aef82 100644 --- a/indra/newview/skins/default/xui/es/menu_inventory.xml +++ b/indra/newview/skins/default/xui/es/menu_inventory.xml @@ -76,10 +76,11 @@ - + + diff --git a/indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml index 8c4488a285..80cf78c0b5 100644 --- a/indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml @@ -6,10 +6,9 @@ + - - diff --git a/indra/newview/skins/default/xui/es/menu_outfit_gear.xml b/indra/newview/skins/default/xui/es/menu_outfit_gear.xml index 3b11bceecf..39afa5e60b 100644 --- a/indra/newview/skins/default/xui/es/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/es/menu_outfit_gear.xml @@ -1,7 +1,6 @@ - diff --git a/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml index 5b3d7d8cb3..96fc3a1e68 100644 --- a/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml @@ -1,7 +1,6 @@ - - + diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index 88013df8f5..06422a252d 100644 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -355,10 +355,6 @@ No se reembolsan las cuotas pagadas. ¿Borrar el destacado <nolink>[PICK]</nolink>? - - ¿Eliminar el vestuario seleccionado? - - ¿Ir a la web de eventos de [SECOND_LIFE]? @@ -2046,6 +2042,11 @@ Publícala en una página web para que otros puedan acceder fácilmente a esta p Subiendo fotos del mundo y del sitio web... (tardará unos 5 minutos). + + La subida cuesta [AMOUNT] L$. +¿Quieres continuar? + + Has pagado [AMOUNT] LS por la subida. @@ -2465,6 +2466,9 @@ Del objeto: [OBJECTNAME]; propiedad de: [NAME]? Búsqueda fallida de [TYPE] de nombre [DESC] en la base de datos. + + Fallo al subir la imagen a la web. + El ítem que quieres vestirte tiene una característica que tu visor no puede leer. Por favor, actualiza tu versión de [APP_NAME] para ponerte este ítem. diff --git a/indra/newview/skins/default/xui/es/panel_outfit_edit.xml b/indra/newview/skins/default/xui/es/panel_outfit_edit.xml index f697539502..ca8b77b49f 100644 --- a/indra/newview/skins/default/xui/es/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/es/panel_outfit_edit.xml @@ -34,16 +34,8 @@ - - diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml index 0e12ff68c6..8b0d726e51 100644 --- a/indra/newview/skins/default/xui/fr/menu_inventory.xml +++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml @@ -76,10 +76,11 @@ - + + diff --git a/indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml index 73770dce5f..4cfdfd2614 100644 --- a/indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml @@ -6,10 +6,9 @@ + - - diff --git a/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml b/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml index 5db7f176b5..93730c6206 100644 --- a/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml @@ -1,7 +1,6 @@ - diff --git a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml index c477471a64..39e8ca2173 100644 --- a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml @@ -1,7 +1,6 @@ - - + diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index 59c978bb6b..b245c132bd 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -357,10 +357,6 @@ Voulez-vous vraiment continuer ? Supprimer la sélection <nolink>[PICK]</nolink> ? - - Supprimer la ou les tenues sélectionnées ? - - Aller à la page web de [SECOND_LIFE] réservée aux événements ? @@ -1350,7 +1346,7 @@ Télécharger vers le dossier Applications ? Consultez le Wiki sur l'Assurance Qualité de [SECOND_LIFE]. - + Pour signaler des bugs et autres problèmes, utilisez le JIRA de [SECOND_LIFE]. @@ -2036,6 +2032,11 @@ Liez-la à partir d'une page web pour permettre aux autres résidents d&apo Importation de photos SL et Web en cours... (prend environ 5 minutes.) + + Le chargement coûte [AMOUNT] L$. +Continuer ? + + Le chargement a coûté [AMOUNT] L$. @@ -2459,6 +2460,9 @@ Venant de l'objet : [OBJECTNAME], appartenant à : [NAME]? La recherche du [TYPE] nommé(e) [DESC] dans la base de données a échoué. + + Échec de chargement de l'image sur le Web. + L'objet que vous essayez de porter utilise une fonctionnalité que le client ne peut lire. Pour porter cet objet, veuillez télécharger une mise à jour de [APP_NAME]. @@ -2641,7 +2645,7 @@ Elles vont être bloquées pendant quelques secondes pour votre sécurité. Êtes-vous certain de vouloir fermer tous les IM ? - + L'élément joint a été sauvegardé. diff --git a/indra/newview/skins/default/xui/fr/panel_group_general.xml b/indra/newview/skins/default/xui/fr/panel_group_general.xml index a2655dcd45..ec6d995274 100644 --- a/indra/newview/skins/default/xui/fr/panel_group_general.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_general.xml @@ -48,7 +48,7 @@ Faites glisser le pointeur de la souris sur les options pour en savoir plus. - - Catégorie de contenu - + - Sélectionner une catégorie de contenu - diff --git a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml index a3d23b0e70..b17803eaad 100644 --- a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml @@ -34,16 +34,8 @@ - -