summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-07-19 17:22:12 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-07-19 17:22:12 -0700
commitd603085c0332f5d615cc6583e13ed0aa5ab21908 (patch)
treebac8d5e6b99643448579060d38a2e69fab65caf7
parent474457ea7ea1bd178682788426a4cf40c3fffdcd (diff)
parent4339600d43601f07d01c676cce5da17c2758c4cb (diff)
Merge with dessie/viewer-release
-rw-r--r--doc/contributions.txt1
-rw-r--r--indra/llcharacter/llkeyframemotion.cpp6
-rw-r--r--indra/llcommon/llqueuedthread.cpp5
-rw-r--r--indra/llui/llaccordionctrl.cpp6
-rw-r--r--indra/llui/llbutton.cpp1
-rw-r--r--indra/llui/llflatlistview.cpp32
-rw-r--r--indra/llui/llflatlistview.h12
-rw-r--r--indra/llui/llnotifications.cpp10
-rw-r--r--indra/llui/lltextbase.cpp56
-rw-r--r--indra/llui/lltextbase.h18
-rw-r--r--indra/llui/lltexteditor.cpp2
-rw-r--r--indra/llui/lluictrl.cpp7
-rw-r--r--indra/llui/lluictrlfactory.h2
-rw-r--r--indra/llui/lluistring.cpp13
-rw-r--r--indra/llui/llview.h7
-rw-r--r--indra/llui/llviewquery.cpp14
-rw-r--r--indra/llui/llviewquery.h2
-rw-r--r--indra/newview/CMakeLists.txt2
-rw-r--r--indra/newview/app_settings/settings.xml17
-rw-r--r--indra/newview/app_settings/static_data.db2bin0 -> 576578 bytes
-rw-r--r--indra/newview/app_settings/static_index.db2bin0 -> 9894 bytes
-rw-r--r--indra/newview/featuretable.txt7
-rw-r--r--indra/newview/llagent.cpp6
-rw-r--r--indra/newview/llagentcamera.cpp2
-rw-r--r--indra/newview/llagentwearablesfetch.cpp2
-rw-r--r--indra/newview/llappearancemgr.cpp104
-rw-r--r--indra/newview/llappearancemgr.h8
-rw-r--r--indra/newview/llavataractions.cpp24
-rw-r--r--indra/newview/llavatarlist.cpp2
-rw-r--r--indra/newview/llchiclet.cpp4
-rw-r--r--indra/newview/llcofwearables.cpp88
-rw-r--r--indra/newview/llcofwearables.h15
-rw-r--r--indra/newview/lldndbutton.cpp2
-rw-r--r--indra/newview/lldndbutton.h2
-rw-r--r--indra/newview/lldrawable.h16
-rw-r--r--indra/newview/llexpandabletextbox.cpp8
-rw-r--r--indra/newview/llface.h2
-rw-r--r--indra/newview/llfloaterland.cpp4
-rw-r--r--indra/newview/llfolderview.h1
-rw-r--r--indra/newview/llgesturemgr.cpp9
-rw-r--r--indra/newview/llimview.cpp8
-rw-r--r--indra/newview/llinspectobject.cpp3
-rw-r--r--indra/newview/llinventorybridge.cpp310
-rw-r--r--indra/newview/llinventorybridge.h6
-rw-r--r--indra/newview/llinventoryfunctions.cpp13
-rw-r--r--indra/newview/llinventoryfunctions.h36
-rw-r--r--indra/newview/llinventoryitemslist.cpp8
-rw-r--r--indra/newview/llinventorylistitem.cpp93
-rw-r--r--indra/newview/llinventorylistitem.h31
-rw-r--r--indra/newview/llinventorymodel.cpp22
-rw-r--r--indra/newview/lllocationinputctrl.cpp2
-rw-r--r--indra/newview/llnavigationbar.cpp29
-rw-r--r--indra/newview/llnavigationbar.h2
-rw-r--r--indra/newview/lloutfitslist.cpp36
-rw-r--r--indra/newview/llpanelclassified.cpp7
-rw-r--r--indra/newview/llpanelclassified.h2
-rw-r--r--indra/newview/llpaneleditwearable.cpp4
-rw-r--r--indra/newview/llpanelgenerictip.cpp6
-rw-r--r--indra/newview/llpanelmaininventory.cpp11
-rw-r--r--indra/newview/llpanelonlinestatus.cpp5
-rw-r--r--indra/newview/llpaneloutfitedit.cpp163
-rw-r--r--indra/newview/llpaneloutfitedit.h9
-rw-r--r--indra/newview/llparticipantlist.cpp2
-rw-r--r--indra/newview/llpreviewtexture.cpp6
-rw-r--r--indra/newview/llpreviewtexture.h8
-rw-r--r--indra/newview/llscreenchannel.cpp6
-rw-r--r--indra/newview/llscriptfloater.cpp27
-rw-r--r--indra/newview/llscriptfloater.h5
-rw-r--r--indra/newview/llsidetray.cpp14
-rw-r--r--indra/newview/llsidetray.h14
-rw-r--r--indra/newview/llspatialpartition.cpp1
-rw-r--r--indra/newview/llspatialpartition.h2
-rw-r--r--indra/newview/llsyswellwindow.cpp4
-rw-r--r--indra/newview/lltexturectrl.cpp4
-rw-r--r--indra/newview/lltoolpie.cpp9
-rw-r--r--indra/newview/llurllineeditorctrl.cpp5
-rw-r--r--indra/newview/llviewerinventory.cpp25
-rw-r--r--indra/newview/llviewerinventory.h9
-rw-r--r--indra/newview/llviewermessage.cpp2
-rw-r--r--indra/newview/llviewerobject.cpp26
-rw-r--r--indra/newview/llviewerstats.cpp8
-rw-r--r--indra/newview/llviewerstats.h55
-rw-r--r--indra/newview/llviewertexture.cpp71
-rw-r--r--indra/newview/llviewertexture.h13
-rw-r--r--indra/newview/llvoavatar.cpp39
-rw-r--r--indra/newview/llvoavatar.h3
-rw-r--r--indra/newview/llvoavatarself.cpp2
-rw-r--r--indra/newview/llvotree.cpp3
-rw-r--r--indra/newview/llwearableitemslist.cpp194
-rw-r--r--indra/newview/llwearableitemslist.h58
-rw-r--r--indra/newview/llwindebug.cpp61
-rw-r--r--indra/newview/pipeline.cpp19
-rw-r--r--indra/newview/pipeline.h2
-rw-r--r--indra/newview/skins/default/textures/icons/Edit_Wrench.pngbin724 -> 3713 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Hierarchy_View_On.pngbin183 -> 2839 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Shop.pngbin3104 -> 3052 bytes
-rw-r--r--indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.pngbin0 -> 231 bytes
-rw-r--r--indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.pngbin0 -> 218 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml4
-rw-r--r--indra/newview/skins/default/xui/da/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/da/menu_cof_clothing.xml3
-rw-r--r--indra/newview/skins/default/xui/da/menu_inventory.xml3
-rw-r--r--indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/da/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/da/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/da/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_item_info.xml10
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/da/strings.xml17
-rw-r--r--indra/newview/skins/default/xui/de/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_voice_effect.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_cof_clothing.xml1
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory.xml3
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/de/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/de/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/de/panel_edit_alpha.xml12
-rw-r--r--indra/newview/skins/default/xui/de/panel_edit_tattoo.xml6
-rw-r--r--indra/newview/skins/default/xui/de/panel_navigation_bar.xml4
-rw-r--r--indra/newview/skins/default/xui/de/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/de/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/de/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/de/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_appearance.xml2
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_item_info.xml18
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml17
-rw-r--r--indra/newview/skins/default/xui/en/floater_camera.xml15
-rw-r--r--indra/newview/skins/default/xui/en/floater_publish_classified.xml3
-rw-r--r--indra/newview/skins/default/xui/en/floater_tools.xml51
-rw-r--r--indra/newview/skins/default/xui/en/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/en/menu_inventory_add.xml9
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml16
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml5
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_classified.xml28
-rw-r--r--indra/newview/skins/default/xui/en/panel_navigation_bar.xml17
-rw-r--r--indra/newview/skins/default/xui/en/panel_nearby_media.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfit_edit.xml35
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfits_list.xml2
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml30
-rw-r--r--indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml73
-rw-r--r--indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml93
-rw-r--r--indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml43
-rw-r--r--indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml52
-rw-r--r--indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml35
-rw-r--r--indra/newview/skins/default/xui/es/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/es/menu_cof_clothing.xml3
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory.xml3
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/es/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/es/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/es/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/es/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/es/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/es/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/es/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/es/sidepanel_item_info.xml10
-rw-r--r--indra/newview/skins/default/xui/es/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml17
-rw-r--r--indra/newview/skins/default/xui/fr/floater_bulk_perms.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_pay.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_pay_object.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_snapshot.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/menu_bottomtray.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_cof_clothing.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/menu_gesture_gear.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inventory.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/menu_landmark.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/menu_picks_plus.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_place.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml18
-rw-r--r--indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_group_general.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_group_land_money.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_group_notices.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_me.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_picks.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_general.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_general.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/role_actions.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/sidepanel_item_info.xml18
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml17
-rw-r--r--indra/newview/skins/default/xui/it/floater_about_land.xml10
-rw-r--r--indra/newview/skins/default/xui/it/floater_buy_currency.xml6
-rw-r--r--indra/newview/skins/default/xui/it/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/it/menu_cof_clothing.xml3
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory.xml3
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/it/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/it/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/it/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/it/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/it/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/it/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/it/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/it/panel_people.xml2
-rw-r--r--indra/newview/skins/default/xui/it/sidepanel_item_info.xml10
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml17
-rw-r--r--indra/newview/skins/default/xui/ja/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/menu_cof_clothing.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/sidepanel_item_info.xml18
-rw-r--r--indra/newview/skins/default/xui/ja/strings.xml17
-rw-r--r--indra/newview/skins/default/xui/pl/floater_about.xml15
-rw-r--r--indra/newview/skins/default/xui/pl/floater_about_land.xml3
-rw-r--r--indra/newview/skins/default/xui/pl/floater_animation_preview.xml48
-rw-r--r--indra/newview/skins/default/xui/pl/floater_avatar_textures.xml72
-rw-r--r--indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/floater_camera.xml21
-rw-r--r--indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml43
-rw-r--r--indra/newview/skins/default/xui/pl/floater_god_tools.xml9
-rw-r--r--indra/newview/skins/default/xui/pl/floater_image_preview.xml20
-rw-r--r--indra/newview/skins/default/xui/pl/floater_incoming_call.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/floater_map.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/floater_moveview.xml36
-rw-r--r--indra/newview/skins/default/xui/pl/floater_outgoing_call.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/floater_preview_gesture.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/floater_preview_notecard.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/floater_snapshot.xml44
-rw-r--r--indra/newview/skins/default/xui/pl/floater_tools.xml15
-rw-r--r--indra/newview/skins/default/xui/pl/floater_tos.xml12
-rw-r--r--indra/newview/skins/default/xui/pl/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/floater_voice_effect.xml30
-rw-r--r--indra/newview/skins/default/xui/pl/inspect_object.xml11
-rw-r--r--indra/newview/skins/default/xui/pl/menu_attachment_other.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/menu_attachment_self.xml7
-rw-r--r--indra/newview/skins/default/xui/pl/menu_avatar_other.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/menu_avatar_self.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/menu_bottomtray.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/menu_cof_attachment.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/menu_cof_body_part.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/menu_cof_clothing.xml6
-rw-r--r--indra/newview/skins/default/xui/pl/menu_cof_gear.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/menu_edit.xml12
-rw-r--r--indra/newview/skins/default/xui/pl/menu_hide_navbar.xml1
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml3
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inventory.xml6
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/pl/menu_login.xml16
-rw-r--r--indra/newview/skins/default/xui/pl/menu_outfit_gear.xml27
-rw-r--r--indra/newview/skins/default/xui/pl/menu_outfit_tab.xml9
-rw-r--r--indra/newview/skins/default/xui/pl/menu_participant_list.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/menu_save_outfit.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/menu_script_chiclet.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/menu_topinfobar.xml7
-rw-r--r--indra/newview/skins/default/xui/pl/menu_viewer.xml36
-rw-r--r--indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml14
-rw-r--r--indra/newview/skins/default/xui/pl/menu_wearing_gear.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/menu_wearing_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/notifications.xml225
-rw-r--r--indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/panel_bottomtray.xml23
-rw-r--r--indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml9
-rw-r--r--indra/newview/skins/default/xui/pl/panel_cof_wearables.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml7
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_eyes.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_gloves.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_hair.xml14
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_jacket.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_pants.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_shape.xml41
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_shirt.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_shoes.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_skin.xml14
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_skirt.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_socks.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml1
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_underpants.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_wearable.xml13
-rw-r--r--indra/newview/skins/default/xui/pl/panel_group_general.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/panel_group_land_money.xml3
-rw-r--r--indra/newview/skins/default/xui/pl/panel_group_notices.xml1
-rw-r--r--indra/newview/skins/default/xui/pl/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/panel_inventory_item.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/panel_login.xml9
-rw-r--r--indra/newview/skins/default/xui/pl/panel_main_inventory.xml66
-rw-r--r--indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml9
-rw-r--r--indra/newview/skins/default/xui/pl/panel_nearby_media.xml26
-rw-r--r--indra/newview/skins/default/xui/pl/panel_outfit_edit.xml51
-rw-r--r--indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml15
-rw-r--r--indra/newview/skins/default/xui/pl/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/pl/panel_people.xml37
-rw-r--r--indra/newview/skins/default/xui/pl/panel_places.xml7
-rw-r--r--indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml5
-rw-r--r--indra/newview/skins/default/xui/pl/panel_preferences_chat.xml1
-rw-r--r--indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml4
-rw-r--r--indra/newview/skins/default/xui/pl/panel_status_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/pl/panel_voice_effect.xml15
-rw-r--r--indra/newview/skins/default/xui/pl/panel_world_map.xml6
-rw-r--r--indra/newview/skins/default/xui/pl/sidepanel_appearance.xml10
-rw-r--r--indra/newview/skins/default/xui/pl/sidepanel_inventory.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/sidepanel_item_info.xml14
-rw-r--r--indra/newview/skins/default/xui/pl/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/strings.xml273
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_gesture.xml22
-rw-r--r--indra/newview/skins/default/xui/pt/floater_publish_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_tools.xml44
-rw-r--r--indra/newview/skins/default/xui/pt/floater_voice_effect.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_world_map.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_cof_clothing.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/menu_outfit_gear.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/panel_landmark_info.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfit_edit.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfits_list.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/panel_place_profile.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/role_actions.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_item_info.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml17
350 files changed, 3656 insertions, 1437 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt
index 8c6bd5e0fe..c8125c675f 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -517,6 +517,7 @@ Ringo Tuxing
Robin Cornelius
SNOW-108
SNOW-204
+ SNOW-484
VWR-2488
VWR-9557
VWR-11128
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp
index f4dc3b927b..7bc9e97eb1 100644
--- a/indra/llcharacter/llkeyframemotion.cpp
+++ b/indra/llcharacter/llkeyframemotion.cpp
@@ -1248,6 +1248,12 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
return FALSE;
}
+ if(mJointMotionList->mEmoteName==mID.asString())
+ {
+ llwarns << "Malformed animation mEmoteName==mID" << llendl;
+ return FALSE;
+ }
+
//-------------------------------------------------------------------------
// get loop
//-------------------------------------------------------------------------
diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp
index 809a626c93..e0b56b7973 100644
--- a/indra/llcommon/llqueuedthread.cpp
+++ b/indra/llcommon/llqueuedthread.cpp
@@ -428,9 +428,11 @@ S32 LLQueuedThread::processNextRequest()
llassert_always(req->getStatus() == STATUS_QUEUED);
break;
}
+ U32 start_priority = 0 ;
if (req)
{
req->setStatus(STATUS_INPROGRESS);
+ start_priority = req->getPriority();
}
unlockData();
@@ -439,8 +441,7 @@ S32 LLQueuedThread::processNextRequest()
// safe to access req.
if (req)
{
- // process request
- U32 start_priority = req->getPriority();
+ // process request
bool complete = req->processRequest();
if (complete)
diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp
index 237d42090f..673631f99a 100644
--- a/indra/llui/llaccordionctrl.cpp
+++ b/indra/llui/llaccordionctrl.cpp
@@ -374,6 +374,12 @@ void LLAccordionCtrl::removeCollapsibleCtrl(LLView* view)
break;
}
}
+
+ // if removed is selected - reset selection
+ if (mSelectedTab == view)
+ {
+ mSelectedTab = NULL;
+ }
}
void LLAccordionCtrl::initNoTabsWidget(const LLTextBox::Params& tb_params)
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index 39e46a7ccb..aeedf62379 100644
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -1,3 +1,4 @@
+
/**
* @file llbutton.cpp
* @brief LLButton base class
diff --git a/indra/llui/llflatlistview.cpp b/indra/llui/llflatlistview.cpp
index b87851490d..3c79da64f9 100644
--- a/indra/llui/llflatlistview.cpp
+++ b/indra/llui/llflatlistview.cpp
@@ -157,7 +157,7 @@ bool LLFlatListView::insertItemAfter(LLPanel* after_item, LLPanel* item_to_add,
}
-bool LLFlatListView::removeItem(LLPanel* item)
+bool LLFlatListView::removeItem(LLPanel* item, bool rearrange)
{
if (!item) return false;
if (item->getParent() != mItemsPanel) return false;
@@ -165,22 +165,22 @@ bool LLFlatListView::removeItem(LLPanel* item)
item_pair_t* item_pair = getItemPair(item);
if (!item_pair) return false;
- return removeItemPair(item_pair);
+ return removeItemPair(item_pair, rearrange);
}
-bool LLFlatListView::removeItemByValue(const LLSD& value)
+bool LLFlatListView::removeItemByValue(const LLSD& value, bool rearrange)
{
if (value.isUndefined()) return false;
item_pair_t* item_pair = getItemPair(value);
if (!item_pair) return false;
- return removeItemPair(item_pair);
+ return removeItemPair(item_pair, rearrange);
}
-bool LLFlatListView::removeItemByUUID(const LLUUID& uuid)
+bool LLFlatListView::removeItemByUUID(const LLUUID& uuid, bool rearrange)
{
- return removeItemByValue(LLSD(uuid));
+ return removeItemByValue(LLSD(uuid), rearrange);
}
LLPanel* LLFlatListView::getItemByValue(const LLSD& value) const
@@ -327,6 +327,9 @@ U32 LLFlatListView::size(const bool only_visible_items) const
void LLFlatListView::clear()
{
+ // This will clear mSelectedItemPairs, calling all appropriate callbacks.
+ resetSelection();
+
// do not use LLView::deleteAllChildren to avoid removing nonvisible items. drag-n-drop for ex.
for (pairs_iterator_t it = mItemPairs.begin(); it != mItemPairs.end(); ++it)
{
@@ -335,7 +338,6 @@ void LLFlatListView::clear()
delete *it;
}
mItemPairs.clear();
- mSelectedItemPairs.clear();
// also set items panel height to zero. Reshape it to allow reshaping of non-item children
LLRect rc = mItemsPanel->getRect();
@@ -970,11 +972,12 @@ bool LLFlatListView::isSelected(item_pair_t* item_pair) const
return std::find(mSelectedItemPairs.begin(), it_end, item_pair) != it_end;
}
-bool LLFlatListView::removeItemPair(item_pair_t* item_pair)
+bool LLFlatListView::removeItemPair(item_pair_t* item_pair, bool rearrange)
{
llassert(item_pair);
bool deleted = false;
+ bool selection_changed = false;
for (pairs_iterator_t it = mItemPairs.begin(); it != mItemPairs.end(); ++it)
{
item_pair_t* _item_pair = *it;
@@ -994,6 +997,7 @@ bool LLFlatListView::removeItemPair(item_pair_t* item_pair)
if (selected_item_pair == item_pair)
{
it = mSelectedItemPairs.erase(it);
+ selection_changed = true;
break;
}
}
@@ -1002,8 +1006,16 @@ bool LLFlatListView::removeItemPair(item_pair_t* item_pair)
item_pair->first->die();
delete item_pair;
+ if (rearrange)
+ {
rearrangeItems();
notifyParentItemsRectChanged();
+ }
+
+ if (selection_changed && mCommitOnSelectionChange)
+ {
+ onCommit();
+ }
return true;
}
@@ -1067,6 +1079,7 @@ void LLFlatListView::setNoItemsCommentVisible(bool visible) const
mNoItemsCommentTextbox->setRect(comment_rect);
*/
}
+ mSelectedItemsBorder->setVisible(FALSE);
mNoItemsCommentTextbox->setVisible(visible);
}
}
@@ -1096,7 +1109,10 @@ void LLFlatListView::getValues(std::vector<LLSD>& values) const
// virtual
void LLFlatListView::onFocusReceived()
{
+ if (size())
+ {
mSelectedItemsBorder->setVisible(TRUE);
+ }
gEditMenuHandler = this;
}
// virtual
diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h
index ded46d8122..50d06fbc94 100644
--- a/indra/llui/llflatlistview.h
+++ b/indra/llui/llflatlistview.h
@@ -117,6 +117,9 @@ public:
Params();
};
+ // disable traversal when finding widget to hand focus off to
+ /*virtual*/ BOOL canFocusChildren() const { return FALSE; }
+
/**
* Connects callback to signal called when Return key is pressed.
*/
@@ -149,19 +152,19 @@ public:
* Remove specified item
* @return true if the item was removed, false otherwise
*/
- virtual bool removeItem(LLPanel* item);
+ virtual bool removeItem(LLPanel* item, bool rearrange = true);
/**
* Remove an item specified by value
* @return true if the item was removed, false otherwise
*/
- virtual bool removeItemByValue(const LLSD& value);
+ virtual bool removeItemByValue(const LLSD& value, bool rearrange = true);
/**
* Remove an item specified by uuid
* @return true if the item was removed, false otherwise
*/
- virtual bool removeItemByUUID(const LLUUID& uuid);
+ virtual bool removeItemByUUID(const LLUUID& uuid, bool rearrange = true);
/**
* Get an item by value
@@ -262,6 +265,7 @@ public:
void setAllowSelection(bool can_select) { mAllowSelection = can_select; }
/** Sets flag whether onCommit should be fired if selection was changed */
+ // FIXME: this should really be a separate signal, since "Commit" implies explicit user action, and selection changes can happen more indirectly.
void setCommitOnSelectionChange(bool b) { mCommitOnSelectionChange = b; }
/** Get number of selected items in the list */
@@ -349,7 +353,7 @@ protected:
virtual bool isSelected(item_pair_t* item_pair) const;
- virtual bool removeItemPair(item_pair_t* item_pair);
+ virtual bool removeItemPair(item_pair_t* item_pair, bool rearrange);
/**
* Notify parent about changed size of internal controls with "size_changes" action
diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp
index 1773a1e86a..75b92e47da 100644
--- a/indra/llui/llnotifications.cpp
+++ b/indra/llui/llnotifications.cpp
@@ -35,6 +35,7 @@
#include "llnotifications.h"
#include "llavatarnamecache.h"
+#include "llinstantmessage.h"
#include "llcachename.h"
#include "llxmlnode.h"
#include "lluictrl.h"
@@ -43,6 +44,7 @@
#include "llsdserialize.h"
#include "lltrans.h"
#include "llnotificationslistener.h"
+#include "llstring.h"
#include <algorithm>
#include <boost/regex.hpp>
@@ -1516,6 +1518,14 @@ void LLPostponedNotification::onAvatarNameCache(const LLUUID& agent_id,
const LLAvatarName& av_name)
{
std::string name = av_name.getCompleteName();
+
+ // from PE merge - we should figure out if this is the right thing to do
+ if (name.empty())
+ {
+ llwarns << "Empty name received for Id: " << agent_id << llendl;
+ name = SYSTEM_FROM;
+ }
+
finalizeName(name);
}
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index c62d699c7e..04efef606e 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -66,7 +66,10 @@ bool LLTextBase::compare_segment_end::operator()(const LLTextSegmentPtr& a, cons
{
return a->getStart() < b->getStart();
}
- return a->getEnd() < b->getEnd();
+ else
+ {
+ return a->getEnd() < b->getEnd();
+ }
}
@@ -174,7 +177,7 @@ LLTextBase::Params::Params()
LLTextBase::LLTextBase(const LLTextBase::Params &p)
: LLUICtrl(p, LLTextViewModelPtr(new LLTextViewModel)),
- mURLClickSignal(),
+ mURLClickSignal(NULL),
mMaxTextByteLength( p.max_text_length ),
mDefaultFont(p.font),
mFontShadow(p.font_shadow),
@@ -209,7 +212,8 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p)
mParseHTML(p.allow_html),
mParseHighlights(p.parse_highlights),
mBGVisible(p.bg_visible),
- mScroller(NULL)
+ mScroller(NULL),
+ mStyleDirty(true)
{
if(p.allow_scroll)
{
@@ -248,9 +252,8 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p)
LLTextBase::~LLTextBase()
{
- // Menu, like any other LLUICtrl, is deleted by its parent - gMenuHolder
-
mSegments.clear();
+ delete mURLClickSignal;
}
void LLTextBase::initFromParams(const LLTextBase::Params& p)
@@ -296,13 +299,18 @@ bool LLTextBase::truncate()
return did_truncate;
}
-LLStyle::Params LLTextBase::getDefaultStyleParams()
+const LLStyle::Params& LLTextBase::getDefaultStyleParams()
{
- return LLStyle::Params()
- .color(LLUIColor(&mFgColor))
- .readonly_color(LLUIColor(&mReadOnlyFgColor))
- .font(mDefaultFont)
- .drop_shadow(mFontShadow);
+ if (mStyleDirty)
+ {
+ mDefaultStyle
+ .color(LLUIColor(&mFgColor))
+ .readonly_color(LLUIColor(&mReadOnlyFgColor))
+ .font(mDefaultFont)
+ .drop_shadow(mFontShadow);
+ mStyleDirty = false;
+ }
+ return mDefaultStyle;
}
void LLTextBase::onValueChange(S32 start, S32 end)
@@ -861,11 +869,12 @@ BOOL LLTextBase::handleMouseUp(S32 x, S32 y, MASK mask)
if (cur_segment && cur_segment->handleMouseUp(x, y, mask))
{
// Did we just click on a link?
- if (cur_segment->getStyle()
+ if (mURLClickSignal
+ && cur_segment->getStyle()
&& cur_segment->getStyle()->isLink())
{
// *TODO: send URL here?
- mURLClickSignal(this, LLSD() );
+ (*mURLClickSignal)(this, LLSD() );
}
return TRUE;
}
@@ -1039,12 +1048,14 @@ void LLTextBase::draw()
void LLTextBase::setColor( const LLColor4& c )
{
mFgColor = c;
+ mStyleDirty = true;
}
//virtual
void LLTextBase::setReadOnlyColor(const LLColor4 &c)
{
mReadOnlyFgColor = c;
+ mStyleDirty = true;
}
//virtual
@@ -1488,12 +1499,22 @@ void LLTextBase::getSegmentAndOffset( S32 startpos, segment_set_t::iterator* seg
LLTextBase::segment_set_t::iterator LLTextBase::getSegIterContaining(S32 index)
{
+ if (index > getLength()) { return mSegments.end(); }
+
+ // when there are no segments, we return the end iterator, which must be checked by caller
+ if (mSegments.size() <= 1) { return mSegments.begin(); }
+
segment_set_t::iterator it = mSegments.upper_bound(new LLIndexSegment(index));
return it;
}
LLTextBase::segment_set_t::const_iterator LLTextBase::getSegIterContaining(S32 index) const
{
+ if (index > getLength()) { return mSegments.end(); }
+
+ // when there are no segments, we return the end iterator, which must be checked by caller
+ if (mSegments.size() <= 1) { return mSegments.begin(); }
+
LLTextBase::segment_set_t::const_iterator it = mSegments.upper_bound(new LLIndexSegment(index));
return it;
}
@@ -2346,6 +2367,15 @@ LLRect LLTextBase::getVisibleDocumentRect() const
}
}
+boost::signals2::connection LLTextBase::setURLClickedCallback(const commit_signal_t::slot_type& cb)
+{
+ if (!mURLClickSignal)
+ {
+ mURLClickSignal = new commit_signal_t();
+ }
+ return mURLClickSignal->connect(cb);
+}
+
//
// LLTextSegment
//
diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h
index 3608808c27..63451a2ae0 100644
--- a/indra/llui/lltextbase.h
+++ b/indra/llui/lltextbase.h
@@ -361,10 +361,7 @@ public:
virtual void appendLineBreakSegment(const LLStyle::Params& style_params);
virtual void appendImageSegment(const LLStyle::Params& style_params);
virtual void appendWidget(const LLInlineViewSegment::Params& params, const std::string& text, bool allow_undo);
-
-public:
- // Fired when a URL link is clicked
- commit_signal_t mURLClickSignal;
+ boost::signals2::connection setURLClickedCallback(const commit_signal_t::slot_type& cb);
protected:
// helper structs
@@ -457,7 +454,7 @@ protected:
void createDefaultSegment();
virtual void updateSegments();
void insertSegment(LLTextSegmentPtr segment_to_insert);
- LLStyle::Params getDefaultStyleParams();
+ const LLStyle::Params& getDefaultStyleParams();
// manage lines
S32 getLineStart( S32 line ) const;
@@ -501,6 +498,12 @@ protected:
LLRect mVisibleTextRect; // The rect in which text is drawn. Excludes borders.
LLRect mTextBoundingRect;
+ // default text style
+ LLStyle::Params mDefaultStyle;
+ bool mStyleDirty;
+ const LLFontGL* const mDefaultFont; // font that is used when none specified, can only be set by constructor
+ const LLFontGL::ShadowType mFontShadow; // shadow style, can only be set by constructor
+
// colors
LLUIColor mCursorColor;
LLUIColor mFgColor;
@@ -527,8 +530,6 @@ protected:
LLFontGL::VAlign mVAlign;
F32 mLineSpacingMult; // multiple of line height used as space for a single line of text (e.g. 1.5 to get 50% padding)
S32 mLineSpacingPixels; // padding between lines
- const LLFontGL* mDefaultFont; // font that is used when none specified
- LLFontGL::ShadowType mFontShadow;
bool mBorderVisible;
bool mParseHTML; // make URLs interactive
bool mParseHighlights; // highlight user-defined keywords
@@ -551,6 +552,9 @@ protected:
bool mScrollNeeded; // need to change scroll region because of change to cursor position
S32 mScrollIndex; // index of first character to keep visible in scroll region
+ // Fired when a URL link is clicked
+ commit_signal_t* mURLClickSignal;
+
};
#endif
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index c9474d66b7..130cda3784 100644
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -264,8 +264,6 @@ LLTextEditor::LLTextEditor(const LLTextEditor::Params& p) :
mContextMenu(NULL),
mShowContextMenu(p.show_context_menu)
{
- mDefaultFont = p.font;
-
mSourceID.generate();
//FIXME: use image?
diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp
index 3ade46d367..ff330f863a 100644
--- a/indra/llui/lluictrl.cpp
+++ b/indra/llui/lluictrl.cpp
@@ -675,7 +675,7 @@ BOOL LLUICtrl::getIsChrome() const
class CompareByDefaultTabGroup: public LLCompareByTabOrder
{
public:
- CompareByDefaultTabGroup(LLView::child_tab_order_t order, S32 default_tab_group):
+ CompareByDefaultTabGroup(const LLView::child_tab_order_t& order, S32 default_tab_group):
LLCompareByTabOrder(order),
mDefaultTabGroup(default_tab_group) {}
private:
@@ -699,13 +699,16 @@ class LLUICtrl::DefaultTabGroupFirstSorter : public LLQuerySorter, public LLSing
{
public:
/*virtual*/ void operator() (LLView * parent, viewList_t &children) const
- {
+ {
children.sort(CompareByDefaultTabGroup(parent->getCtrlOrder(), parent->getDefaultTabGroup()));
}
};
+LLFastTimer::DeclareTimer FTM_FOCUS_FIRST_ITEM("Focus First Item");
+
BOOL LLUICtrl::focusFirstItem(BOOL prefer_text_fields, BOOL focus_flash)
{
+ LLFastTimer _(FTM_FOCUS_FIRST_ITEM);
// try to select default tab group child
LLCtrlQuery query = getTabOrderQuery();
// sort things such that the default tab group is at the front
diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h
index c99acee48e..dc43b311a7 100644
--- a/indra/llui/lluictrlfactory.h
+++ b/indra/llui/lluictrlfactory.h
@@ -182,7 +182,7 @@ public:
void popFactoryFunctions();
template<typename T>
- static T* createWidget(typename T::Params& params, LLView* parent = NULL)
+ static T* createWidget(const typename T::Params& params, LLView* parent = NULL)
{
T* widget = NULL;
diff --git a/indra/llui/lluistring.cpp b/indra/llui/lluistring.cpp
index f7a53e87de..ac9e71665f 100644
--- a/indra/llui/lluistring.cpp
+++ b/indra/llui/lluistring.cpp
@@ -135,9 +135,16 @@ void LLUIString::updateResult() const
mResult = mOrig;
// get the defailt args + local args
- LLStringUtil::format_map_t combined_args = LLTrans::getDefaultArgs();
- combined_args.insert(mArgs.begin(), mArgs.end());
- LLStringUtil::format(mResult, combined_args);
+ if (mArgs.empty())
+ {
+ LLStringUtil::format(mResult, LLTrans::getDefaultArgs());
+ }
+ else
+ {
+ LLStringUtil::format_map_t combined_args = LLTrans::getDefaultArgs();
+ combined_args.insert(mArgs.begin(), mArgs.end());
+ LLStringUtil::format(mResult, combined_args);
+ }
}
void LLUIString::updateWResult() const
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index aba6c310f1..8e705ed701 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -265,7 +265,7 @@ public:
virtual BOOL postBuild() { return TRUE; }
- child_tab_order_t getCtrlOrder() const { return mCtrlOrder; }
+ const child_tab_order_t& getCtrlOrder() const { return mCtrlOrder; }
ctrl_list_t getCtrlList() const;
ctrl_list_t getCtrlListSorted() const;
@@ -620,12 +620,13 @@ public:
class LLCompareByTabOrder
{
public:
- LLCompareByTabOrder(LLView::child_tab_order_t order) : mTabOrder(order) {}
+ LLCompareByTabOrder(const LLView::child_tab_order_t& order) : mTabOrder(order) {}
virtual ~LLCompareByTabOrder() {}
bool operator() (const LLView* const a, const LLView* const b) const;
private:
virtual bool compareTabOrders(const LLView::tab_order_t & a, const LLView::tab_order_t & b) const { return a < b; }
- LLView::child_tab_order_t mTabOrder;
+ // ok to store a reference, as this should only be allocated on stack during view query operations
+ const LLView::child_tab_order_t& mTabOrder;
};
template <class T> T* LLView::getChild(const std::string& name, BOOL recurse) const
diff --git a/indra/llui/llviewquery.cpp b/indra/llui/llviewquery.cpp
index bdb3d223a6..1b44cc528e 100644
--- a/indra/llui/llviewquery.cpp
+++ b/indra/llui/llviewquery.cpp
@@ -95,8 +95,8 @@ viewList_t LLViewQuery::run(LLView* view) const
if (pre.first)
{
post = runFilters(view, filtered_children, mPostFilters);
+ }
}
- }
if(pre.first && post.first)
{
@@ -119,12 +119,12 @@ void LLViewQuery::filterChildren(LLView * view, viewList_t & filtered_children)
(*mSorterp)(view, views); // sort the children per the sorter
}
for(LLView::child_list_iter_t iter = views.begin();
- iter != views.end();
- iter++)
- {
- viewList_t indiv_children = this->run(*iter);
- filtered_children.insert(filtered_children.end(), indiv_children.begin(), indiv_children.end());
- }
+ iter != views.end();
+ iter++)
+ {
+ viewList_t indiv_children = this->run(*iter);
+ filtered_children.splice(filtered_children.end(), indiv_children);
+ }
}
filterResult_t LLViewQuery::runFilters(LLView * view, const viewList_t children, const filterList_t filters) const
diff --git a/indra/llui/llviewquery.h b/indra/llui/llviewquery.h
index 98d9bf8796..68af31933d 100644
--- a/indra/llui/llviewquery.h
+++ b/indra/llui/llviewquery.h
@@ -122,7 +122,7 @@ public:
viewList_t operator () (LLView * view) const { return run(view); }
// override this method to provide iteration over other types of children
- virtual void filterChildren(LLView * view, viewList_t & filtered_children) const;
+ virtual void filterChildren(LLView * view, viewList_t& filtered_children) const;
private:
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index fa6f8c69c4..b75bff507e 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1325,8 +1325,6 @@ set(viewer_APPSETTINGS_FILES
${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
)
-use_prebuilt_binary(artwork-common)
-
source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES})
set_source_files_properties(${viewer_APPSETTINGS_FILES}
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 1500d613e9..1f50f18516 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -4666,7 +4666,7 @@
<key>Type</key>
<string>String</string>
<key>Value</key>
- <string>https://www.xstreetsl.com/modules.php?name=Marketplace</string>
+ <string>http://marketplace.secondlife.com/</string>
</map>
<key>MarketplaceURL_objectFemale</key>
<map>
@@ -4721,7 +4721,7 @@
<key>Type</key>
<string>String</string>
<key>Value</key>
- <string>https://www.xstreetsl.com/modules.php?name=Marketplace</string>
+ <string>http://marketplace.secondlife.com</string>
</map>
<key>MarketplaceURL_bodypartMale</key>
<map>
@@ -4732,7 +4732,7 @@
<key>Type</key>
<string>String</string>
<key>Value</key>
- <string>https://www.xstreetsl.com/modules.php?name=Marketplace</string>
+ <string>http://marketplace.secondlife.com/</string>
</map>
<key>MarketplaceURL_glovesMale</key>
<map>
@@ -11901,5 +11901,16 @@
<key>Value</key>
<integer>1</integer>
</map>
+ <key>TipToastMessageLineCount</key>
+ <map>
+ <key>Comment</key>
+ <string>Max line count of text message on tip toast.</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>S32</string>
+ <key>Value</key>
+ <integer>10</integer>
+ </map>
</map>
</llsd>
diff --git a/indra/newview/app_settings/static_data.db2 b/indra/newview/app_settings/static_data.db2
new file mode 100644
index 0000000000..f85aa81601
--- /dev/null
+++ b/indra/newview/app_settings/static_data.db2
Binary files differ
diff --git a/indra/newview/app_settings/static_index.db2 b/indra/newview/app_settings/static_index.db2
new file mode 100644
index 0000000000..a5440f96f2
--- /dev/null
+++ b/indra/newview/app_settings/static_index.db2
Binary files differ
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index 1c763453dc..ccdb109d95 100644
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -1,4 +1,4 @@
-version 21
+version 22
// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
// Should be combined into one table
@@ -59,6 +59,7 @@ RenderTextureMemoryMultiple 1 1.0
RenderShaderLightingMaxLevel 1 3
SkyUseClassicClouds 1 1
WatchdogDisabled 1 1
+RenderUseStreamVBO 1 1
//
@@ -431,6 +432,10 @@ list ATIOldDriver
RenderAvatarVP 0 0
RenderAvatarCloth 0 0
+// ATI cards generally perform better when not using VBOs for streaming data
+
+list ATI
+RenderUseStreamVBO 1 0
/// Tweaked NVIDIA
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 345953f2e9..72d51540ef 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3234,6 +3234,9 @@ bool LLAgent::teleportCore(bool is_local)
// hide land floater too - it'll be out of date
LLFloaterReg::hideInstance("about_land");
+ // hide the search floater (EXT-8276)
+ LLFloaterReg::hideInstance("search");
+
LLViewerParcelMgr::getInstance()->deselectLand();
LLViewerMediaFocus::getInstance()->clearFocus();
@@ -3403,6 +3406,9 @@ 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/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index ec3c7452e5..1ef9e34f87 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2065,6 +2065,7 @@ void LLAgentCamera::changeCameraToMouselook(BOOL animate)
// Menus should not remain open on switching to mouselook...
LLMenuGL::sMenuContainer->hideMenus();
+ LLUI::clearPopups();
// unpause avatar animation
gAgent.unpauseAnimation();
@@ -2310,6 +2311,7 @@ void LLAgentCamera::changeCameraToCustomizeAvatar()
setAnimationDuration(turn_motion->getDuration() + CUSTOMIZE_AVATAR_CAMERA_ANIM_SLOP);
}
+ gAgentAvatarp->invalidateAll();
gAgentAvatarp->updateMeshTextures();
}
}
diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp
index 0a2f0e9399..d911d123f4 100644
--- a/indra/newview/llagentwearablesfetch.cpp
+++ b/indra/newview/llagentwearablesfetch.cpp
@@ -48,7 +48,7 @@ public:
virtual ~LLOrderMyOutfitsOnDestroy()
{
- if (LLApp::isExiting())
+ if (!LLApp::isRunning())
{
llwarns << "called during shutdown, skipping" << llendl;
return;
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 17efc28a6a..a7d90ab8d3 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -403,7 +403,10 @@ void LLWearableHoldingPattern::checkMissingWearables()
for (S32 type = 0; type < LLWearableType::WT_COUNT; ++type)
{
- llinfos << "type " << type << " requested " << requested_by_type[type] << " found " << found_by_type[type] << llendl;
+ if (requested_by_type[type] > found_by_type[type])
+ {
+ llwarns << "got fewer wearables than requested, type " << type << ": requested " << requested_by_type[type] << ", found " << found_by_type[type] << llendl;
+ }
if (found_by_type[type] > 0)
continue;
if (
@@ -670,12 +673,15 @@ bool LLWearableHoldingPattern::pollMissingWearables()
bool timed_out = isTimedOut();
bool missing_completed = isMissingCompleted();
bool done = timed_out || missing_completed;
-
- llinfos << "polling missing wearables, waiting for items " << mTypesToRecover.size()
- << " links " << mTypesToLink.size()
- << " wearables, timed out " << timed_out
- << " elapsed " << mWaitTime.getElapsedTimeF32()
- << " done " << done << llendl;
+
+ if (!done)
+ {
+ llinfos << "polling missing wearables, waiting for items " << mTypesToRecover.size()
+ << " links " << mTypesToLink.size()
+ << " wearables, timed out " << timed_out
+ << " elapsed " << mWaitTime.getElapsedTimeF32()
+ << " done " << done << llendl;
+ }
if (done)
{
@@ -795,12 +801,8 @@ void LLWearableHoldingPattern::onWearableAssetFetch(LLWearable *wearable)
}
mResolved += 1; // just counting callbacks, not successes.
- llinfos << "onWearableAssetFetch, resolved count " << mResolved << " of requested " << getFoundList().size() << llendl;
- if (wearable)
- {
- llinfos << "wearable found, type " << wearable->getType() << " asset " << wearable->getAssetID() << llendl;
- }
- else
+ llinfos << "resolved " << mResolved << "/" << getFoundList().size() << llendl;
+ if (!wearable)
{
llwarns << "no wearable found" << llendl;
}
@@ -830,10 +832,14 @@ void LLWearableHoldingPattern::onWearableAssetFetch(LLWearable *wearable)
LLFoundData& data = *iter;
if(wearable->getAssetID() == data.mAssetID)
{
- data.mWearable = wearable;
// Failing this means inventory or asset server are corrupted in a way we don't handle.
- llassert((data.mWearableType < LLWearableType::WT_COUNT) && (wearable->getType() == data.mWearableType));
- break;
+ if ((data.mWearableType >= LLWearableType::WT_COUNT) || (wearable->getType() != data.mWearableType))
+ {
+ llwarns << "recovered wearable but type invalid. inventory wearable type: " << data.mWearableType << " asset wearable type: " << wearable->getType() << llendl;
+ break;
+ }
+
+ data.mWearable = wearable;
}
}
}
@@ -945,7 +951,7 @@ const LLUUID LLAppearanceMgr::getBaseOutfitUUID()
return outfit_cat->getUUID();
}
-bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_update, bool replace)
+bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_update, bool replace, LLPointer<LLInventoryCallback> cb)
{
if (item_id_to_wear.isNull()) return false;
@@ -989,18 +995,17 @@ 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);
}
+ break;
case LLAssetType::AT_BODYPART:
// TODO: investigate wearables may not be loaded at this point EXT-8231
// Remove the existing wearables of the same type.
// Remove existing body parts anyway because we must not be able to wear e.g. two skins.
- if (item_to_wear->getType() == LLAssetType::AT_BODYPART)
- {
- removeCOFLinksOfType(item_to_wear->getWearableType(), false);
- }
+ removeCOFLinksOfType(item_to_wear->getWearableType(), false);
- addCOFItemLink(item_to_wear, do_update);
+ addCOFItemLink(item_to_wear, do_update, cb);
break;
case LLAssetType::AT_OBJECT:
rez_attachment(item_to_wear, NULL);
@@ -1636,7 +1641,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering)
// the saved outfit stored as a folder link
updateIsDirty();
- dumpCat(getCOF(),"COF, start");
+ //dumpCat(getCOF(),"COF, start");
bool follow_folder_links = true;
LLUUID current_outfit_id = getCOF();
@@ -1719,7 +1724,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering)
{
LLFoundData& found = *it;
- llinfos << "waiting for onWearableAssetFetch callback, asset " << found.mAssetID.asString() << llendl;
+ lldebugs << "waiting for onWearableAssetFetch callback, asset " << found.mAssetID.asString() << llendl;
// Fetch the wearables about to be worn.
LLWearableList::instance().getAsset(found.mAssetID,
@@ -1954,9 +1959,10 @@ bool areMatchingWearables(const LLViewerInventoryItem *a, const LLViewerInventor
class LLDeferredCOFLinkObserver: public LLInventoryObserver
{
public:
- LLDeferredCOFLinkObserver(const LLUUID& item_id, bool do_update):
+ LLDeferredCOFLinkObserver(const LLUUID& item_id, bool do_update, LLPointer<LLInventoryCallback> cb = NULL):
mItemID(item_id),
- mDoUpdate(do_update)
+ mDoUpdate(do_update),
+ mCallback(cb)
{
}
@@ -1970,7 +1976,7 @@ public:
if (item)
{
gInventory.removeObserver(this);
- LLAppearanceMgr::instance().addCOFItemLink(item,mDoUpdate);
+ LLAppearanceMgr::instance().addCOFItemLink(item,mDoUpdate,mCallback);
delete this;
}
}
@@ -1978,26 +1984,27 @@ public:
private:
const LLUUID mItemID;
bool mDoUpdate;
+ LLPointer<LLInventoryCallback> mCallback;
};
// BAP - note that this runs asynchronously if the item is not already loaded from inventory.
// Dangerous if caller assumes link will exist after calling the function.
-void LLAppearanceMgr::addCOFItemLink(const LLUUID &item_id, bool do_update )
+void LLAppearanceMgr::addCOFItemLink(const LLUUID &item_id, bool do_update, LLPointer<LLInventoryCallback> cb)
{
const LLInventoryItem *item = gInventory.getItem(item_id);
if (!item)
{
- LLDeferredCOFLinkObserver *observer = new LLDeferredCOFLinkObserver(item_id, do_update);
+ LLDeferredCOFLinkObserver *observer = new LLDeferredCOFLinkObserver(item_id, do_update, cb);
gInventory.addObserver(observer);
}
else
{
- addCOFItemLink(item, do_update);
+ addCOFItemLink(item, do_update, cb);
}
}
-void LLAppearanceMgr::addCOFItemLink(const LLInventoryItem *item, bool do_update )
+void LLAppearanceMgr::addCOFItemLink(const LLInventoryItem *item, bool do_update, LLPointer<LLInventoryCallback> cb)
{
const LLViewerInventoryItem *vitem = dynamic_cast<const LLViewerInventoryItem*>(item);
if (!vitem)
@@ -2058,7 +2065,10 @@ void LLAppearanceMgr::addCOFItemLink(const LLInventoryItem *item, bool do_update
}
else
{
- LLPointer<LLInventoryCallback> cb = do_update ? new ModifiedCOFCallback : 0;
+ if(do_update && cb.isNull())
+ {
+ cb = new ModifiedCOFCallback;
+ }
const std::string description = vitem->getIsLinkType() ? vitem->getDescription() : "";
link_inventory_item( gAgent.getID(),
vitem->getLinkedUUID(),
@@ -2169,17 +2179,19 @@ void LLAppearanceMgr::updateIsDirty()
}
else
{
+ LLIsOfAssetType collector = LLIsOfAssetType(LLAssetType::AT_LINK);
+
LLInventoryModel::cat_array_t cof_cats;
LLInventoryModel::item_array_t cof_items;
- gInventory.collectDescendents(cof, cof_cats, cof_items,
- LLInventoryModel::EXCLUDE_TRASH);
+ gInventory.collectDescendentsIf(cof, cof_cats, cof_items,
+ LLInventoryModel::EXCLUDE_TRASH, collector);
LLInventoryModel::cat_array_t outfit_cats;
LLInventoryModel::item_array_t outfit_items;
- gInventory.collectDescendents(base_outfit, outfit_cats, outfit_items,
- LLInventoryModel::EXCLUDE_TRASH);
+ gInventory.collectDescendentsIf(base_outfit, outfit_cats, outfit_items,
+ LLInventoryModel::EXCLUDE_TRASH, collector);
- if(outfit_items.count() != cof_items.count() -1)
+ if(outfit_items.count() != cof_items.count())
{
// Current outfit folder should have one more item than the outfit folder.
// this one item is the link back to the outfit folder itself.
@@ -2187,16 +2199,6 @@ 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);
@@ -2490,6 +2492,14 @@ void LLAppearanceMgr::removeItemFromAvatar(const LLUUID& id_to_remove)
}
default: break;
}
+
+ // *HACK: Force to remove garbage from COF.
+ // Unworn links or objects can't be processed by existed removing functionality
+ // since it is not designed for such cases. As example attachment object can't be removed
+ // since sever don't sends message _PREHASH_KillObject in that case.
+ // Also we can't check is link was successfully removed from COF since in case
+ // deleting attachment link removing performs asynchronously in process_kill_object callback.
+ removeCOFItemLinks(id_to_remove,false);
}
bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_body)
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index 8834f8c395..84c911c038 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -99,7 +99,7 @@ public:
const LLUUID getBaseOutfitUUID();
// Wear/attach an item (from a user's inventory) on the agent
- bool wearItemOnAvatar(const LLUUID& item_to_wear, bool do_update = true, bool replace = false);
+ bool wearItemOnAvatar(const LLUUID& item_to_wear, bool do_update = true, bool replace = false, LLPointer<LLInventoryCallback> cb = NULL);
// Update the displayed outfit name in UI.
void updatePanelOutfitName(const std::string& name);
@@ -124,8 +124,8 @@ public:
LLPointer<LLInventoryCallback> cb);
// Add COF link to individual item.
- void addCOFItemLink(const LLUUID& item_id, bool do_update = true);
- void addCOFItemLink(const LLInventoryItem *item, bool do_update = true);
+ void addCOFItemLink(const LLUUID& item_id, bool do_update = true, LLPointer<LLInventoryCallback> cb = NULL);
+ void addCOFItemLink(const LLInventoryItem *item, bool do_update = true, LLPointer<LLInventoryCallback> cb = NULL);
// Remove COF entries
void removeCOFItemLinks(const LLUUID& item_id, bool do_update = true);
@@ -175,6 +175,8 @@ public:
bool isOutfitLocked() { return mOutfitLocked; }
+ bool isInUpdateAppearanceFromCOF() { return mIsInUpdateAppearanceFromCOF; }
+
protected:
LLAppearanceMgr();
~LLAppearanceMgr();
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index d3345f0904..a6e1691ffa 100644
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -60,6 +60,7 @@
#include "llimview.h" // for gIMMgr
#include "llmutelist.h"
#include "llnotificationsutil.h" // for LLNotificationsUtil
+#include "llpaneloutfitedit.h"
#include "llrecentpeople.h"
#include "llsidetray.h"
#include "lltrans.h"
@@ -428,12 +429,28 @@ namespace action_give_inventory
typedef std::set<LLUUID> uuid_set_t;
/**
+ * Returns a pointer to 'Add More' inventory panel of Edit Outfit SP.
+ */
+ static LLInventoryPanel* get_outfit_editor_inventory_panel()
+ {
+ LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit"));
+ if (NULL == panel_outfit_edit) return NULL;
+
+ LLInventoryPanel* inventory_panel = panel_outfit_edit->findChild<LLInventoryPanel>("folder_view");
+ return inventory_panel;
+ }
+
+ /**
* Checks My Inventory visibility.
*/
static bool is_give_inventory_acceptable()
{
LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(FALSE);
- if (NULL == active_panel) return false;
+ if (!active_panel)
+ {
+ active_panel = get_outfit_editor_inventory_panel();
+ if (!active_panel) return false;
+ }
// check selection in the panel
const uuid_set_t inventory_selected_uuids = active_panel->getRootFolder()->getSelectionList();
@@ -613,9 +630,10 @@ namespace action_give_inventory
llassert(avatar_names.size() == avatar_uuids.size());
LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(FALSE);
- if (NULL == active_panel)
+ if (!active_panel)
{
- return;
+ active_panel = get_outfit_editor_inventory_panel();
+ if (!active_panel) return;
}
const uuid_set_t inventory_selected_uuids = active_panel->getRootFolder()->getSelectionList();
diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp
index c35e71cc71..9d14804b33 100644
--- a/indra/newview/llavatarlist.cpp
+++ b/indra/newview/llavatarlist.cpp
@@ -212,7 +212,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;
+ LLAvalineListItem* item = new LLAvalineListItem(/*hide_number=*/false);
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 6897f4ee8e..2826899cb0 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().onRemoveNotification(getSessionId());
+ LLScriptFloaterManager::instance().removeNotification(getSessionId());
}
}
@@ -1969,7 +1969,7 @@ void LLInvOfferChiclet::onMenuItemClicked(const LLSD& user_data)
if("end" == action)
{
- LLScriptFloaterManager::instance().onRemoveNotification(getSessionId());
+ LLScriptFloaterManager::instance().removeNotification(getSessionId());
}
}
diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp
index f278fb6a7b..86d9121213 100644
--- a/indra/newview/llcofwearables.cpp
+++ b/indra/newview/llcofwearables.cpp
@@ -79,9 +79,7 @@ protected:
}
// Set proper label for the "Create new <WEARABLE_TYPE>" menu item.
- LLStringUtil::format_map_t args;
- args["[WEARABLE_TYPE]"] = LLWearableType::getTypeDefaultNewName(w_type);
- std::string new_label = LLTrans::getString("CreateNewWearable", args);
+ std::string new_label = LLTrans::getString("create_new_" + LLWearableType::getTypeName(w_type));
menu_item->setLabel(new_label);
}
@@ -281,7 +279,12 @@ LLCOFWearables::LLCOFWearables() : LLPanel(),
mAttachments(NULL),
mClothing(NULL),
mBodyParts(NULL),
- mLastSelectedList(NULL)
+ mLastSelectedList(NULL),
+ mClothingTab(NULL),
+ mAttachmentsTab(NULL),
+ mBodyPartsTab(NULL),
+ mLastSelectedTab(NULL),
+ mCOFVersion(-1)
{
mClothingMenu = new CofClothingContextMenu(this);
mAttachmentMenu = new CofAttachmentContextMenu(this);
@@ -319,6 +322,20 @@ BOOL LLCOFWearables::postBuild()
mAttachments->setComparator(&WEARABLE_NAME_COMPARATOR);
mBodyParts->setComparator(&WEARABLE_NAME_COMPARATOR);
+
+ mClothingTab = getChild<LLAccordionCtrlTab>("tab_clothing");
+ mClothingTab->setDropDownStateChangedCallback(boost::bind(&LLCOFWearables::onAccordionTabStateChanged, this, _1, _2));
+
+ mAttachmentsTab = getChild<LLAccordionCtrlTab>("tab_attachments");
+ mAttachmentsTab->setDropDownStateChangedCallback(boost::bind(&LLCOFWearables::onAccordionTabStateChanged, this, _1, _2));
+
+ mBodyPartsTab = getChild<LLAccordionCtrlTab>("tab_body_parts");
+ mBodyPartsTab->setDropDownStateChangedCallback(boost::bind(&LLCOFWearables::onAccordionTabStateChanged, this, _1, _2));
+
+ mTab2AssetType[mClothingTab] = LLAssetType::AT_CLOTHING;
+ mTab2AssetType[mAttachmentsTab] = LLAssetType::AT_OBJECT;
+ mTab2AssetType[mBodyPartsTab] = LLAssetType::AT_BODYPART;
+
return LLPanel::postBuild();
}
@@ -338,8 +355,47 @@ void LLCOFWearables::onSelectionChange(LLFlatListView* selected_list)
onCommit();
}
+void LLCOFWearables::onAccordionTabStateChanged(LLUICtrl* ctrl, const LLSD& expanded)
+{
+ bool had_selected_items = mClothing->numSelected() || mAttachments->numSelected() || mBodyParts->numSelected();
+ mClothing->resetSelection(true);
+ mAttachments->resetSelection(true);
+ mBodyParts->resetSelection(true);
+
+ bool tab_selection_changed = false;
+ LLAccordionCtrlTab* tab = dynamic_cast<LLAccordionCtrlTab*>(ctrl);
+ if (tab && tab != mLastSelectedTab)
+ {
+ mLastSelectedTab = tab;
+ tab_selection_changed = true;
+ }
+
+ if (had_selected_items || tab_selection_changed)
+ {
+ //sending commit signal to indicate selection changes
+ onCommit();
+ }
+}
+
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<LLSD> values_vector_t;
typedef std::map<LLFlatListView*, values_vector_t> selection_map_t;
@@ -355,7 +411,7 @@ void LLCOFWearables::refresh()
LLInventoryModel::cat_array_t cats;
LLInventoryModel::item_array_t cof_items;
- gInventory.collectDescendents(LLAppearanceMgr::getInstance()->getCOF(), cats, cof_items, LLInventoryModel::EXCLUDE_TRASH);
+ gInventory.collectDescendents(cof_id, cats, cof_items, LLInventoryModel::EXCLUDE_TRASH);
populateAttachmentsAndBodypartsLists(cof_items);
@@ -463,7 +519,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->childSetVisible("wearable_type_separator_icon", last);
+ item_panel->setSeparatorVisible(last);
return item_panel;
}
@@ -596,25 +652,17 @@ LLAssetType::EType LLCOFWearables::getExpandedAccordionAssetType()
static type_map_t type_map;
static LLAccordionCtrl* accordion_ctrl = getChild<LLAccordionCtrl>("cof_wearables_accordion");
+ const LLAccordionCtrlTab* expanded_tab = accordion_ctrl->getExpandedTab();
- if (type_map.empty())
- {
- type_map["tab_clothing"] = LLAssetType::AT_CLOTHING;
- type_map["tab_attachments"] = LLAssetType::AT_OBJECT;
- type_map["tab_body_parts"] = LLAssetType::AT_BODYPART;
+ return get_if_there(mTab2AssetType, expanded_tab, LLAssetType::AT_NONE);
}
- const LLAccordionCtrlTab* tab = accordion_ctrl->getExpandedTab();
- LLAssetType::EType result = LLAssetType::AT_NONE;
-
- if (tab)
+LLAssetType::EType LLCOFWearables::getSelectedAccordionAssetType()
{
- type_map_t::iterator i = type_map.find(tab->getName());
- llassert(i != type_map.end());
- result = i->second;
- }
+ static LLAccordionCtrl* accordion_ctrl = getChild<LLAccordionCtrl>("cof_wearables_accordion");
+ const LLAccordionCtrlTab* selected_tab = accordion_ctrl->getSelectedTab();
- return result;
+ return get_if_there(mTab2AssetType, selected_tab, LLAssetType::AT_NONE);
}
void LLCOFWearables::onListRightClick(LLUICtrl* ctrl, S32 x, S32 y, LLListContextMenu* menu)
diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h
index 62f4cfc692..d005b75eaa 100644
--- a/indra/newview/llcofwearables.h
+++ b/indra/newview/llcofwearables.h
@@ -40,6 +40,7 @@
#include "llappearancemgr.h"
#include "llinventorymodel.h"
+class LLAccordionCtrlTab;
class LLListContextMenu;
class LLPanelClothingListItem;
class LLPanelBodyPartsListItem;
@@ -80,10 +81,12 @@ public:
LLPanel* getSelectedItem();
void getSelectedItems(std::vector<LLPanel*>& selected_items) const;
+ /* Repopulate the COF wearables list if the COF category has been changed since the last refresh */
void refresh();
void clear();
LLAssetType::EType getExpandedAccordionAssetType();
+ LLAssetType::EType getSelectedAccordionAssetType();
LLCOFCallbacks& getCOFCallbacks() { return mCOFCallbacks; }
@@ -94,6 +97,7 @@ protected:
void addClothingTypesDummies(const LLAppearanceMgr::wearables_by_type_t& clothing_by_type);
void onSelectionChange(LLFlatListView* selected_list);
+ void onAccordionTabStateChanged(LLUICtrl* ctrl, const LLSD& expanded);
LLPanelClothingListItem* buildClothingListItem(LLViewerInventoryItem* item, bool first, bool last);
LLPanelBodyPartsListItem* buildBodypartListItem(LLViewerInventoryItem* item);
@@ -107,11 +111,22 @@ protected:
LLFlatListView* mLastSelectedList;
+ LLAccordionCtrlTab* mClothingTab;
+ LLAccordionCtrlTab* mAttachmentsTab;
+ LLAccordionCtrlTab* mBodyPartsTab;
+
+ LLAccordionCtrlTab* mLastSelectedTab;
+
+ std::map<const LLAccordionCtrlTab*, LLAssetType::EType> mTab2AssetType;
+
LLCOFCallbacks mCOFCallbacks;
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 22f2bb1d16..4f4c7dead7 100644
--- a/indra/newview/lldndbutton.cpp
+++ b/indra/newview/lldndbutton.cpp
@@ -42,7 +42,7 @@ LLDragAndDropButton::Params::Params()
}
-LLDragAndDropButton::LLDragAndDropButton(Params& params)
+LLDragAndDropButton::LLDragAndDropButton(const Params& params)
: LLButton(params)
{
diff --git a/indra/newview/lldndbutton.h b/indra/newview/lldndbutton.h
index c888268187..433b3f7ff5 100644
--- a/indra/newview/lldndbutton.h
+++ b/indra/newview/lldndbutton.h
@@ -54,7 +54,7 @@ public:
Params();
};
- LLDragAndDropButton(Params& params);
+ LLDragAndDropButton(const Params& params);
typedef boost::function<bool (
S32 /*x*/, S32 /*y*/, MASK /*mask*/, BOOL /*drop*/,
diff --git a/indra/newview/lldrawable.h b/indra/newview/lldrawable.h
index b8b09b89f1..05ce8cbe57 100644
--- a/indra/newview/lldrawable.h
+++ b/indra/newview/lldrawable.h
@@ -314,8 +314,20 @@ private:
inline LLFace* LLDrawable::getFace(const S32 i) const
{
- llassert((U32)i < mFaces.size());
- llassert(mFaces[i]);
+ //switch these asserts to llerrs -- davep
+ //llassert((U32)i < mFaces.size());
+ //llassert(mFaces[i]);
+
+ if ((U32) i >= mFaces.size())
+ {
+ llerrs << "Invalid face index." << llendl;
+ }
+
+ if (!mFaces[i])
+ {
+ llerrs << "Null face found." << llendl;
+ }
+
return mFaces[i];
}
diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp
index 149ba2478d..92fda31cc2 100644
--- a/indra/newview/llexpandabletextbox.cpp
+++ b/indra/newview/llexpandabletextbox.cpp
@@ -140,7 +140,13 @@ void LLExpandableTextBox::LLTextBoxEx::setText(const LLStringExplicit& text,cons
// LLTextBox::setText will obliterate the expander segment, so make sure
// we generate it again by clearing mExpanderVisible
mExpanderVisible = false;
- LLTextEditor::setText(text, input_params);
+
+ // Workaround for EXT-8259: trim text before rendering it.
+ {
+ std::string trimmed_text(text);
+ LLStringUtil::trim(trimmed_text);
+ LLTextEditor::setText(trimmed_text, input_params);
+ }
// text contents have changed, segments are cleared out
// so hide the expander and determine if we need it
diff --git a/indra/newview/llface.h b/indra/newview/llface.h
index 67dd97e6f7..de533a6864 100644
--- a/indra/newview/llface.h
+++ b/indra/newview/llface.h
@@ -279,7 +279,7 @@ public:
{
bool operator()(const LLFace* const& lhs, const LLFace* const& rhs)
{
- return lhs->mDistance > rhs->mDistance; // farthest = first
+ return !lhs || (rhs && (lhs->mDistance > rhs->mDistance)); // farthest = first
}
};
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 6b797225ef..6cbd01ae1f 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -58,6 +58,7 @@
#include "llpanellandaudio.h"
#include "llpanellandmedia.h"
#include "llradiogroup.h"
+#include "llresmgr.h" // getMonetaryString
#include "llscrolllistctrl.h"
#include "llscrolllistitem.h"
#include "llscrolllistcell.h"
@@ -739,7 +740,8 @@ void LLPanelLandGeneral::refresh()
cost_per_sqm = (F32)parcel->getSalePrice() / (F32)area;
}
- mSaleInfoForSale1->setTextArg("[PRICE]", llformat("%d", parcel->getSalePrice()));
+ S32 price = parcel->getSalePrice();
+ mSaleInfoForSale1->setTextArg("[PRICE]", LLResMgr::getInstance()->getMonetaryString(price));
mSaleInfoForSale1->setTextArg("[PRICE_PER_SQM]", llformat("%.1f", cost_per_sqm));
if (can_be_sold)
{
diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h
index e3af29a4aa..42dc11846d 100644
--- a/indra/newview/llfolderview.h
+++ b/indra/newview/llfolderview.h
@@ -262,6 +262,7 @@ public:
BOOL needsAutoSelect() { return mNeedsAutoSelect && !mAutoSelectOverride; }
BOOL needsAutoRename() { return mNeedsAutoRename; }
void setNeedsAutoRename(BOOL val) { mNeedsAutoRename = val; }
+ void setAutoSelectOverride(BOOL val) { mAutoSelectOverride = val; }
void setCallbackRegistrar(LLUICtrl::CommitCallbackRegistry::ScopedRegistrar* registrar) { mCallbackRegistrar = registrar; }
diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp
index 6ffd534a53..160dd0b959 100644
--- a/indra/newview/llgesturemgr.cpp
+++ b/indra/newview/llgesturemgr.cpp
@@ -1174,12 +1174,11 @@ void LLGestureMgr::notifyObservers()
{
lldebugs << "LLGestureMgr::notifyObservers" << llendl;
- std::vector<LLGestureManagerObserver*> observers = mObservers;
-
- std::vector<LLGestureManagerObserver*>::iterator it;
- for (it = observers.begin(); it != observers.end(); ++it)
+ for(std::vector<LLGestureManagerObserver*>::iterator iter = mObservers.begin();
+ iter != mObservers.end();
+ ++iter)
{
- LLGestureManagerObserver* observer = *it;
+ LLGestureManagerObserver* observer = (*iter);
observer->changed();
}
}
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 8fbd8fc2aa..7c951e3556 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1031,6 +1031,14 @@ void LLIMModel::sendMessage(const std::string& utf8_text,
}
else
{
+ // IM_SESSION_INVITE means that this is an Ad-hoc incoming chat
+ // (it can be also Group chat but it is checked above)
+ // In this case mInitialTargetIDs contains Ad-hoc session ID and it should not be added
+ // to Recent People to prevent showing of an item with (???)(???). See EXT-8246.
+ // Concrete participants will be added into this list once they sent message in chat.
+ if (IM_SESSION_INVITE == dialog) return;
+
+ // implemented adding of all participants of an outgoing to Recent People List. See EXT-5694.
for(uuid_vec_t::iterator it = session->mInitialTargetIDs.begin();
it!=session->mInitialTargetIDs.end();++it)
{
diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp
index a2b5ffbac4..cb7b338e95 100644
--- a/indra/newview/llinspectobject.cpp
+++ b/indra/newview/llinspectobject.cpp
@@ -161,8 +161,7 @@ BOOL LLInspectObject::postBuild(void)
// Hide floater when name links clicked
LLTextBox* textbox = getChild<LLTextBox>("object_creator");
- textbox->mURLClickSignal.connect(
- boost::bind(&LLInspectObject::closeFloater, this, false) );
+ textbox->setURLClickedCallback(boost::bind(&LLInspectObject::closeFloater, this, false) );
// Hook up functionality
getChild<LLUICtrl>("buy_btn")->setCommitCallback(
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 6d798b8766..caea5e9a98 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -445,7 +445,8 @@ BOOL LLInvFVBridge::isClipboardPasteableAsLink() const
void hide_context_entries(LLMenuGL& menu,
const menuentry_vec_t &entries_to_show,
- const menuentry_vec_t &disabled_entries)
+ const menuentry_vec_t &disabled_entries,
+ BOOL append) // If append is TRUE, then new enabled entries
{
const LLView::child_list_t *list = menu.getChildList();
@@ -502,6 +503,10 @@ void hide_context_entries(LLMenuGL& menu,
// A bit of a hack so we can remember that some UI element explicitly set this to be visible
// so that some other UI element from multi-select doesn't later set this invisible.
menu_item->pushVisible(TRUE);
+ if (append)
+ {
+ menu_item->setEnabled(TRUE);
+ }
for (itor2 = disabled_entries.begin(); itor2 != disabled_entries.end(); ++itor2)
{
if (*itor2 == name)
@@ -1620,85 +1625,71 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const
BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
BOOL drop)
{
- // This should never happen, but if an inventory item is incorrectly parented,
- // the UI will get confused and pass in a NULL.
- if(!inv_cat) return FALSE;
LLInventoryModel* model = getInventoryModel();
- if(!model) return FALSE;
+ if (!inv_cat) return FALSE; // shouldn't happen, but in case item is incorrectly parented in which case inv_cat will be NULL
+ if (!model) return FALSE;
if (!isAgentAvatarValid()) return FALSE;
+ if (!isAgentInventory()) return FALSE; // cannot drag categories into library
- // cannot drag categories into library
- if(!isAgentInventory())
- {
- return FALSE;
- }
// check to make sure source is agent inventory, and is represented there.
LLToolDragAndDrop::ESource source = LLToolDragAndDrop::getInstance()->getSource();
- BOOL is_agent_inventory = (model->getCategory(inv_cat->getUUID()) != NULL)
+ const BOOL is_agent_inventory = (model->getCategory(inv_cat->getUUID()) != NULL)
&& (LLToolDragAndDrop::SOURCE_AGENT == source);
BOOL accept = FALSE;
- S32 i;
- LLInventoryModel::cat_array_t descendent_categories;
- LLInventoryModel::item_array_t descendent_items;
- if(is_agent_inventory)
+ if (is_agent_inventory)
{
- const LLUUID& cat_id = inv_cat->getUUID();
+ const LLUUID &cat_id = inv_cat->getUUID();
+ const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
+ const LLUUID &current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
+
+ const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
+ const BOOL move_is_into_outfit = getCategory() && (getCategory()->getPreferredType() == LLFolderType::FT_OUTFIT);
+ const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
- // Is the destination the trash?
- const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
- BOOL move_is_into_trash = (mUUID == trash_id)
- || model->isObjectDescendentOf(mUUID, trash_id);
- BOOL is_movable = (!LLFolderType::lookupIsProtectedType(inv_cat->getPreferredType()));
- const LLUUID current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
- BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
- BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
- if (move_is_into_current_outfit || move_is_into_outfit)
- {
- // BAP - restrictions?
- is_movable = true;
- }
+ //--------------------------------------------------------------------------------
+ // Determine if folder can be moved.
+ //
+ BOOL is_movable = TRUE;
+ if (LLFolderType::lookupIsProtectedType(inv_cat->getPreferredType()))
+ is_movable = FALSE;
+ if (move_is_into_outfit)
+ is_movable = FALSE;
if (mUUID == gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE))
+ is_movable = FALSE;
+ LLInventoryModel::cat_array_t descendent_categories;
+ LLInventoryModel::item_array_t descendent_items;
+ gInventory.collectDescendents(cat_id, descendent_categories, descendent_items, FALSE);
+ for (S32 i=0; i < descendent_categories.count(); ++i)
{
- is_movable = FALSE; // It's generally movable but not into Favorites folder. EXT-1604
+ LLInventoryCategory* category = descendent_categories[i];
+ if(LLFolderType::lookupIsProtectedType(category->getPreferredType()))
+ {
+ // Can't move "special folders" (e.g. Textures Folder).
+ is_movable = FALSE;
+ break;
+ }
}
-
- if( is_movable )
+ if (move_is_into_trash)
{
- gInventory.collectDescendents( cat_id, descendent_categories, descendent_items, FALSE );
-
- for( i = 0; i < descendent_categories.count(); i++ )
+ for (S32 i=0; i < descendent_items.count(); ++i)
{
- LLInventoryCategory* category = descendent_categories[i];
- if(LLFolderType::lookupIsProtectedType(category->getPreferredType()))
+ LLInventoryItem* item = descendent_items[i];
+ if (get_is_item_worn(item->getUUID()))
{
- // ...can't move "special folders" like Textures
is_movable = FALSE;
- break;
- }
- }
-
- if( is_movable )
- {
- if( move_is_into_trash )
- {
- for( i = 0; i < descendent_items.count(); i++ )
- {
- LLInventoryItem* item = descendent_items[i];
- if (get_is_item_worn(item->getUUID()))
- {
- is_movable = FALSE;
- break; // It's generally movable, but not into the trash!
- }
- }
+ break; // It's generally movable, but not into the trash.
}
}
}
+ //
+ //--------------------------------------------------------------------------------
+
accept = is_movable
&& (mUUID != cat_id) // Can't move a folder into itself
&& (mUUID != inv_cat->getParentUUID()) // Avoid moves that would change nothing
@@ -1708,7 +1699,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
// Look for any gestures and deactivate them
if (move_is_into_trash)
{
- for (i = 0; i < descendent_items.count(); i++)
+ for (S32 i=0; i < descendent_items.count(); i++)
{
LLInventoryItem* item = descendent_items[i];
if (item->getType() == LLAssetType::AT_GESTURE
@@ -2069,7 +2060,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)
mContentsCount)
{
gInventory.removeObserver(this);
- LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, TRUE);
+ LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, FALSE);
delete this;
}
}
@@ -2412,6 +2403,11 @@ void LLFolderBridge::folderOptionsMenu()
const LLInventoryCategory* category = model->getCategory(mUUID);
if(!category) return;
+ const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
+ if (trash_id == mUUID) return;
+ if (isItemInTrash()) return;
+ if (!isAgentInventory()) return;
+
LLFolderType::EType type = category->getPreferredType();
const bool is_system_folder = LLFolderType::lookupIsProtectedType(type);
// BAP change once we're no longer treating regular categories as ensembles.
@@ -2471,7 +2467,7 @@ void LLFolderBridge::folderOptionsMenu()
}
mItems.push_back(std::string("Outfit Separator"));
}
- hide_context_entries(*mMenu, mItems, disabled_items);
+ hide_context_entries(*mMenu, mItems, disabled_items, TRUE);
// Reposition the menu, in case we're adding items to an existing menu.
mMenu->needsArrange();
@@ -2595,33 +2591,6 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
mMenu = &menu;
sSelf = this;
-
-
- uuid_vec_t folders;
- LLViewerInventoryCategory* category = (LLViewerInventoryCategory*)model->getCategory(mUUID);
- if (category)
- {
- folders.push_back(category->getUUID());
- }
- LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(folders, FALSE);
- fetch->startFetch();
- inc_busy_count();
- if(fetch->isFinished())
- {
- // everything is already here - call done.
- fetch->done();
- }
- else
- {
- // it's all on it's way - add an observer, and the inventory
- // will call done for us when everything is here.
- gInventory.addObserver(fetch);
- }
- }
- else
- {
- mItems.push_back(std::string("--no options--"));
- mDisabledItems.push_back(std::string("--no options--"));
}
// Preemptively disable system folder removal if more than one item selected.
@@ -2636,7 +2605,34 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
mDisabledItems.push_back(std::string("Share"));
}
+ if (mItems.empty())
+ {
+ mItems.push_back(std::string("--no options--"));
+ mDisabledItems.push_back(std::string("--no options--"));
+ }
+
hide_context_entries(menu, mItems, mDisabledItems);
+
+ // Add menu items that are dependent on the contents of the folder.
+ uuid_vec_t folders;
+ LLViewerInventoryCategory* category = (LLViewerInventoryCategory*)model->getCategory(mUUID);
+ if (category)
+ {
+ folders.push_back(category->getUUID());
+ }
+ LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(folders, FALSE);
+ fetch->startFetch();
+ inc_busy_count();
+ if(fetch->isFinished())
+ {
+ // everything is already here - call done.
+ fetch->done();
+ }
+ else
+ {
+ // it's all on its way - add an observer, and the inventory will call done for us when everything is here.
+ gInventory.addObserver(fetch);
+ }
}
BOOL LLFolderBridge::hasChildren() const
@@ -2848,18 +2844,16 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response
return false;
}
+// This is used both for testing whether an item can be dropped
+// into the folder, as well as performing the actual drop, depending
+// if drop == TRUE.
BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
BOOL drop)
{
LLInventoryModel* model = getInventoryModel();
- if(!model || !inv_item) return FALSE;
-
- // cannot drag into library
- if(!isAgentInventory())
- {
- return FALSE;
- }
+ if(!model || !inv_item) return FALSE;
+ if(!isAgentInventory()) return FALSE; // cannot drag into library
if (!isAgentAvatarValid()) return FALSE;
LLToolDragAndDrop::ESource source = LLToolDragAndDrop::getInstance()->getSource();
@@ -2867,8 +2861,23 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
LLViewerObject* object = NULL;
if(LLToolDragAndDrop::SOURCE_AGENT == source)
{
+ const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
+ const LLUUID &current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
+ const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
+
+ const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
+ const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
+ const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+ const BOOL move_is_outof_current_outfit = LLAppearanceMgr::instance().getIsInCOF(inv_item->getUUID());
+ const BOOL folder_allows_reorder = (mUUID == favorites_id);
+
+ //--------------------------------------------------------------------------------
+ // Determine if item can be moved.
+ //
+
BOOL is_movable = TRUE;
- switch( inv_item->getActualType() )
+
+ switch (inv_item->getActualType())
{
case LLAssetType::AT_CATEGORY:
is_movable = !LLFolderType::lookupIsProtectedType(((LLInventoryCategory*)inv_item)->getPreferredType());
@@ -2876,41 +2885,50 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
default:
break;
}
-
- const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
- const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
- const LLUUID current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
- const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
- const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
- const BOOL move_is_outof_current_outfit = LLAppearanceMgr::instance().getIsInCOF(inv_item->getUUID());
-
// Can't explicitly drag things out of the COF.
if (move_is_outof_current_outfit)
{
is_movable = FALSE;
}
-
- if(is_movable && move_is_into_trash)
+ if (move_is_into_trash)
{
- is_movable = inv_item->getIsLinkType() || !get_is_item_worn(inv_item->getUUID());
+ is_movable &= inv_item->getIsLinkType() || !get_is_item_worn(inv_item->getUUID());
}
-
- if ( is_movable )
+ if (is_movable)
{
// Don't allow creating duplicates in the Calling Card/Friends
// subfolders, see bug EXT-1599. Check is item direct descendent
// of target folder and forbid item's movement if it so.
// Note: isItemDirectDescendentOfCategory checks if
// passed category is in the Calling Card/Friends folder
- is_movable = ! LLFriendCardsManager::instance()
- .isObjDirectDescendentOfCategory (inv_item, getCategory());
+ is_movable &= !LLFriendCardsManager::instance().isObjDirectDescendentOfCategory(inv_item, getCategory());
+ }
+
+ //
+ //--------------------------------------------------------------------------------
+
+ //--------------------------------------------------------------------------------
+ // Determine if item can be moved & dropped
+ //
+
+ accept = TRUE;
+
+ if (!is_movable)
+ accept = FALSE;
+ if ((mUUID == inv_item->getParentUUID()) && !folder_allows_reorder)
+ accept = FALSE;
+ if (move_is_into_current_outfit || move_is_into_outfit)
+ {
+ if ((inv_item->getInventoryType() != LLInventoryType::IT_WEARABLE) &&
+ (inv_item->getInventoryType() != LLInventoryType::IT_GESTURE) &&
+ (inv_item->getInventoryType() != LLInventoryType::IT_OBJECT))
+ accept = FALSE;
+ }
+ if (move_is_into_current_outfit && get_is_item_worn(inv_item->getUUID()))
+ {
+ accept = FALSE;
}
- const LLUUID& favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
- const BOOL folder_allows_reorder = (mUUID == favorites_id);
-
- // we can move item inside a folder only if this folder is Favorites. See EXT-719
- accept = is_movable && ((mUUID != inv_item->getParentUUID()) || folder_allows_reorder);
if(accept && drop)
{
if (inv_item->getType() == LLAssetType::AT_GESTURE
@@ -2918,10 +2936,8 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
{
LLGestureMgr::instance().deactivateGesture(inv_item->getUUID());
}
- // If an item is being dragged between windows, unselect
- // everything in the active window so that we don't follow
- // the selection to its new location (which is very
- // annoying).
+ // If an item is being dragged between windows, unselect everything in the active window
+ // so that we don't follow the selection to its new location (which is very annoying).
LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(FALSE);
if (active_panel)
{
@@ -2932,7 +2948,12 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
}
}
- // if dragging from/into favorites folder only reorder items
+ //--------------------------------------------------------------------------------
+ // Destination folder logic
+ //
+
+ // REORDER
+ // (only reorder the item)
if ((mUUID == inv_item->getParentUUID()) && folder_allows_reorder)
{
LLInventoryPanel* panel = dynamic_cast<LLInventoryPanel*>(mInventoryPanel.get());
@@ -2944,7 +2965,10 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
gInventory.rearrangeFavoriteLandmarks(srcItemId, destItemId);
}
}
- else if (favorites_id == mUUID) // if target is the favorites folder we use copy
+
+ // FAVORITES folder
+ // (copy the item)
+ else if (favorites_id == mUUID)
{
// use callback to rearrange favorite landmarks after adding
// to have new one placed before target (on which it was dropped). See EXT-4312.
@@ -2964,38 +2988,50 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
std::string(),
cb);
}
+ // CURRENT OUTFIT or OUTFIT folder
+ // (link the item)
else if (move_is_into_current_outfit || move_is_into_outfit)
{
- // BAP - should skip if dup.
- if (move_is_into_current_outfit)
- {
- LLAppearanceMgr::instance().addCOFItemLink(inv_item);
- }
- else
+ if ((inv_item->getInventoryType() == LLInventoryType::IT_WEARABLE) ||
+ (inv_item->getInventoryType() == LLInventoryType::IT_GESTURE) ||
+ (inv_item->getInventoryType() == LLInventoryType::IT_OBJECT))
{
- LLPointer<LLInventoryCallback> cb = NULL;
- link_inventory_item(
- gAgent.getID(),
- inv_item->getLinkedUUID(),
- mUUID,
- inv_item->getName(),
- inv_item->getDescription(),
- LLAssetType::AT_LINK,
- cb);
+ // BAP - should skip if dup.
+ if (move_is_into_current_outfit)
+ {
+ LLAppearanceMgr::instance().wearItemOnAvatar(inv_item->getUUID(), true, true);
+ }
+ else
+ {
+ LLPointer<LLInventoryCallback> cb = NULL;
+ link_inventory_item(
+ gAgent.getID(),
+ inv_item->getLinkedUUID(),
+ mUUID,
+ inv_item->getName(),
+ inv_item->getDescription(),
+ LLAssetType::AT_LINK,
+ cb);
+ }
}
}
+ // NORMAL or TRASH folder
+ // (move the item, restamp if into trash)
else
{
- // restamp if the move is into the trash.
LLInvFVBridge::changeItemParent(
model,
(LLViewerInventoryItem*)inv_item,
mUUID,
move_is_into_trash);
}
+
+ //
+ //--------------------------------------------------------------------------------
+
}
}
- else if(LLToolDragAndDrop::SOURCE_WORLD == source)
+ else if (LLToolDragAndDrop::SOURCE_WORLD == source)
{
// Make sure the object exists. If we allowed dragging from
// anonymous objects, it would be possible to bypass
@@ -3013,7 +3049,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
BOOL is_move = FALSE;
if((perm.allowCopyBy(gAgent.getID(), gAgent.getGroupID())
&& perm.allowTransferTo(gAgent.getID())))
-// || gAgent.isGodlike())
+ // || gAgent.isGodlike())
{
accept = TRUE;
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 97e87c2f3b..9dc50b542d 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -603,8 +603,12 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
void* user_data = NULL);
// Utility function to hide all entries except those in the list
+// Can be called multiple times on the same menu (e.g. if multiple items
+// are selected). If "append" is false, then only common enabled items
+// are set as enabled.
void hide_context_entries(LLMenuGL& menu,
const menuentry_vec_t &entries_to_show,
- const menuentry_vec_t &disabled_entries);
+ const menuentry_vec_t &disabled_entries,
+ BOOL append = FALSE);
#endif // LL_LLINVENTORYBRIDGE_H
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 2d11337955..f20acbd016 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -507,6 +507,19 @@ 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 1c3f82c531..4a7721098d 100644
--- a/indra/newview/llinventoryfunctions.h
+++ b/indra/newview/llinventoryfunctions.h
@@ -174,6 +174,25 @@ 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:
@@ -271,9 +290,7 @@ public:
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// Class LLFindNonLinksByMask
-//
-//
+// Class LLFindByMask
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class LLFindByMask : public LLInventoryCollectFunctor
{
@@ -382,6 +399,19 @@ 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 fbb3774917..e01f05c0f2 100644
--- a/indra/newview/llinventoryitemslist.cpp
+++ b/indra/newview/llinventoryitemslist.cpp
@@ -107,9 +107,12 @@ void LLInventoryItemsList::idle(void* user_data)
}
}
+LLFastTimer::DeclareTimer FTM_INVENTORY_ITEMS_REFRESH("Inventory List Refresh");
+
void LLInventoryItemsList::refresh()
{
- static const unsigned ADD_LIMIT = 50;
+ LLFastTimer _(FTM_INVENTORY_ITEMS_REFRESH);
+ static const unsigned ADD_LIMIT = 20;
uuid_vec_t added_items;
uuid_vec_t removed_items;
@@ -140,7 +143,8 @@ void LLInventoryItemsList::refresh()
it = removed_items.begin();
for( ; removed_items.end() != it; ++it)
{
- removeItemByUUID(*it);
+ // don't filter items right away
+ removeItemByUUID(*it, false);
}
// Filter, rearrange and notify parent about shape changes
diff --git a/indra/newview/llinventorylistitem.cpp b/indra/newview/llinventorylistitem.cpp
index c487aa10a7..e4a7a158a3 100644
--- a/indra/newview/llinventorylistitem.cpp
+++ b/indra/newview/llinventorylistitem.cpp
@@ -51,7 +51,12 @@ static const S32 WIDGET_SPACING = 3;
LLPanelInventoryListItemBase::Params::Params()
: default_style("default_style"),
- worn_style("worn_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")
{};
LLPanelInventoryListItemBase* LLPanelInventoryListItemBase::create(LLViewerInventoryItem* item)
@@ -59,8 +64,10 @@ LLPanelInventoryListItemBase* LLPanelInventoryListItemBase::create(LLViewerInven
LLPanelInventoryListItemBase* list_item = NULL;
if (item)
{
- list_item = new LLPanelInventoryListItemBase(item);
- list_item->init();
+ const LLPanelInventoryListItemBase::Params& params = LLUICtrlFactory::getDefaultParams<LLPanelInventoryListItemBase>();
+ list_item = new LLPanelInventoryListItemBase(item, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
}
return list_item;
}
@@ -76,6 +83,25 @@ 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();
}
@@ -134,9 +160,6 @@ void LLPanelInventoryListItemBase::setShowWidget(LLUICtrl* ctrl, bool show)
BOOL LLPanelInventoryListItemBase::postBuild()
{
- setIconCtrl(getChild<LLIconCtrl>("item_icon"));
- setTitleCtrl(getChild<LLTextBox>("item_name"));
-
LLViewerInventoryItem* inv_item = getItem();
if (inv_item)
{
@@ -156,18 +179,18 @@ void LLPanelInventoryListItemBase::setValue(const LLSD& value)
{
if (!value.isMap()) return;
if (!value.has("selected")) return;
- childSetVisible("selected_icon", value["selected"]);
+ mSelected = value["selected"];
}
void LLPanelInventoryListItemBase::onMouseEnter(S32 x, S32 y, MASK mask)
{
- childSetVisible("hovered_icon", true);
+ mHovered = true;
LLPanel::onMouseEnter(x, y, mask);
}
void LLPanelInventoryListItemBase::onMouseLeave(S32 x, S32 y, MASK mask)
{
- childSetVisible("hovered_icon", false);
+ mHovered = false;
LLPanel::onMouseLeave(x, y, mask);
}
@@ -244,21 +267,47 @@ S32 LLPanelInventoryListItemBase::notify(const LLSD& info)
return rv;
}
-LLPanelInventoryListItemBase::LLPanelInventoryListItemBase(LLViewerInventoryItem* item)
-: LLPanel()
-, mInventoryItemUUID(item ? item->getUUID() : LLUUID::null)
-, mIconCtrl(NULL)
-, mTitleCtrl(NULL)
-, mWidgetSpacing(WIDGET_SPACING)
-, mLeftWidgetsWidth(0)
-, mRightWidgetsWidth(0)
-, mNeedsRefresh(false)
+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)
{
-}
+ LLIconCtrl::Params icon_params(params.item_icon);
+ applyXUILayout(icon_params, this);
-void LLPanelInventoryListItemBase::init()
-{
- LLUICtrlFactory::getInstance()->buildPanel(this, "panel_inventory_item.xml");
+ mIconCtrl = LLUICtrlFactory::create<LLIconCtrl>(icon_params);
+ if (mIconCtrl)
+ {
+ addChild(mIconCtrl);
+ }
+ else
+ {
+ mIconCtrl = dynamic_cast<LLIconCtrl*>(LLUICtrlFactory::createDefaultWidget<LLIconCtrl>("item_icon"));
+ }
+
+ LLTextBox::Params text_params(params.item_name);
+ applyXUILayout(text_params, this);
+
+ mTitleCtrl = LLUICtrlFactory::create<LLTextBox>(text_params);
+ if (mTitleCtrl)
+ {
+ addChild(mTitleCtrl);
+ }
+ else
+ {
+ mTitleCtrl = dynamic_cast<LLTextBox*>(LLUICtrlFactory::createDefaultWidget<LLTextBox>("item_title"));
+ }
}
class WidgetVisibilityChanger
diff --git a/indra/newview/llinventorylistitem.h b/indra/newview/llinventorylistitem.h
index f29d92d51c..575f6aec19 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,6 +70,11 @@ public:
{
Optional<LLStyle::Params> default_style,
worn_style;
+ Optional<LLUIImage*> hover_image,
+ selected_image,
+ separator_image;
+ Optional<LLIconCtrl::Params> item_icon;
+ Optional<LLTextBox::Params> item_name;
Params();
};
@@ -149,30 +154,22 @@ public:
/** Get the associated inventory item */
LLViewerInventoryItem* getItem() const;
+ void setSeparatorVisible(bool visible) { mSeparatorVisible = visible; }
+
virtual ~LLPanelInventoryListItemBase(){}
protected:
- LLPanelInventoryListItemBase(LLViewerInventoryItem* item);
+ LLPanelInventoryListItemBase(LLViewerInventoryItem* item, const Params& params);
typedef std::vector<LLUICtrl*> 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; }
@@ -221,6 +218,14 @@ 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/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index b9e9f0fc0b..236ed9bbd1 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -1660,6 +1660,17 @@ bool LLInventoryModel::loadSkeleton(
}
}
+ // Invalidate all categories that failed fetching descendents for whatever
+ // reason (e.g. one of the descendents was a broken link).
+ for (cat_set_t::iterator invalid_cat_it = invalid_categories.begin();
+ invalid_cat_it != invalid_categories.end();
+ invalid_cat_it++)
+ {
+ LLViewerInventoryCategory* cat = (*invalid_cat_it).get();
+ cat->setVersion(NO_VERSION);
+ llinfos << "Invalidating category name: " << cat->getName() << " UUID: " << cat->getUUID() << " due to invalid descendents cache" << llendl;
+ }
+
// At this point, we need to set the known descendents for each
// category which successfully cached so that we do not
// needlessly fetch descendents for categories which we have.
@@ -1682,17 +1693,6 @@ bool LLInventoryModel::loadSkeleton(
}
}
- // Invalidate all categories that failed fetching descendents for whatever
- // reason (e.g. one of the descendents was a broken link).
- for (cat_set_t::iterator invalid_cat_it = invalid_categories.begin();
- invalid_cat_it != invalid_categories.end();
- invalid_cat_it++)
- {
- LLViewerInventoryCategory* cat = (*invalid_cat_it).get();
- cat->setVersion(NO_VERSION);
- llinfos << "Invalidating category name: " << cat->getName() << " UUID: " << cat->getUUID() << " due to invalid descendents cache" << llendl;
- }
-
if(remove_inventory_file)
{
// clean up the gunzipped file.
diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp
index b8590d838e..46ebb54786 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(slurl.getSLURLString());
+ mTextEntry->setText(LLURI::unescape(slurl.getSLURLString()));
mTextEntry->selectAll();
mMaturityButton->setVisible(FALSE);
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index fce666c9d4..67295179b2 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -776,7 +776,7 @@ void LLNavigationBar::showNavigationPanel(BOOL visible)
{
// Navigation Panel must be shown. Favorites Panel is hidden.
- S32 height = mDefaultNbRect.getHeight() - mDefaultFpRect.getHeight();
+ S32 height = mDefaultNbRect.getHeight() - mDefaultFpRect.getHeight() - FAVBAR_TOP_PADDING;
nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), height);
reshape(nbRect.getWidth(), nbRect.getHeight());
@@ -790,8 +790,11 @@ void LLNavigationBar::showNavigationPanel(BOOL visible)
{
// Navigation Panel must be hidden. Favorites Panel is visible.
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fbRect.getHeight());
- fbRect.setLeftTopAndSize(fbRect.mLeft, fbRect.getHeight(), fbRect.getWidth(), fbRect.getHeight());
+ S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING;
+ S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1;
+
+ nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight);
+ fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight());
// this is duplicated in 'else' section because it should be called BEFORE fb->reshape
reshape(nbRect.getWidth(), nbRect.getHeight());
@@ -813,8 +816,9 @@ void LLNavigationBar::showNavigationPanel(BOOL visible)
}
}
- childSetVisible("bg_icon", fpVisible);
- childSetVisible("bg_icon_no_fav", !fpVisible);
+ childSetVisible("bg_icon", visible && fpVisible);
+ childSetVisible("bg_icon_no_fav_bevel", visible && !fpVisible);
+ childSetVisible("bg_icon_no_nav_bevel", !visible && fpVisible);
}
void LLNavigationBar::showFavoritesPanel(BOOL visible)
@@ -833,7 +837,7 @@ void LLNavigationBar::showFavoritesPanel(BOOL visible)
// Favorites Panel must be shown. Navigation Panel is visible.
S32 fbHeight = fbRect.getHeight();
- S32 newHeight = nbRect.getHeight() + fbHeight;
+ S32 newHeight = nbRect.getHeight() + fbHeight + FAVBAR_TOP_PADDING;
nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight);
fbRect.setLeftTopAndSize(mDefaultFpRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight());
@@ -842,9 +846,11 @@ void LLNavigationBar::showFavoritesPanel(BOOL visible)
{
// Favorites Panel must be shown. Navigation Panel is hidden.
- S32 fpHeight = mDefaultFpRect.getHeight();
+ S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING;
+ S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1;
+
nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight);
- fbRect.setLeftTopAndSize(fbRect.mLeft, fpHeight, fbRect.getWidth(), fpHeight);
+ fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight());
}
reshape(nbRect.getWidth(), nbRect.getHeight());
@@ -861,7 +867,7 @@ void LLNavigationBar::showFavoritesPanel(BOOL visible)
// Favorites Panel must be hidden. Navigation Panel is visible.
S32 fbHeight = fbRect.getHeight();
- S32 newHeight = nbRect.getHeight() - fbHeight;
+ S32 newHeight = nbRect.getHeight() - fbHeight - FAVBAR_TOP_PADDING;
nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight);
}
@@ -877,8 +883,9 @@ void LLNavigationBar::showFavoritesPanel(BOOL visible)
getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
}
- childSetVisible("bg_icon", visible);
- childSetVisible("bg_icon_no_fav", !visible);
+ childSetVisible("bg_icon", npVisible && visible);
+ childSetVisible("bg_icon_no_fav_bevel", npVisible && !visible);
+ childSetVisible("bg_icon_no_nav_bevel", !npVisible && visible);
fb->setVisible(visible);
}
diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h
index 03f17af09b..d21d86456e 100644
--- a/indra/newview/llnavigationbar.h
+++ b/indra/newview/llnavigationbar.h
@@ -111,6 +111,8 @@ public:
int getDefFavBarHeight();
private:
+ // the distance between navigation panel and favorites panel in pixels
+ const static S32 FAVBAR_TOP_PADDING = 10;
void rebuildTeleportHistoryMenu();
void showTeleportHistoryMenu(LLUICtrl* btn_ctrl);
diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp
index dddfd9106f..63ffb80ff2 100644
--- a/indra/newview/lloutfitslist.cpp
+++ b/indra/newview/lloutfitslist.cpp
@@ -453,6 +453,12 @@ void LLOutfitsList::refreshList(const LLUUID& category_id)
{
// Remove accordion tab if category could not be added to observer.
mAccordion->removeCollapsibleCtrl(tab);
+
+ // kill removed tab
+ if (tab != NULL)
+ {
+ tab->die();
+ }
continue;
}
@@ -523,6 +529,12 @@ void LLOutfitsList::refreshList(const LLUUID& category_id)
// 4. Remove outfit tab from accordion.
mAccordion->removeCollapsibleCtrl(tab);
+
+ // kill removed tab
+ if (tab != NULL)
+ {
+ tab->die();
+ }
}
}
@@ -889,18 +901,6 @@ void LLOutfitsList::applyFilter(const std::string& new_filter_substring)
if (!new_filter_substring.empty())
{
applyFilterToTab(iter->first, tab, new_filter_substring);
-
- if (tab->getVisible())
- {
- // Open tab if it has passed the filter.
- tab->setDisplayChildren(true);
- }
- else
- {
- // Set force refresh flag to refresh not visible list
- // when some changes occur in it.
- list->setForceRefresh(true);
- }
}
else
{
@@ -953,6 +953,18 @@ void LLOutfitsList::applyFilterToTab(
// Try restoring the tab selection.
restoreOutfitSelection(tab, category_id);
}
+
+ if (tab->getVisible())
+ {
+ // Open tab if it has passed the filter.
+ tab->setDisplayChildren(true);
+ }
+ else
+ {
+ // Set force refresh flag to refresh not visible list
+ // when some changes occur in it.
+ list->setForceRefresh(true);
+ }
}
bool LLOutfitsList::canTakeOffSelected()
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index 70a7bf644b..7f027d299b 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -1792,6 +1792,7 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)
enableVerbs(is_new);
enableEditing(is_new);
+ showEditing(!is_new);
resetDirty();
setInfoLoaded(false);
}
@@ -2011,6 +2012,12 @@ void LLPanelClassifiedEdit::enableEditing(bool enable)
childSetEnabled("auto_renew", enable);
}
+void LLPanelClassifiedEdit::showEditing(bool show)
+{
+ childSetVisible("price_for_listing_label", show);
+ childSetVisible("price_for_listing", show);
+}
+
std::string LLPanelClassifiedEdit::makeClassifiedName()
{
std::string name;
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index 1157649a16..eaf652ca06 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -416,6 +416,8 @@ protected:
void enableEditing(bool enable);
+ void showEditing(bool show);
+
std::string makeClassifiedName();
void setPriceForListing(S32 price);
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 323a07a9ab..14f05bdb17 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -963,8 +963,7 @@ void LLPanelEditWearable::updatePanelPickerControls(LLWearableType::EType type)
for_each_picker_ctrl_entry <LLColorSwatchCtrl> (panel, type, boost::bind(update_color_swatch_ctrl, this, _1, _2));
for_each_picker_ctrl_entry <LLTextureCtrl> (panel, type, boost::bind(update_texture_ctrl, this, _1, _2));
}
-
- if (!is_modifiable || !is_copyable)
+ else
{
// Disable controls
for_each_picker_ctrl_entry <LLColorSwatchCtrl> (panel, type, boost::bind(set_enabled_color_swatch_ctrl, false, _1, _2));
@@ -1005,6 +1004,7 @@ void LLPanelEditWearable::revertChanges()
mWearablePtr->revertValues();
mNameEditor->setText(mWearablePtr->getName());
updatePanelPickerControls(mWearablePtr->getType());
+ updateTypeSpecificControls(mWearablePtr->getType());
gAgentAvatarp->wearableUpdated(mWearablePtr->getType(), FALSE);
}
diff --git a/indra/newview/llpanelgenerictip.cpp b/indra/newview/llpanelgenerictip.cpp
index e0658554a4..8ba2e6d01c 100644
--- a/indra/newview/llpanelgenerictip.cpp
+++ b/indra/newview/llpanelgenerictip.cpp
@@ -35,6 +35,7 @@
#include "llpanelgenerictip.h"
#include "llnotifications.h"
+#include "llviewercontrol.h" // for gSavedSettings
LLPanelGenericTip::LLPanelGenericTip(
@@ -45,7 +46,8 @@ LLPanelGenericTip::LLPanelGenericTip(
childSetValue("message", notification->getMessage());
- // set line max count to 3 in case of a very long name
- snapToMessageHeight(getChild<LLTextBox> ("message"), 3);
+
+ S32 max_line_count = gSavedSettings.getS32("TipToastMessageLineCount");
+ snapToMessageHeight(getChild<LLTextBox> ("message"), max_line_count);
}
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index 29ce3449d1..3e12f0ba9a 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -197,14 +197,15 @@ 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");
- childSetLabelArg("Upload Image", "[COST]", upload_cost);
- childSetLabelArg("Upload Sound", "[COST]", upload_cost);
- childSetLabelArg("Upload Animation", "[COST]", upload_cost);
- childSetLabelArg("Bulk Upload", "[COST]", upload_cost);
+ mMenuAdd->getChild<LLMenuItemGL>("Upload Image")->setLabelArg("[COST]", upload_cost);
+ mMenuAdd->getChild<LLMenuItemGL>("Upload Sound")->setLabelArg("[COST]", upload_cost);
+ mMenuAdd->getChild<LLMenuItemGL>("Upload Animation")->setLabelArg("[COST]", upload_cost);
+ mMenuAdd->getChild<LLMenuItemGL>("Bulk Upload")->setLabelArg("[COST]", upload_cost);
- initListCommandsHandlers();
return TRUE;
}
diff --git a/indra/newview/llpanelonlinestatus.cpp b/indra/newview/llpanelonlinestatus.cpp
index 6ba015b11c..b21fd7d385 100644
--- a/indra/newview/llpanelonlinestatus.cpp
+++ b/indra/newview/llpanelonlinestatus.cpp
@@ -34,6 +34,7 @@
#include "llnotifications.h"
#include "llpanelonlinestatus.h"
+#include "llviewercontrol.h" // for gSavedSettings
LLPanelOnlineStatus::LLPanelOnlineStatus(
const LLNotificationPtr& notification) :
@@ -54,7 +55,7 @@ LLPanelOnlineStatus::LLPanelOnlineStatus(
notification, notification->getResponseTemplate()));
}
- // set line max count to 3 in case of a very long name
- snapToMessageHeight(getChild<LLTextBox> ("message"), 3);
+ S32 max_line_count = gSavedSettings.getS32("TipToastMessageLineCount");
+ snapToMessageHeight(getChild<LLTextBox> ("message"), max_line_count);
}
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index 053c2d9498..937b794686 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -71,6 +71,7 @@
#include "llsdutil.h"
#include "llsidepanelappearance.h"
#include "lltoggleablemenu.h"
+#include "llvoavatarself.h"
#include "llwearablelist.h"
#include "llwearableitemslist.h"
#include "llwearabletype.h"
@@ -196,7 +197,7 @@ private:
LLMenuItemCallGL::Params p;
p.name = type_name;
- p.label = LLWearableType::getTypeDefaultNewName(type);
+ p.label = LLTrans::getString(LLWearableType::getTypeDefaultNewName(type));
p.on_click.function_name = "Wearable.Create";
p.on_click.parameter = LLSD(type_name);
@@ -263,7 +264,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::update, this));
+ observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::onCOFChanged, this));
gAgentWearables.addLoadingStartedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, true));
gAgentWearables.addLoadedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, false));
@@ -297,9 +298,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 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.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.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)));
@@ -331,6 +332,8 @@ 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));
+
mCOFWearables = getChild<LLCOFWearables>("cof_wearables_list");
mCOFWearables->setCommitCallback(boost::bind(&LLPanelOutfitEdit::filterWearablesBySelectedItem, this));
@@ -345,8 +348,8 @@ BOOL LLPanelOutfitEdit::postBuild()
mInventoryItemsPanel = getChild<LLInventoryPanel>("folder_view");
mInventoryItemsPanel->setFilterTypes(ALL_ITEMS_MASK);
mInventoryItemsPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
- mInventoryItemsPanel->setSelectCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this));
- mInventoryItemsPanel->getRootFolder()->setReshapeCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this));
+ mInventoryItemsPanel->setSelectCallback(boost::bind(&LLPanelOutfitEdit::updatePlusButton, this));
+ mInventoryItemsPanel->getRootFolder()->setReshapeCallback(boost::bind(&LLPanelOutfitEdit::updatePlusButton, this));
mCOFDragAndDropObserver = new LLCOFDragAndDropObserver(mInventoryItemsPanel->getModel());
@@ -386,7 +389,7 @@ BOOL LLPanelOutfitEdit::postBuild()
mWearablesListViewPanel = getChild<LLPanel>("filtered_wearables_panel");
mWearableItemsList = getChild<LLInventoryItemsList>("list_view");
mWearableItemsList->setCommitOnSelectionChange(true);
- mWearableItemsList->setCommitCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this));
+ mWearableItemsList->setCommitCallback(boost::bind(&LLPanelOutfitEdit::updatePlusButton, this));
mWearableItemsList->setDoubleClickCallback(boost::bind(&LLPanelOutfitEdit::onPlusBtnClicked, this));
mSaveComboBtn.reset(new LLSaveOutfitComboBtn(this));
@@ -405,10 +408,6 @@ void LLPanelOutfitEdit::onOpen(const LLSD& key)
displayCurrentOutfit();
mInitialized = true;
}
-
- showAddWearablesPanel(false);
- mWearableItemsList->resetSelection();
- mInventoryItemsPanel->clearSelection();
}
void LLPanelOutfitEdit::moveWearable(bool closer_to_body)
@@ -444,6 +443,9 @@ void LLPanelOutfitEdit::showAddWearablesPanel(bool show_add_wearables)
mListViewFilterCmbBox->setVisible(false);
showWearablesFilter();
+
+ // Reset mWearableItemsList position to top. See EXT-8180.
+ mWearableItemsList->goToTop();
}
//switching button bars
@@ -569,13 +571,32 @@ void LLPanelOutfitEdit::onSearchEdit(const std::string& string)
void LLPanelOutfitEdit::onPlusBtnClicked(void)
{
- LLUUID selected_id;
- getCurrentItemUUID(selected_id);
+ uuid_vec_t selected_items;
+ getSelectedItemsUUID(selected_items);
- if (selected_id.isNull()) return;
+ LLPointer<LLInventoryCallback> link_waiter = new LLUpdateAppearanceOnDestroy;
+
+ for(uuid_vec_t::iterator iter = selected_items.begin(); iter != selected_items.end(); iter++)
+ {
+ LLUUID selected_id = *iter;
+ if (!selected_id.isNull())
+ {
+ //replacing instead of adding the item
+ LLAppearanceMgr::getInstance()->wearItemOnAvatar(selected_id, false, true, link_waiter);
+ }
+ }
+}
+
+void LLPanelOutfitEdit::onVisibilityChange(const LLSD &in_visible_chain)
+{
+ showAddWearablesPanel(false);
+ mWearableItemsList->resetSelection();
+ mInventoryItemsPanel->clearSelection();
- //replacing instead of adding the item
- LLAppearanceMgr::getInstance()->wearItemOnAvatar(selected_id, true, true);
+ if (in_visible_chain.asBoolean())
+ {
+ update();
+ }
}
void LLPanelOutfitEdit::onAddWearableClicked(void)
@@ -602,15 +623,52 @@ 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<LLPanel*> selected_items;
- mCOFWearables->getSelectedItems(selected_items);
+ LLWearableType::EType type = LLWearableType::WT_NONE;
- ESex sex = gSavedSettings.getU32("AvatarSex") ? SEX_MALE : SEX_FEMALE;
+ mCOFWearables->getSelectedItems(selected_items);
if (selected_items.size() == 1)
{
- LLWearableType::EType type = LLWearableType::WT_NONE;
LLPanel* item = selected_items.front();
// LLPanelDummyClothingListItem is lower then LLPanelInventoryListItemBase in hierarchy tree
@@ -622,20 +680,45 @@ void LLPanelOutfitEdit::onShopButtonClicked()
{
type = real_item->getWearableType();
}
+ }
- // WT_INVALID comes for attachments
- if (type != LLWearableType::WT_INVALID)
+ return type;
+}
+
+LLWearableType::EType LLPanelOutfitEdit::getAddMorePanelSelectionType() const
+{
+ LLWearableType::EType type = LLWearableType::WT_NONE;
+
+ if (mAddWearablesPanel != NULL && mAddWearablesPanel->getVisible())
+ {
+ if (mInventoryItemsPanel != NULL && mInventoryItemsPanel->getVisible())
{
- url = url_resolver.resolveURL(type, sex);
+ std::set<LLUUID> selected_uuids = mInventoryItemsPanel->getRootFolder()->getSelectionList();
+
+ if (selected_uuids.size() == 1)
+ {
+ type = getWearableTypeByItemUUID(*(selected_uuids.begin()));
+ }
}
- }
+ else if (mWearableItemsList != NULL && mWearableItemsList->getVisible())
+ {
+ std::vector<LLUUID> selected_uuids;
+ mWearableItemsList->getSelectedUUIDs(selected_uuids);
- if (url.empty())
- {
- url = url_resolver.resolveURL(mCOFWearables->getExpandedAccordionAssetType(), sex);
+ if (selected_uuids.size() == 1)
+ {
+ type = getWearableTypeByItemUUID(selected_uuids.front());
+ }
+ }
}
- LLWeb::loadURLExternal(url);
+ return type;
+}
+
+LLWearableType::EType LLPanelOutfitEdit::getWearableTypeByItemUUID(const LLUUID& item_uuid) const
+{
+ LLViewerInventoryItem* item = gInventory.getLinkedItem(item_uuid);
+ return (item != NULL) ? item->getWearableType() : LLWearableType::WT_NONE;
}
void LLPanelOutfitEdit::onRemoveFromOutfitClicked(void)
@@ -655,7 +738,7 @@ void LLPanelOutfitEdit::onEditWearableClicked(void)
}
}
-void LLPanelOutfitEdit::onInventorySelectionChange()
+void LLPanelOutfitEdit::updatePlusButton()
{
uuid_vec_t selected_items;
getSelectedItemsUUID(selected_items);
@@ -726,12 +809,19 @@ void LLPanelOutfitEdit::filterWearablesBySelectedItem(void)
bool more_than_one_selected = ids.size() > 1;
bool is_dummy_item = (ids.size() && dynamic_cast<LLPanelDummyClothingListItem*>(mCOFWearables->getSelectedItem()));
- //expanded accordion tab determines filtering when no item is selected
+ //selected and expanded accordion tabs determine filtering when no item is selected
if (nothing_selected)
{
showWearablesListView();
- switch (mCOFWearables->getExpandedAccordionAssetType())
+ //selected accordion tab is more priority than expanded tab when determining filtering
+ LLAssetType::EType type = mCOFWearables->getSelectedAccordionAssetType();
+ if (type == LLAssetType::AT_NONE)
+ {
+ type = mCOFWearables->getExpandedAccordionAssetType();
+ }
+
+ switch (type)
{
case LLAssetType::AT_OBJECT:
applyListViewFilter(LVIT_ATTACHMENT);
@@ -891,6 +981,9 @@ 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)
@@ -992,5 +1085,13 @@ 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 de1bf87fb3..770e2a229b 100644
--- a/indra/newview/llpaneloutfitedit.h
+++ b/indra/newview/llpaneloutfitedit.h
@@ -145,9 +145,11 @@ public:
void onFolderViewFilterCommitted(LLUICtrl* ctrl);
void onListViewFilterCommitted(LLUICtrl* ctrl);
void onSearchEdit(const std::string& string);
- void onInventorySelectionChange();
+ void updatePlusButton();
void onPlusBtnClicked(void);
+ void onVisibilityChange(const LLSD &in_visible_chain);
+
void applyFolderViewFilter(EFolderViewItemType type);
void applyListViewFilter(EListViewItemType type);
@@ -194,6 +196,11 @@ 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 a39dc6cef9..17934afab4 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -597,7 +597,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() ? display_name : LLTrans::getString("AvatarNameWaiting"));
+ mAvatarList->addAvalineItem(avatar_id, mSpeakerMgr->getSessionID(), display_name.empty() ? LLTrans::getString("AvatarNameWaiting") : display_name);
mAvalineUpdater->watchAvalineCaller(avatar_id);
}
adjustParticipant(avatar_id);
diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index bf18c9e5e7..c4cbbbb791 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -75,7 +75,8 @@ LLPreviewTexture::LLPreviewTexture(const LLSD& key)
mLastWidth(0),
mAspectRatio(0.f),
mPreviewToSave(FALSE),
- mImage(NULL)
+ mImage(NULL),
+ mImageOldBoostLevel(LLViewerTexture::BOOST_NONE)
{
updateImageID();
if (key.has("save_as"))
@@ -93,7 +94,7 @@ LLPreviewTexture::~LLPreviewTexture()
{
getWindow()->decBusyCount();
}
-
+ mImage->setBoostLevel(mImageOldBoostLevel);
mImage = NULL;
}
@@ -543,6 +544,7 @@ 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 0f29a741c1..cbdb057781 100644
--- a/indra/newview/llpreviewtexture.h
+++ b/indra/newview/llpreviewtexture.h
@@ -82,9 +82,10 @@ private:
void updateDimensions();
LLUUID mImageID;
LLPointer<LLViewerFetchedTexture> mImage;
- BOOL mLoadingFullImage;
+ S32 mImageOldBoostLevel;
std::string mSaveFileName;
LLFrameTimer mSavedFileTimer;
+ BOOL mLoadingFullImage;
BOOL mShowKeepDiscard;
BOOL mCopyToInv;
@@ -94,11 +95,10 @@ 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;
- BOOL mUpdateDimensions;
+ F32 mAspectRatio;
LLLoadedCallbackEntry::source_callback_list_t mCallbackTextureList ;
};
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index ef89c07c60..40c99edecd 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -297,6 +297,12 @@ void LLScreenChannel::onToastDestroyed(LLToast* toast)
{
mStoredToastList.erase(it);
}
+
+ // if destroyed toast is hovered - reset hovered
+ if (mHoveredToast == toast)
+ {
+ mHoveredToast = NULL;
+ }
}
diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index b68fc3b002..75797dae81 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -176,7 +176,15 @@ void LLScriptFloater::onClose(bool app_quitting)
if(getNotificationId().notNull())
{
- LLScriptFloaterManager::getInstance()->onRemoveNotification(getNotificationId());
+ // 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());
+ }
}
}
@@ -352,7 +360,7 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id)
set_new_message |= !floater->hasFocus();
}
- onRemoveNotification(it->first);
+ removeNotification(it->first);
}
}
@@ -379,6 +387,17 @@ 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())
@@ -392,6 +411,8 @@ void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id)
LLIMWellWindow::getInstance()->removeObjectRow(notification_id);
+ mNotifications.erase(notification_id);
+
// close floater
LLScriptFloater* floater = LLFloaterReg::findTypedInstance<LLScriptFloater>("script_floater", notification_id);
if(floater)
@@ -400,8 +421,6 @@ 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 dc0cfc2400..6990234fd7 100644
--- a/indra/newview/llscriptfloater.h
+++ b/indra/newview/llscriptfloater.h
@@ -65,6 +65,11 @@ 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 98282c1673..7104f3934d 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","sidebar_tab_left.tga"),
- tab_btn_image_selected("tab_btn_image_selected","button_enabled_selected_32x128.tga"),
+ 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")),
default_button_width("tab_btn_width",32),
default_button_height("tab_btn_height",32),
default_button_margin("tab_btn_margin",0)
{}
//virtual
-LLSideTray::LLSideTray(Params& params)
+LLSideTray::LLSideTray(const 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.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);
+ 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);
LLButton* button = LLUICtrlFactory::create<LLButton> (bparams);
button->setLabel(name);
diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h
index 3a8d308425..406cdc9055 100644
--- a/indra/newview/llsidetray.h
+++ b/indra/newview/llsidetray.h
@@ -54,13 +54,13 @@ public:
: public LLInitParam::Block<Params, LLPanel::Params>
{
// initial state
- Optional<bool> collapsed;
- Optional<std::string> tab_btn_image_normal;
- Optional<std::string> tab_btn_image_selected;
+ Optional<bool> collapsed;
+ Optional<LLUIImage*> tab_btn_image_normal,
+ tab_btn_image_selected;
- Optional<S32> default_button_width;
- Optional<S32> default_button_height;
- Optional<S32> default_button_margin;
+ Optional<S32> default_button_width,
+ default_button_height,
+ default_button_margin;
Params();
};
@@ -68,7 +68,7 @@ public:
static LLSideTray* getInstance ();
static bool instanceCreated ();
protected:
- LLSideTray(Params& params);
+ LLSideTray(const Params& params);
typedef std::vector<LLSideTrayTab*> 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/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index d6e9256fee..86faeeaa73 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -300,6 +300,7 @@ LLSpatialGroup::~LLSpatialGroup()
}
delete [] mOcclusionVerts;
+ mOcclusionVerts = NULL;
LLMemType mt(LLMemType::MTYPE_SPACE_PARTITION);
clearDrawMap();
diff --git a/indra/newview/llspatialpartition.h b/indra/newview/llspatialpartition.h
index 7896488379..48070cc438 100644
--- a/indra/newview/llspatialpartition.h
+++ b/indra/newview/llspatialpartition.h
@@ -164,8 +164,6 @@ public:
static BOOL sNoDelete; //deletion of spatial groups and draw info not allowed if TRUE
typedef std::vector<LLPointer<LLSpatialGroup> > sg_vector_t;
- typedef std::set<LLPointer<LLSpatialGroup> > sg_set_t;
- typedef std::list<LLPointer<LLSpatialGroup> > sg_list_t;
typedef std::vector<LLPointer<LLSpatialBridge> > bridge_list_t;
typedef std::vector<LLPointer<LLDrawInfo> > drawmap_elem_t;
typedef std::map<U32, drawmap_elem_t > draw_map_t;
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index b0e8c71f83..2020e2aa9f 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -389,7 +389,7 @@ LLIMWellWindow::ObjectRowPanel::~ObjectRowPanel()
//---------------------------------------------------------------------------------
void LLIMWellWindow::ObjectRowPanel::onClosePanel()
{
- LLScriptFloaterManager::getInstance()->onRemoveNotification(mChiclet->getSessionId());
+ LLScriptFloaterManager::getInstance()->removeNotification(mChiclet->getSessionId());
}
void LLIMWellWindow::ObjectRowPanel::initChiclet(const LLUUID& notification_id, bool new_message/* = false*/)
@@ -850,7 +850,7 @@ void LLIMWellWindow::closeAllImpl()
ObjectRowPanel* obj_panel = dynamic_cast <ObjectRowPanel*> (panel);
if (obj_panel)
{
- LLScriptFloaterManager::instance().onRemoveNotification(*iter);
+ LLScriptFloaterManager::instance().removeNotification(*iter);
}
}
}
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index fcb9deb20b..0b02861b75 100644
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -423,6 +423,10 @@ 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/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 7dd68d392e..535f41a3aa 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -54,6 +54,7 @@
#include "llmediaentry.h"
#include "llmenugl.h"
#include "llmutelist.h"
+#include "llresmgr.h" // getMonetaryString
#include "llselectmgr.h"
#include "lltoolfocus.h"
#include "lltoolgrab.h"
@@ -809,7 +810,8 @@ BOOL LLToolPie::handleTooltipLand(std::string line, std::string tooltip_msg)
if (hover_parcel && hover_parcel->getParcelFlag(PF_FOR_SALE))
{
LLStringUtil::format_map_t args;
- args["[AMOUNT]"] = llformat("%d", hover_parcel->getSalePrice());
+ S32 price = hover_parcel->getSalePrice();
+ args["[AMOUNT]"] = LLResMgr::getInstance()->getMonetaryString(price);
line = LLTrans::getString("TooltipForSaleL$", args);
tooltip_msg.append(line);
tooltip_msg.push_back('\n');
@@ -923,13 +925,14 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l
|| !existing_inspector->getVisible()
|| existing_inspector->getKey()["object_id"].asUUID() != hover_object->getID()))
{
-
+
// Add price to tooltip for items on sale
bool for_sale = for_sale_selection(nodep);
if(for_sale)
{
LLStringUtil::format_map_t args;
- args["[PRICE]"] = llformat ("%d", nodep->mSaleInfo.getSalePrice());
+ S32 price = nodep->mSaleInfo.getSalePrice();
+ args["[AMOUNT]"] = LLResMgr::getInstance()->getMonetaryString(price);
tooltip_msg.append(LLTrans::getString("TooltipPrice", args) );
}
diff --git a/indra/newview/llurllineeditorctrl.cpp b/indra/newview/llurllineeditorctrl.cpp
index 8488527185..333f682e8f 100644
--- a/indra/newview/llurllineeditorctrl.cpp
+++ b/indra/newview/llurllineeditorctrl.cpp
@@ -89,9 +89,10 @@ void LLURLLineEditor::copyEscapedURLToClipboard()
const std::string unescaped_text = wstring_to_utf8str(mText.getWString().substr(left_pos, length));
LLWString text_to_copy;
- if (LLSLURL(unescaped_text).isValid())
+ // *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
text_to_copy = utf8str_to_wstring(LLWeb::escapeURL(unescaped_text));
- else
+ else // human-readable location
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 c9e11f67ab..638d5e8804 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -625,7 +625,15 @@ bool LLViewerInventoryCategory::fetch()
// AIS folks are aware of the issue and have a fix in process.
// see ticket for details.
- std::string url = gAgent.getRegion()->getCapability("WebFetchInventoryDescendents");
+ std::string url;
+ if (gAgent.getRegion())
+ {
+ url = gAgent.getRegion()->getCapability("WebFetchInventoryDescendents");
+ }
+ else
+ {
+ llwarns << "agent region is null" << llendl;
+ }
if (!url.empty()) //Capability found. Build up LLSD and use it.
{
LLInventoryModelBackgroundFetch::instance().start(mUUID, false);
@@ -839,6 +847,21 @@ 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<LLInventoryCallback> cb)
{
if (cb.isNull())
diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h
index 31e2417476..50d8ea7b6c 100644
--- a/indra/newview/llviewerinventory.h
+++ b/indra/newview/llviewerinventory.h
@@ -36,6 +36,7 @@
#include "llinventory.h"
#include "llframetimer.h"
#include "llwearable.h"
+#include "llui.h" //for LLDestroyClass
#include <boost/signals2.hpp> // boost::signals2::trackable
@@ -299,8 +300,9 @@ private:
// misc functions
//void inventory_reliable_callback(void**, S32 status);
-class LLInventoryCallbackManager
+class LLInventoryCallbackManager : public LLDestroyClass<LLInventoryCallbackManager>
{
+ friend class LLDestroyClass<LLInventoryCallbackManager>;
public:
LLInventoryCallbackManager();
~LLInventoryCallbackManager();
@@ -308,9 +310,12 @@ public:
void fire(U32 callback_id, const LLUUID& item_id);
U32 registerCB(LLPointer<LLInventoryCallback> cb);
private:
- std::map<U32, LLPointer<LLInventoryCallback> > mMap;
+ typedef std::map<U32, LLPointer<LLInventoryCallback> > callback_map_t;
+ callback_map_t 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 83dec4383c..6c3b165bec 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2706,7 +2706,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
params.substitutions = substitutions;
params.payload = payload;
- LLPostponedNotification::add<LLPostponedServerObjectNotification>(params, from_id, false);
+ LLPostponedNotification::add<LLPostponedServerObjectNotification>(params, from_id, from_group);
}
break;
case IM_FROM_TASK_AS_ALERT:
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index babca165f3..5655eed5c4 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -80,6 +80,7 @@
#include "llviewerparceloverlay.h"
#include "llviewerpartsource.h"
#include "llviewerregion.h"
+#include "llviewerstats.h"
#include "llviewertextureanim.h"
#include "llviewerwindow.h" // For getSpinAxis
#include "llvoavatar.h"
@@ -763,7 +764,24 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
// Coordinates of objects on simulators are region-local.
U64 region_handle;
mesgsys->getU64Fast(_PREHASH_RegionData, _PREHASH_RegionHandle, region_handle);
- mRegionp = LLWorld::getInstance()->getRegionFromHandle(region_handle);
+
+ {
+ LLViewerRegion* regionp = LLWorld::getInstance()->getRegionFromHandle(region_handle);
+ if(regionp != mRegionp && regionp && mRegionp)//region cross
+ {
+ //this is the redundant position and region update, but it is necessary in case the viewer misses the following
+ //position and region update messages from sim.
+ //this redundant update should not cause any problems.
+ LLVector3 delta_pos = mRegionp->getOriginAgent() - regionp->getOriginAgent();
+ setPositionParent(getPosition() + delta_pos); //update to the new region position immediately.
+ setRegion(regionp) ; //change the region.
+ }
+ else
+ {
+ mRegionp = regionp ;
+ }
+ }
+
if (!mRegionp)
{
U32 x, y;
@@ -1900,6 +1918,12 @@ 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 bdc34d0f18..a706e77f19 100644
--- a/indra/newview/llviewerstats.cpp
+++ b/indra/newview/llviewerstats.cpp
@@ -280,6 +280,8 @@ LLViewerStats::LLViewerStats() :
{
mStats[ST_HAS_BAD_TIMER] = 1.0;
}
+
+ mAgentPositionSnaps.reset();
}
LLViewerStats::~LLViewerStats()
@@ -299,6 +301,8 @@ void LLViewerStats::resetStats()
LLViewerStats::getInstance()->mPacketsOutStat.reset();
LLViewerStats::getInstance()->mFPSStat.reset();
LLViewerStats::getInstance()->mTexturePacketsStat.reset();
+
+ LLViewerStats::getInstance()->mAgentPositionSnaps.reset();
}
@@ -393,6 +397,10 @@ 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 13d73000d2..694eeaf097 100644
--- a/indra/newview/llviewerstats.h
+++ b/indra/newview/llviewerstats.h
@@ -197,6 +197,61 @@ 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 0afbce7d51..75bb9f84e2 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -495,6 +495,7 @@ LLViewerTexture::LLViewerTexture(const U32 width, const U32 height, const U8 com
mFullHeight = height ;
mUseMipMaps = usemipmaps ;
mComponents = components ;
+ setTexelsPerImage();
mID.generate();
sImageCount++;
@@ -522,6 +523,7 @@ void LLViewerTexture::init(bool firstinit)
mFullWidth = 0;
mFullHeight = 0;
+ mTexelsPerImage = 0 ;
mUseMipMaps = FALSE ;
mComponents = 0 ;
@@ -530,7 +532,7 @@ void LLViewerTexture::init(bool firstinit)
mMaxVirtualSize = 0.f;
mNeedsGLTexture = FALSE ;
mMaxVirtualSizeResetInterval = 1;
- mMaxVirtualSizeResetCounter = 1 ;
+ mMaxVirtualSizeResetCounter = mMaxVirtualSizeResetInterval ;
mAdditionalDecodePriority = 0.f ;
mParcelMedia = NULL ;
mNumFaces = 0 ;
@@ -838,7 +840,8 @@ BOOL LLViewerTexture::createGLTexture(S32 discard_level, const LLImageRaw* image
{
mFullWidth = mGLTexturep->getCurrentWidth() ;
mFullHeight = mGLTexturep->getCurrentHeight() ;
- mComponents = mGLTexturep->getComponents() ;
+ mComponents = mGLTexturep->getComponents() ;
+ setTexelsPerImage();
}
return ret ;
@@ -1056,9 +1059,16 @@ 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 mFullWidth * mFullHeight > LLViewerTexture::sMinLargeImageSize ;
+ return (S32)mTexelsPerImage > LLViewerTexture::sMinLargeImageSize ;
}
//virtual
@@ -1415,6 +1425,7 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
mFullWidth = mRawImage->getWidth();
mFullHeight = mRawImage->getHeight();
+ setTexelsPerImage();
}
else
{
@@ -1619,11 +1630,7 @@ F32 LLViewerFetchedTexture::calcDecodePriority()
{
// priority range = 100,000 - 500,000
S32 desired_discard = mDesiredDiscardLevel;
- if (getDontDiscard())
- {
- desired_discard -= 2;
- }
- else if (!isJustBound() && mCachedRawImageReady)
+ if (!isJustBound() && mCachedRawImageReady)
{
if(mBoostLevel < BOOST_HIGH)
{
@@ -1639,7 +1646,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:
@@ -1647,19 +1654,51 @@ 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)
{
- priority += PRIORITY_BOOST_HIGH_FACTOR;
+ 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;
+ }
}
if(mAdditionalDecodePriority > 0.0f)
{
// priority range += 1,000,000.f-9,000,000.f
- priority += PRIORITY_ADDITIONAL_FACTOR * (1.0 + mAdditionalDecodePriority * MAX_ADDITIONAL_LEVEL_FOR_PRIORITY);
+ 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;
}
}
return priority;
@@ -1702,11 +1741,6 @@ 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] ;
@@ -1819,6 +1853,7 @@ bool LLViewerFetchedTexture::updateFetch()
{
mFullWidth = mRawImage->getWidth() << mRawDiscardLevel;
mFullHeight = mRawImage->getHeight() << mRawDiscardLevel;
+ setTexelsPerImage();
if(mFullWidth > MAX_IMAGE_SIZE || mFullHeight > MAX_IMAGE_SIZE)
{
@@ -2887,10 +2922,6 @@ 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 8b69408e4b..b33d04e8dd 100644
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -126,15 +126,16 @@ public:
BOOST_HIGH = 10,
BOOST_BUMP ,
BOOST_TERRAIN , // has to be high priority for minimap / low detail
- BOOST_SELECTED ,
- BOOST_HUD ,
+ 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_HUD ,
BOOST_ICON ,
BOOST_UI ,
BOOST_PREVIEW ,
BOOST_MAP ,
- BOOST_MAP_VISIBLE ,
- BOOST_AVATAR_SELF , // needed for baking avatar
+ BOOST_MAP_VISIBLE ,
BOOST_MAX_LEVEL,
//other texture Categories
@@ -268,6 +269,7 @@ protected:
void init(bool firstinit) ;
void reorganizeFaceList() ;
void reorganizeVolumeList() ;
+ void setTexelsPerImage();
private:
//note: do not make this function public.
/*virtual*/ LLImageGL* getGLTexture() const ;
@@ -280,6 +282,7 @@ 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 ;
@@ -598,8 +601,6 @@ 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 5f1282d3fd..d7360d8b3e 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -2102,8 +2102,10 @@ void LLVOAvatar::computeBodySize()
if (new_body_size != mBodySize)
{
mBodySize = new_body_size;
- if (isSelf())
+
+ if (isSelf() && !LLAppearanceMgr::instance().isInUpdateAppearanceFromCOF())
{ // notify simulator of change in size
+ // but not if we are in the middle of updating appearance
gAgent.sendAgentSetAppearance();
}
}
@@ -3328,29 +3330,26 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)
{ // muted avatars update at 16 hz
mUpdatePeriod = 16;
}
- else if (visible && mVisibilityRank <= LLVOAvatar::sMaxVisible)
+ else if (mVisibilityRank <= LLVOAvatar::sMaxVisible)
{ //first 25% of max visible avatars are not impostored
mUpdatePeriod = 1;
}
- else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 4)
+ else if (mVisibilityRank > LLVOAvatar::sMaxVisible * 4)
{ //background avatars are REALLY slow updating impostors
mUpdatePeriod = 16;
}
- else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 3)
+ else if (mVisibilityRank > LLVOAvatar::sMaxVisible * 3)
{ //back 25% of max visible avatars are slow updating impostors
mUpdatePeriod = 8;
}
- else if (visible && mImpostorPixelArea <= impostor_area)
+ else if (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
- { // not impostored
- mUpdatePeriod = 1;
+ {
+ //nearby avatars, update the impostors more frequently.
+ mUpdatePeriod = 4;
}
visible = (LLDrawable::getCurrentFrame()+mID.mData[0])%mUpdatePeriod == 0 ? TRUE : FALSE;
@@ -4413,10 +4412,12 @@ 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.
@@ -4426,9 +4427,14 @@ 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)
+
+ if(boost_level != LLViewerTexture::BOOST_AVATAR_BAKED_SELF)
+ {
+ imagep->setAdditionalDecodePriority(ADDITIONAL_PRI) ;
+ }
+ else
{
- imagep->setAdditionalDecodePriority(1.0f) ;
+ imagep->setAdditionalDecodePriority(SELF_ADDITIONAL_PRI) ;
}
}
@@ -5864,6 +5870,7 @@ LLViewerJointAttachment* LLVOAvatar::getTargetAttachmentPoint(LLViewerObject* vi
if (!attachment)
{
llwarns << "Object attachment point invalid: " << attachmentID << llendl;
+ attachment = get_if_there(mAttachmentPoints, 1, (LLViewerJointAttachment*)NULL); // Arbitrary using 1 (chest)
}
return attachment;
@@ -7438,7 +7445,7 @@ void LLVOAvatar::cullAvatarsByPixelArea()
std::sort(LLCharacter::sInstances.begin(), LLCharacter::sInstances.end(), CompareScreenAreaGreater());
// Update the avatars that have changed status
- U32 rank = 0;
+ U32 rank = 2; //1 is reserved for self.
for (std::vector<LLCharacter*>::iterator iter = LLCharacter::sInstances.begin();
iter != LLCharacter::sInstances.end(); ++iter)
{
@@ -7462,7 +7469,7 @@ void LLVOAvatar::cullAvatarsByPixelArea()
if (inst->isSelf())
{
- inst->setVisibilityRank(0);
+ inst->setVisibilityRank(1);
}
else if (inst->mDrawable.notNull() && inst->mDrawable->isVisible())
{
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 5de406ff01..6798fbbc33 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -879,7 +879,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
- LLVoiceVisualizer* mVoiceVisualizer;
+ LLPointer<LLVoiceVisualizer> mVoiceVisualizer;
int mCurrentGesticulationLevel;
//--------------------------------------------------------------------
@@ -1059,5 +1059,6 @@ 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 4edbbb7402..b80e47e11a 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(1.0f) ;
+ imagep->setAdditionalDecodePriority(SELF_ADDITIONAL_PRI) ;
imagep->forceUpdateBindStats() ;
if (imagep->getDiscardLevel() < 0)
{
diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp
index eb5b6c6618..5431aec07c 100644
--- a/indra/newview/llvotree.cpp
+++ b/indra/newview/llvotree.cpp
@@ -313,7 +313,10 @@ U32 LLVOTree::processUpdateMessage(LLMessageSystem *mesgsys,
//
// Load Species-Specific data
//
+ static const S32 MAX_TREE_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL = 32 ; //frames.
mTreeImagep = LLViewerTextureManager::getFetchedTexture(sSpeciesTable[mSpecies]->mTextureID, TRUE, LLViewerTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
+ mTreeImagep->setMaxVirtualSizeResetInterval(MAX_TREE_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL); //allow to wait for at most 16 frames to reset virtual size.
+
mBranchLength = sSpeciesTable[mSpecies]->mBranchLength;
mTrunkLength = sSpeciesTable[mSpecies]->mTrunkLength;
mLeafScale = sSpeciesTable[mSpecies]->mLeafScale;
diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp
index 9f9a9bef35..60ebb9416e 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)
-: LLPanelInventoryListItemBase(item)
+LLPanelWearableListItem::LLPanelWearableListItem(LLViewerInventoryItem* item, const LLPanelWearableListItem::Params& params)
+: LLPanelInventoryListItemBase(item, params)
{
}
@@ -101,15 +101,19 @@ LLPanelWearableOutfitItem* LLPanelWearableOutfitItem::create(LLViewerInventoryIt
LLPanelWearableOutfitItem* list_item = NULL;
if (item)
{
- list_item = new LLPanelWearableOutfitItem(item, worn_indication_enabled);
- list_item->init();
+ const LLPanelInventoryListItemBase::Params& params = LLUICtrlFactory::getDefaultParams<LLPanelInventoryListItemBase>();
+
+ list_item = new LLPanelWearableOutfitItem(item, worn_indication_enabled, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
}
return list_item;
}
LLPanelWearableOutfitItem::LLPanelWearableOutfitItem(LLViewerInventoryItem* item,
- bool worn_indication_enabled)
-: LLPanelInventoryListItemBase(item)
+ bool worn_indication_enabled,
+ const LLPanelWearableOutfitItem::Params& params)
+: LLPanelInventoryListItemBase(item, params)
, mWornIndicationEnabled(worn_indication_enabled)
{
}
@@ -132,6 +136,17 @@ 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)
@@ -139,24 +154,54 @@ LLPanelClothingListItem* LLPanelClothingListItem::create(LLViewerInventoryItem*
LLPanelClothingListItem* list_item = NULL;
if(item)
{
- list_item = new LLPanelClothingListItem(item);
- list_item->init();
+ const LLPanelClothingListItem::Params& params = LLUICtrlFactory::getDefaultParams<LLPanelClothingListItem>();
+ list_item = new LLPanelClothingListItem(item, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
}
return list_item;
}
-LLPanelClothingListItem::LLPanelClothingListItem(LLViewerInventoryItem* item)
- : LLPanelDeletableWearableListItem(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<LLButton>(button_params));
+
+ button_params = params.down_btn;
+ applyXUILayout(button_params, this);
+ addChild(LLUICtrlFactory::create<LLButton>(button_params));
+
+ LLPanel::Params panel_params = params.lock_panel;
+ applyXUILayout(panel_params, this);
+ LLPanel* lock_panelp = LLUICtrlFactory::create<LLPanel>(panel_params);
+ addChild(lock_panelp);
+
+ panel_params = params.edit_panel;
+ applyXUILayout(panel_params, this);
+ LLPanel* edit_panelp = LLUICtrlFactory::create<LLPanel>(panel_params);
+ addChild(edit_panelp);
+
+ if (lock_panelp)
{
+ LLIconCtrl::Params icon_params = params.lock_icon;
+ applyXUILayout(icon_params, this);
+ lock_panelp->addChild(LLUICtrlFactory::create<LLIconCtrl>(icon_params));
}
-LLPanelClothingListItem::~LLPanelClothingListItem()
+ if (edit_panelp)
{
+ button_params = params.edit_btn;
+ applyXUILayout(button_params, this);
+ edit_panelp->addChild(LLUICtrlFactory::create<LLButton>(button_params));
+ }
+
+ setSeparatorVisible(false);
}
-void LLPanelClothingListItem::init()
+LLPanelClothingListItem::~LLPanelClothingListItem()
{
- LLUICtrlFactory::getInstance()->buildPanel(this, "panel_clothing_list_item.xml");
}
BOOL LLPanelClothingListItem::postBuild()
@@ -178,30 +223,62 @@ 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)
{
- list_item = new LLPanelBodyPartsListItem(item);
- list_item->init();
+ const Params& params = LLUICtrlFactory::getDefaultParams<LLPanelBodyPartsListItem>();
+ list_item = new LLPanelBodyPartsListItem(item, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
}
return list_item;
}
-LLPanelBodyPartsListItem::LLPanelBodyPartsListItem(LLViewerInventoryItem* item)
-: LLPanelWearableListItem(item)
+LLPanelBodyPartsListItem::LLPanelBodyPartsListItem(LLViewerInventoryItem* item, const LLPanelBodyPartsListItem::Params& params)
+: LLPanelWearableListItem(item, params)
{
+ LLPanel::Params panel_params = params.edit_panel;
+ applyXUILayout(panel_params, this);
+ LLPanel* edit_panelp = LLUICtrlFactory::create<LLPanel>(panel_params);
+ addChild(edit_panelp);
+
+ panel_params = params.lock_panel;
+ applyXUILayout(panel_params, this);
+ LLPanel* lock_panelp = LLUICtrlFactory::create<LLPanel>(panel_params);
+ addChild(lock_panelp);
+
+ if (edit_panelp)
+ {
+ LLButton::Params btn_params = params.edit_btn;
+ applyXUILayout(btn_params, this);
+ edit_panelp->addChild(LLUICtrlFactory::create<LLButton>(btn_params));
}
-LLPanelBodyPartsListItem::~LLPanelBodyPartsListItem()
+ if (lock_panelp)
{
+ LLIconCtrl::Params icon_params = params.lock_icon;
+ applyXUILayout(icon_params, this);
+ lock_panelp->addChild(LLUICtrlFactory::create<LLIconCtrl>(icon_params));
+ }
+
+ setSeparatorVisible(true);
}
-void LLPanelBodyPartsListItem::init()
+LLPanelBodyPartsListItem::~LLPanelBodyPartsListItem()
{
- LLUICtrlFactory::getInstance()->buildPanel(this, "panel_body_parts_list_item.xml");
}
BOOL LLPanelBodyPartsListItem::postBuild()
@@ -214,6 +291,11 @@ 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)
@@ -221,20 +303,22 @@ LLPanelDeletableWearableListItem* LLPanelDeletableWearableListItem::create(LLVie
LLPanelDeletableWearableListItem* list_item = NULL;
if(item)
{
- list_item = new LLPanelDeletableWearableListItem(item);
- list_item->init();
+ const Params& params = LLUICtrlFactory::getDefaultParams<LLPanelDeletableWearableListItem>();
+ list_item = new LLPanelDeletableWearableListItem(item, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
}
return list_item;
}
-LLPanelDeletableWearableListItem::LLPanelDeletableWearableListItem(LLViewerInventoryItem* item)
-: LLPanelWearableListItem(item)
+LLPanelDeletableWearableListItem::LLPanelDeletableWearableListItem(LLViewerInventoryItem* item, const LLPanelDeletableWearableListItem::Params& params)
+: LLPanelWearableListItem(item, params)
{
-}
+ LLButton::Params button_params = params.delete_btn;
+ applyXUILayout(button_params, this);
+ addChild(LLUICtrlFactory::create<LLButton>(button_params));
-void LLPanelDeletableWearableListItem::init()
-{
- LLUICtrlFactory::getInstance()->buildPanel(this, "panel_deletable_wearable_list_item.xml");
+ setSeparatorVisible(true);
}
BOOL LLPanelDeletableWearableListItem::postBuild()
@@ -260,8 +344,11 @@ LLPanelAttachmentListItem* LLPanelAttachmentListItem::create(LLViewerInventoryIt
LLPanelAttachmentListItem* list_item = NULL;
if(item)
{
- list_item = new LLPanelAttachmentListItem(item);
- list_item->init();
+ const Params& params = LLUICtrlFactory::getDefaultParams<LLPanelDeletableWearableListItem>();
+
+ list_item = new LLPanelAttachmentListItem(item, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
}
return list_item;
}
@@ -284,27 +371,32 @@ 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)
{
- LLPanelDummyClothingListItem* list_item = new LLPanelDummyClothingListItem(w_type);
- list_item->init();
+ const Params& params = LLUICtrlFactory::getDefaultParams<LLPanelDummyClothingListItem>();
+
+ LLPanelDummyClothingListItem* list_item = new LLPanelDummyClothingListItem(w_type, params);
+ list_item->initFromParams(params);
+ list_item->postBuild();
return list_item;
}
BOOL LLPanelDummyClothingListItem::postBuild()
{
- LLIconCtrl* icon = getChild<LLIconCtrl>("item_icon");
- setIconCtrl(icon);
- setTitleCtrl(getChild<LLTextBox>("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(icon->getRect().mLeft);
+ setLeftWidgetsWidth(getChildView("item_icon")->getRect().mLeft);
setWidgetsVisible(false);
reshapeWidgets();
@@ -317,15 +409,23 @@ LLWearableType::EType LLPanelDummyClothingListItem::getWearableType() const
return mWearableType;
}
-LLPanelDummyClothingListItem::LLPanelDummyClothingListItem(LLWearableType::EType w_type)
- : LLPanelWearableListItem(NULL)
- , mWearableType(w_type)
+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<LLPanel>(panel_params);
+ addChild(add_panelp);
-void LLPanelDummyClothingListItem::init()
+ if (add_panelp)
{
- LLUICtrlFactory::getInstance()->buildPanel(this, "panel_dummy_clothing_list_item.xml");
+ LLButton::Params button_params(params.add_btn);
+ applyXUILayout(button_params, this);
+ add_panelp->addChild(LLUICtrlFactory::create<LLButton>(button_params));
+}
+
+ setSeparatorVisible(true);
}
typedef std::map<LLWearableType::EType, std::string> clothing_to_string_map_t;
@@ -576,8 +676,8 @@ LLContextMenu* LLWearableItemsList::ContextMenu::createMenu()
const uuid_vec_t& ids = mUUIDs; // selected items IDs
LLUUID selected_id = ids.front(); // ID of the first selected item
- functor_t wear = boost::bind(&LLAppearanceMgr::wearItemOnAvatar, LLAppearanceMgr::getInstance(), _1, true, true);
- functor_t add = boost::bind(&LLAppearanceMgr::wearItemOnAvatar, LLAppearanceMgr::getInstance(), _1, true, false);
+ functor_t wear = boost::bind(&LLAppearanceMgr::wearItemOnAvatar, LLAppearanceMgr::getInstance(), _1, true, true, LLPointer<LLInventoryCallback>(NULL));
+ functor_t add = boost::bind(&LLAppearanceMgr::wearItemOnAvatar, LLAppearanceMgr::getInstance(), _1, true, false, LLPointer<LLInventoryCallback>(NULL));
functor_t take_off = boost::bind(&LLAppearanceMgr::removeItemFromAvatar, LLAppearanceMgr::getInstance(), _1);
// Register handlers common for all wearable types.
@@ -725,10 +825,8 @@ void LLWearableItemsList::ContextMenu::updateItemsLabels(LLContextMenu* menu)
LLViewerInventoryItem* item = gInventory.getLinkedItem(mUUIDs.back());
if (!item || !item->isWearableType()) return;
- LLStringUtil::format_map_t args;
LLWearableType::EType w_type = item->getWearableType();
- args["[WEARABLE_TYPE]"] = LLWearableType::getTypeDefaultNewName(w_type);
- std::string new_label = LLTrans::getString("CreateNewWearable", args);
+ std::string new_label = LLTrans::getString("create_new_" + LLWearableType::getTypeName(w_type));
LLMenuItemGL* menu_item = menu->getChild<LLMenuItemGL>("create_new");
menu_item->setLabel(new_label);
diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h
index d16a2a89c8..367b648b3d 100644
--- a/indra/newview/llwearableitemslist.h
+++ b/indra/newview/llwearableitemslist.h
@@ -68,7 +68,7 @@ public:
protected:
- LLPanelWearableListItem(LLViewerInventoryItem* item);
+ LLPanelWearableListItem(LLViewerInventoryItem* item, const Params& params);
};
/**
@@ -93,7 +93,7 @@ public:
protected:
LLPanelWearableOutfitItem(LLViewerInventoryItem* item,
- bool worn_indication_enabled);
+ bool worn_indication_enabled, const Params& params);
private:
bool mWornIndicationEnabled;
@@ -103,6 +103,13 @@ class LLPanelDeletableWearableListItem : public LLPanelWearableListItem
{
LOG_CLASS(LLPanelDeletableWearableListItem);
public:
+ struct Params : public LLInitParam::Block<Params, LLPanelWearableListItem::Params>
+ {
+ Optional<LLButton::Params> delete_btn;
+
+ Params();
+ };
+
static LLPanelDeletableWearableListItem* create(LLViewerInventoryItem* item);
@@ -116,9 +123,7 @@ public:
inline void setShowDeleteButton(bool show) { setShowWidget("btn_delete", show); }
protected:
- LLPanelDeletableWearableListItem(LLViewerInventoryItem* item);
-
- /*virtual*/ void init();
+ LLPanelDeletableWearableListItem(LLViewerInventoryItem* item, const Params& params);
};
/** Outfit list item for an attachment */
@@ -134,7 +139,7 @@ public:
EItemState item_state = IS_DEFAULT);
protected:
- LLPanelAttachmentListItem(LLViewerInventoryItem* item) : LLPanelDeletableWearableListItem(item) {};
+ LLPanelAttachmentListItem(LLViewerInventoryItem* item, const Params& params) : LLPanelDeletableWearableListItem(item, params) {};
};
/**
@@ -147,6 +152,18 @@ class LLPanelClothingListItem : public LLPanelDeletableWearableListItem
LOG_CLASS(LLPanelClothingListItem);
public:
+ struct Params : public LLInitParam::Block<Params, LLPanelDeletableWearableListItem::Params>
+ {
+ Optional<LLButton::Params> up_btn,
+ down_btn,
+ edit_btn;
+ Optional<LLPanel::Params> lock_panel,
+ edit_panel;
+ Optional<LLIconCtrl::Params> lock_icon;
+
+ Params();
+ };
+
static LLPanelClothingListItem* create(LLViewerInventoryItem* item);
virtual ~LLPanelClothingListItem();
@@ -162,18 +179,25 @@ public:
inline void setShowLockButton(bool show) { setShowWidget("btn_lock", show); }
inline void setShowEditButton(bool show) { setShowWidget("btn_edit_panel", show); }
-
protected:
- LLPanelClothingListItem(LLViewerInventoryItem* item);
-
- /*virtual*/ void init();
+ LLPanelClothingListItem(LLViewerInventoryItem* item, const Params& params);
+
};
class LLPanelBodyPartsListItem : public LLPanelWearableListItem
{
LOG_CLASS(LLPanelBodyPartsListItem);
public:
+ struct Params : public LLInitParam::Block<Params, LLPanelWearableListItem::Params>
+ {
+ Optional<LLButton::Params> edit_btn;
+ Optional<LLPanel::Params> lock_panel,
+ edit_panel;
+ Optional<LLIconCtrl::Params> lock_icon;
+
+ Params();
+ };
static LLPanelBodyPartsListItem* create(LLViewerInventoryItem* item);
@@ -188,9 +212,7 @@ public:
inline void setShowEditButton(bool show) { setShowWidget("btn_edit_panel", show); }
protected:
- LLPanelBodyPartsListItem(LLViewerInventoryItem* item);
-
- /*virtual*/ void init();
+ LLPanelBodyPartsListItem(LLViewerInventoryItem* item, const Params& params);
};
@@ -202,15 +224,19 @@ protected:
class LLPanelDummyClothingListItem : public LLPanelWearableListItem
{
public:
+ struct Params : public LLInitParam::Block<Params, LLPanelWearableListItem::Params>
+ {
+ Optional<LLPanel::Params> add_panel;
+ Optional<LLButton::Params> add_btn;
+ Params();
+ };
static LLPanelDummyClothingListItem* create(LLWearableType::EType w_type);
/*virtual*/ BOOL postBuild();
LLWearableType::EType getWearableType() const;
protected:
- LLPanelDummyClothingListItem(LLWearableType::EType w_type);
-
- /*virtual*/ void init();
+ LLPanelDummyClothingListItem(LLWearableType::EType w_type, const Params& params);
static std::string wearableTypeToString(LLWearableType::EType w_type);
diff --git a/indra/newview/llwindebug.cpp b/indra/newview/llwindebug.cpp
index 502fefd4ef..660245b02b 100644
--- a/indra/newview/llwindebug.cpp
+++ b/indra/newview/llwindebug.cpp
@@ -97,6 +97,9 @@ 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.
@@ -135,36 +138,42 @@ void LLWinDebug::init()
void LLWinDebug::writeDumpToFile(MINIDUMP_TYPE type, MINIDUMP_EXCEPTION_INFORMATION *ExInfop, const std::string& filename)
{
- if(f_mdwp == NULL || gDirUtilp == NULL)
- {
- return;
- }
- else
+ // 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 )
{
- 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);
-
- if (hFile != INVALID_HANDLE_VALUE)
+ if(f_mdwp == NULL || gDirUtilp == NULL)
{
- // Write the dump, ignoring the return value
- f_mdwp(GetCurrentProcess(),
- GetCurrentProcessId(),
- hFile,
- type,
- ExInfop,
- NULL,
- NULL);
-
- CloseHandle(hFile);
+ 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);
+
+ 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 92de635801..4f4679a436 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -1796,7 +1796,7 @@ void LLPipeline::rebuildPriorityGroups()
assertInitialized();
// Iterate through all drawables on the priority build queue,
- for (LLSpatialGroup::sg_list_t::iterator iter = mGroupQ1.begin();
+ for (LLSpatialGroup::sg_vector_t::iterator iter = mGroupQ1.begin();
iter != mGroupQ1.end(); ++iter)
{
LLSpatialGroup* group = *iter;
@@ -2256,7 +2256,6 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
}
}
}
- llpushcallstacks ;
{
LLFastTimer ftm(FTM_STATESORT_DRAWABLE);
for (LLCullResult::drawable_list_t::iterator iter = sCull->beginVisibleList();
@@ -2269,15 +2268,12 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
}
}
}
- llpushcallstacks ;
{
LLFastTimer ftm(FTM_CLIENT_COPY);
LLVertexBuffer::clientCopy();
}
- llpushcallstacks ;
- postSort(camera);
- llpushcallstacks ;
+ postSort(camera);
}
void LLPipeline::stateSort(LLSpatialGroup* group, LLCamera& camera)
@@ -2547,6 +2543,7 @@ void LLPipeline::postSort(LLCamera& camera)
assertInitialized();
+ llpushcallstacks ;
//rebuild drawable geometry
for (LLCullResult::sg_list_t::iterator i = sCull->beginDrawableGroups(); i != sCull->endDrawableGroups(); ++i)
{
@@ -2557,7 +2554,7 @@ void LLPipeline::postSort(LLCamera& camera)
group->rebuildGeom();
}
}
-
+ llpushcallstacks ;
//rebuild groups
sCull->assertDrawMapsEmpty();
@@ -2577,6 +2574,7 @@ void LLPipeline::postSort(LLCamera& camera)
rebuildPriorityGroups();
+ llpushcallstacks ;
const S32 bin_count = 1024*8;
@@ -2678,7 +2676,7 @@ void LLPipeline::postSort(LLCamera& camera)
std::sort(sCull->beginAlphaGroups(), sCull->endAlphaGroups(), LLSpatialGroup::CompareDepthGreater());
}
-
+ llpushcallstacks ;
// only render if the flag is set. The flag is only set if we are in edit mode or the toggle is set in the menus
if (LLFloaterReg::instanceVisible("beacons") && !sShadowRender)
{
@@ -2726,7 +2724,7 @@ void LLPipeline::postSort(LLCamera& camera)
forAllVisibleDrawables(renderSoundHighlights);
}
}
-
+ llpushcallstacks ;
// If managing your telehub, draw beacons at telehub and currently selected spawnpoint.
if (LLFloaterTelehub::renderBeacons())
{
@@ -2756,6 +2754,7 @@ void LLPipeline::postSort(LLCamera& camera)
}
//LLSpatialGroup::sNoDelete = FALSE;
+ llpushcallstacks ;
}
@@ -7116,7 +7115,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
if (LLPipeline::sWaterReflections && assertInitialized() && LLDrawPoolWater::sNeedsReflectionUpdate)
{
BOOL skip_avatar_update = FALSE;
- if (gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK)
+ if (!isAgentAvatarValid() || gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK)
{
skip_avatar_update = TRUE;
}
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 89649a0682..862bfc2f30 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -584,7 +584,7 @@ protected:
//
LLDrawable::drawable_list_t mBuildQ1; // priority
LLDrawable::drawable_list_t mBuildQ2; // non-priority
- LLSpatialGroup::sg_list_t mGroupQ1; //priority
+ LLSpatialGroup::sg_vector_t mGroupQ1; //priority
LLSpatialGroup::sg_vector_t mGroupQ2; // non-priority
LLViewerObject::vobj_list_t mCreateQ;
diff --git a/indra/newview/skins/default/textures/icons/Edit_Wrench.png b/indra/newview/skins/default/textures/icons/Edit_Wrench.png
index 1c43960d02..250697b4b1 100644
--- a/indra/newview/skins/default/textures/icons/Edit_Wrench.png
+++ b/indra/newview/skins/default/textures/icons/Edit_Wrench.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
index c590a5a5d3..296311e797 100644
--- a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
+++ b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Shop.png b/indra/newview/skins/default/textures/icons/Shop.png
index 9d091fed44..81c13eeabd 100644
--- a/indra/newview/skins/default/textures/icons/Shop.png
+++ b/indra/newview/skins/default/textures/icons/Shop.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png b/indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png
new file mode 100644
index 0000000000..a79d999932
--- /dev/null
+++ b/indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png b/indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png
new file mode 100644
index 0000000000..b692ed92da
--- /dev/null
+++ b/indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index a05382aac5..f293bbd1af 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -276,9 +276,9 @@ with the same filename but different name
<texture name="Movement_Up_Off" file_name="bottomtray/Movement_Up_Off.png" preload="false" />
<texture name="Movement_Up_On" file_name="bottomtray/Movement_Up_On.png" preload="false" />
- <texture name="NavBar_BG_NoFav" file_name="navbar/NavBar_BG_NoFav.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="NavBar_BG" file_name="navbar/NavBar_BG.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
-
+ <texture name="NavBar_BG_NoFav_Bevel" file_name="navbar/NavBar_BG_NoFav_Bevel.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
+ <texture name="NavBar_BG_NoNav_Bevel" file_name="navbar/NavBar_BG_NoNav_Bevel.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="Notices_Unread" file_name="bottomtray/Notices_Unread.png" preload="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 220042f015..0f65e6c18a 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.
</text>
- <spinner label="Pris for annonce:" name="price_for_listing" tool_tip="Pris for optagelse af annonce." value="50"/>
+ <spinner label="Pris: L$" name="price_for_listing" tool_tip="Pris for optagelse af annonce." value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
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 73d97cd167..16c225b7d9 100644
--- a/indra/newview/skins/default/xui/da/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/da/menu_cof_clothing.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="Tag af" name="take_off"/>
- <menu_item_call label="Flyt et lag op" name="move_up"/>
- <menu_item_call label="Flyt et lag ned" name="move_down"/>
<menu_item_call label="Redigér" name="edit"/>
+ <menu_item_call label="Erstat" name="replace"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_inventory.xml b/indra/newview/skins/default/xui/da/menu_inventory.xml
index 2eafeb3fcc..96da784fe4 100644
--- a/indra/newview/skins/default/xui/da/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/da/menu_inventory.xml
@@ -73,11 +73,10 @@
<menu_item_call label="Deaktivér" name="Deactivate"/>
<menu_item_call label="Gem som" name="Save As"/>
<menu_item_call label="Tag af dig selv" name="Detach From Yourself"/>
- <menu_item_call label="Tag på" name="Object Wear"/>
+ <menu_item_call label="Tag på" name="Wearable And Object Wear"/>
<menu label="Vedhæft" name="Attach To"/>
<menu label="Vedhæft til HUD" name="Attach To HUD"/>
<menu_item_call label="Redigér" name="Wearable Edit"/>
- <menu_item_call label="Tag på" name="Wearable Wear"/>
<menu_item_call label="Tilføj" name="Wearable Add"/>
<menu_item_call label="Tag af" name="Take Off"/>
<menu_item_call label="--ingen valg--" name="--no options--"/>
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 e643498822..75ce7b22f6 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,9 +6,10 @@
<menu_item_call label="Vis filtre" name="show_filters"/>
<menu_item_call label="Nulstil filtre" name="reset_filters"/>
<menu_item_call label="Luk alle mapper" name="close_folders"/>
- <menu_item_call label="Tøm papirkurv" name="empty_trash"/>
<menu_item_call label="Tøm &quot;fundne genstande&quot;" name="empty_lostnfound"/>
<menu_item_call label="Gem tekstur som" name="Save Texture As"/>
+ <menu_item_call label="Del" name="Share"/>
<menu_item_call label="Find original" name="Find Original"/>
<menu_item_call label="Find alle links" name="Find All Links"/>
+ <menu_item_call label="Tøm papirkurv" name="empty_trash"/>
</menu>
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 3ed0df9041..8b4c776496 100644
--- a/indra/newview/skins/default/xui/da/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/da/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="Tag på - Erstat nuværende sæt" name="wear"/>
+ <menu_item_call label="Tag på - Tilføj til nuværende sæt" name="wear_add"/>
<menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/>
<menu label="Nyt tøj" name="New Clothes">
<menu_item_call label="Ny trøje" name="New Shirt"/>
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 6a84c518ee..00055c8932 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,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Erstat" name="wear"/>
+ <menu_item_call label="Erstat" name="wear_replace"/>
+ <menu_item_call label="Tag på" name="wear_wear"/>
<menu_item_call label="Tilføj" name="wear_add"/>
<menu_item_call label="Tag af" name="take_off_or_detach"/>
<menu_item_call label="Tag af" name="detach"/>
diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml
index 5ae329033d..163df5b8d2 100644
--- a/indra/newview/skins/default/xui/da/notifications.xml
+++ b/indra/newview/skins/default/xui/da/notifications.xml
@@ -230,6 +230,10 @@ Er du sikker på at du vil fortsætte?
<notification name="DeleteAvatarPick">
Slet favorit &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
</notification>
+ <notification name="DeleteOutfits">
+ Slet valgte sæt?
+ <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/>
+ </notification>
<notification name="CacheWillClear">
Cache vil blive tømt ved næste genstart af [APP_NAME].
</notification>
@@ -935,11 +939,6 @@ 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.)
</notification>
- <notification name="UploadConfirmation">
- Omkostninger ved at sende: L$[AMOUNT].
-Ønsker du at fortsætte?
- <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Send"/>
- </notification>
<notification name="UploadPayment">
Du betalte L$[AMOUNT] for at uploade.
</notification>
@@ -1351,9 +1350,6 @@ Fra genstand: [OBJECTNAME], ejer: [NAME]?
<notification name="FailedToFindWearable">
Det lykkedes ikke at finde [TYPE] med navnet [DESC] i databasen.
</notification>
- <notification name="ShareToWebFailed">
- Fejl ved afsendelse af billede til web.
- </notification>
<notification name="InvalidWearable">
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å.
</notification>
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 3890f07324..99ef3b5411 100644
--- a/indra/newview/skins/default/xui/da/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/da/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="Tag genstand på" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Besøg SL markedspladsen. Du kan også vælge noget du har på, og så klikke her for at se andre ting som dette"/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Besøg SL markedspladsen. Du kan også vælge noget du har på, og så klikke her for at se andre ting som dette"/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="Gem" name="save_btn"/>
<button label="Annullér ændringer" name="revert_btn" tool_tip="Vend tilbage til sidst gemte version"/>
diff --git a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
index da40bd3c27..6f9dd5b775 100644
--- a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Ting" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Tag valgte sæt på
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Bær valgte genstande
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="MINE SÆT" name="outfitslist_tab"/>
- <inventory_panel label="HAR PÅ" name="cof_tab"/>
+ <panel label="HAR PÅ" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Vis flere muligheder"/>
- <dnd_button name="trash_btn" tool_tip="Slet valgte sæt"/>
<button label="Gem som" name="save_btn"/>
<button label="Tag på" name="wear_btn" tool_tip="Tag valgte sæt på"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_outfits_list.xml b/indra/newview/skins/default/xui/da/panel_outfits_list.xml
new file mode 100644
index 0000000000..72caedb461
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Vis yderligere valgmuligheder"/>
+ <button name="trash_btn" tool_tip="Slet valgte sæt"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/da/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..8d25efa97b
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Vis yderligere valgmuligheder"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
index 46f7c74a9a..070b4218a8 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (Beholdning)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (I Second Life)
+ </panel.string>
<text name="title" value="Profil for genstand"/>
<text name="origin" value="(Beholdning)"/>
<panel label="">
@@ -35,9 +41,7 @@
<text name="LabelAcquiredTitle">
Erhvervet:
</text>
- <text name="LabelAcquiredDate">
- Ons Maj 24 12:50:46 2006
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Du kan:
diff --git a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
index bec97734e4..746cf201bc 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
@@ -37,7 +37,7 @@
Blandet salg
</panel.string>
<text name="title" value="Objekt profil"/>
- <text name="where" value="(verden)"/>
+ <text name="where" value="(I Second Life)"/>
<panel label="" name="properties_panel">
<text name="Name:">
Navn:
diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml
index 32f37c038e..b6580a4515 100644
--- a/indra/newview/skins/default/xui/da/strings.xml
+++ b/indra/newview/skins/default/xui/da/strings.xml
@@ -233,7 +233,7 @@
Klik for at starte secondlife:// kommando
</string>
<string name="CurrentURL" value=" Nuværende URL: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[PRICE]-"/>
+ <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teleportér til
</string>
@@ -1585,21 +1585,30 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD Nederst til højre
</string>
+ <string name="Bad attachment point">
+ Ugyldig fæste-punkt
+ </string>
<string name="CursorPos">
Linie [LINE], Kolonne [COLUMN]
</string>
<string name="PanelDirCountFound">
[COUNT] fundet
</string>
- <string name="PanelContentsNewScript">
- Nyt script
- </string>
<string name="PanelContentsTooltip">
Indhold i objekt
</string>
+ <string name="PanelContentsNewScript">
+ Nyt script
+ </string>
<string name="BusyModeResponseDefault">
Beboeren du sendte en besked er &apos;optaget&apos;, hvilket betyder at han/hun ikke vil forstyrres. Din besked vil blive vis i hans/hendes IM panel til senere visning.
</string>
+ <string name="NoOutfits">
+ Du har ikke nogen sæt endnu. Prøv [secondlife:///app/search/all/ Search]
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ Fandt du ikke hvad du søgte? Prøv [secondlife:///app/search/all/[SEARCH_TERM] Search].
+ </string>
<string name="MuteByName">
(Efter navn)
</string>
diff --git a/indra/newview/skins/default/xui/de/floater_buy_currency.xml b/indra/newview/skins/default/xui/de/floater_buy_currency.xml
index f978b24d0d..38321b7906 100644
--- a/indra/newview/skins/default/xui/de/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/de/floater_buy_currency.xml
@@ -60,7 +60,7 @@
<button label="Jetzt kaufen" name="buy_btn"/>
<button label="Abbrechen" name="cancel_btn"/>
<text name="info_cannot_buy">
- Kauf nicht möglich
+ Kaufabbruch
</text>
<button label="Weiter zur Kontoseite" name="error_web"/>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_publish_classified.xml b/indra/newview/skins/default/xui/de/floater_publish_classified.xml
index 993382727b..d91535ebc3 100644
--- a/indra/newview/skins/default/xui/de/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/de/floater_publish_classified.xml
@@ -5,7 +5,7 @@
Anzeigengebühren werden nicht zurückerstattet.
</text>
- <spinner label="Anzeigenpreis:" name="price_for_listing" tool_tip="Preis für Anzeige." value="50"/>
+ <spinner label="Preis: L$" name="price_for_listing" tool_tip="Preis für Anzeige." value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
Weitere Infos (Link zur Hilfe)
diff --git a/indra/newview/skins/default/xui/de/floater_voice_effect.xml b/indra/newview/skins/default/xui/de/floater_voice_effect.xml
index 21d49a32fe..21031cd556 100644
--- a/indra/newview/skins/default/xui/de/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/de/floater_voice_effect.xml
@@ -16,7 +16,7 @@
Zur Vorschau
</text>
<text name="status_text">
- Nehmen Sie Ihre Stimme auf, klicken Sie dann auf einen Effekt, um den Effekt auf Ihre Stimme anzuwenden.
+ Stimme aufnehmen und auf einen Effekt klicken, um diesen auf Ihre Stimme anzuwenden.
</text>
<button label="Aufnehmen" name="record_btn" tool_tip="Nehmen Sie Ihre Stimme auf."/>
<button label="Stopp" name="record_stop_btn"/>
diff --git a/indra/newview/skins/default/xui/de/menu_cof_clothing.xml b/indra/newview/skins/default/xui/de/menu_cof_clothing.xml
index 5cf31791ba..7fced273a7 100644
--- a/indra/newview/skins/default/xui/de/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/de/menu_cof_clothing.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="Ausziehen" name="take_off"/>
+ <menu_item_call label="Ersetzen" name="replace"/>
<menu_item_call label="Eine Kategorie nach oben" name="move_up"/>
<menu_item_call label="Eine Kategorie nach unten" name="move_down"/>
<menu_item_call label="Bearbeiten" name="edit"/>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml
index dd49ab1c7e..59e93b113d 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory.xml
@@ -76,11 +76,10 @@
<menu_item_call label="Deaktivieren" name="Deactivate"/>
<menu_item_call label="Speichern unter" name="Save As"/>
<menu_item_call label="Von Körper abnehmen" name="Detach From Yourself"/>
- <menu_item_call label="Anziehen" name="Object Wear"/>
+ <menu_item_call label="Anziehen" name="Wearable And Object Wear"/>
<menu label="Anhängen an" name="Attach To"/>
<menu label="An HUD hängen" name="Attach To HUD"/>
<menu_item_call label="Bearbeiten" name="Wearable Edit"/>
- <menu_item_call label="Anziehen" name="Wearable Wear"/>
<menu_item_call label="Hinzufügen" name="Wearable Add"/>
<menu_item_call label="Ausziehen" name="Take Off"/>
<menu_item_call label="--keine Optionen--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml
index e2b980c7b6..3fa68a27bd 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml
@@ -6,9 +6,10 @@
<menu_item_call label="Filter anzeigen" name="show_filters"/>
<menu_item_call label="Filter zurücksetzen" name="reset_filters"/>
<menu_item_call label="Alle Ordner schließen" name="close_folders"/>
- <menu_item_call label="Papierkorb ausleeren" name="empty_trash"/>
<menu_item_call label="Fundbüro ausleeren" name="empty_lostnfound"/>
<menu_item_call label="Textur speichern als" name="Save Texture As"/>
+ <menu_item_call label="Teilen" name="Share"/>
<menu_item_call label="Original suchen" name="Find Original"/>
<menu_item_call label="Alle Links suchen" name="Find All Links"/>
+ <menu_item_call label="Papierkorb ausleeren" name="empty_trash"/>
</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_outfit_gear.xml b/indra/newview/skins/default/xui/de/menu_outfit_gear.xml
index 411dfc42c0..897154ec56 100644
--- a/indra/newview/skins/default/xui/de/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/de/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="Anziehen - Aktuelles Outfit ersetzen" name="wear"/>
+ <menu_item_call label="Anziehen - Aktuelles Outfit hinzufügen" name="wear_add"/>
<menu_item_call label="Ausziehen - Aus aktuellem Outfit entfernen" name="take_off"/>
<menu label="Neue Kleider" name="New Clothes">
<menu_item_call label="Neues Hemd" name="New Shirt"/>
diff --git a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml
index 027a68e72e..6c8fc69fc0 100644
--- a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Ersetzen" name="wear"/>
+ <menu_item_call label="Ersetzen" name="wear_replace"/>
+ <menu_item_call label="Anziehen" name="wear_wear"/>
<menu_item_call label="Hinzufügen" name="wear_add"/>
<menu_item_call label="Ausziehen / Abnehmen" name="take_off_or_detach"/>
<menu_item_call label="Abnehmen" name="detach"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index fb75f62988..968f0f9ed1 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -365,6 +365,10 @@ Sind Sie sicher, dass Sie fortfahren wollen?
Auswahl &lt;nolink&gt;[PICK]&lt;/nolink&gt; löschen?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
+ <notification name="DeleteOutfits">
+ Das/Die ausgewählte(n) Outfit(s) löschen?
+ <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
+ </notification>
<notification name="PromptGoToEventsPage">
Zur [SECOND_LIFE] Events-Webseite?
<url name="url">
@@ -2051,11 +2055,6 @@ Von einer Webseite zu diesem Formular linken, um anderen leichten Zugang zu dies
In-Welt- und Website-Fotos werden hochgeladen...
(Dauert ca. 5 Minuten.)
</notification>
- <notification name="UploadConfirmation">
- Kosten für Hochladen: [AMOUNT] L$.
-Möchten Sie fortfahren?
- <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Hochladen"/>
- </notification>
<notification name="UploadPayment">
Sie haben für das Hochladen [AMOUNT] L$ bezahlt.
</notification>
@@ -2478,9 +2477,6 @@ Von Objekt: [OBJECTNAME], Eigentümer: [NAME]?
<notification name="FailedToFindWearable">
[TYPE] namens [DESC] nicht in Datenbank.
</notification>
- <notification name="ShareToWebFailed">
- Bild aus Internet konnte nicht hochgeladen werden.
- </notification>
<notification name="InvalidWearable">
Dieser Artikel verwendet eine Funktion, die Ihr Viewer nicht unterstützt. Bitte aktualisieren Sie Ihre Version von [APP_NAME], um dieses Objekt anziehen zu können.
</notification>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml
index b6c53be778..4b48950341 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="edit_alpha_panel" width="320">
- <panel name="avatar_alpha_color_panel" width="300">
- <texture_picker label="Alpha: Unten" name="Lower Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="70"/>
- <texture_picker label="Alpha: Oben" name="Upper Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="66"/>
+<panel name="edit_alpha_panel">
+ <panel name="avatar_alpha_color_panel">
+ <texture_picker label="Alpha: Unten" name="Lower Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
+ <texture_picker label="Alpha: Oben" name="Upper Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
<texture_picker label="Kopf: Alpha" name="Head Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
- <texture_picker label="Alpha: Augen" name="Eye Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="72"/>
- <texture_picker label="Alpha: Haare" name="Hair Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="70"/>
+ <texture_picker label="Alpha: Augen" name="Eye Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
+ <texture_picker label="Alpha: Haare" name="Hair Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml
index 830c7b0bb8..075a9d752a 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_tattoo_panel">
<panel name="avatar_tattoo_color_panel">
- <texture_picker label="Kopftattoo" name="Head Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken" width="80"/>
- <texture_picker label="Obere Tattoos" name="Upper Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken" width="80"/>
- <texture_picker label="Untere Tattoos" name="Lower Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken" width="80"/>
+ <texture_picker label="Kopftattoo" name="Head Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
+ <texture_picker label="Obere Tattoos" name="Upper Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
+ <texture_picker label="Untere Tattoos" name="Lower Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_navigation_bar.xml b/indra/newview/skins/default/xui/de/panel_navigation_bar.xml
index 99293edd0f..ee1a543aac 100644
--- a/indra/newview/skins/default/xui/de/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/de/panel_navigation_bar.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="navigation_bar">
<panel name="navigation_panel">
- <pull_button name="back_btn" tool_tip="Zurück zum vorherigen Standort gehen"/>
- <pull_button name="forward_btn" tool_tip="Um einen Standort weiter gehen"/>
+ <pull_button name="back_btn" tool_tip="Zurück zum vorherigen Standort teleportieren"/>
+ <pull_button name="forward_btn" tool_tip="Um einen Standort weiter teleportieren"/>
<button name="home_btn" tool_tip="Zu meinem Zuhause teleportieren"/>
<location_input label="Standort" name="location_combo"/>
<search_combo_box label="Suche" name="search_combo_box" tool_tip="Suche">
diff --git a/indra/newview/skins/default/xui/de/panel_outfit_edit.xml b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
index 00a79e6bb3..b38e07f3e1 100644
--- a/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="Objekt anziehen" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Besuchen Sie den Marktplatz. Sie können auch einen Teil Ihres Outfits auswählen, und dann hier klicken, um ähnliche Artikel anzuzeigen."/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Besuchen Sie den Marktplatz. Sie können auch einen Teil Ihres Outfits auswählen, und dann hier klicken, um ähnliche Artikel anzuzeigen."/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="Speichern" name="save_btn"/>
<button label="Änderungen rückgängig machen" name="revert_btn" tool_tip="Zur zuletzt gespeicherten Version zurücksetzen"/>
diff --git a/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
index 852efe41d7..e25d7d412b 100644
--- a/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Sonstiges" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Ausgewähltes Outfit tragen
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Ausgewählte Objekte tragen
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="MEINE OUTFITS" name="outfitslist_tab"/>
- <inventory_panel label="AKTUELLES OUTFIT" name="cof_tab"/>
+ <panel label="AKTUELLES OUTFIT" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
- <dnd_button name="trash_btn" tool_tip="Ausgewähltes Outfit löschen"/>
<button label="Speichern unter" name="save_btn"/>
<button label="Anziehen" name="wear_btn" tool_tip="Ausgewähltes Outfit tragen"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_outfits_list.xml b/indra/newview/skins/default/xui/de/panel_outfits_list.xml
new file mode 100644
index 0000000000..65a38ea342
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
+ <button name="trash_btn" tool_tip="Ausgewähltes Outfit löschen"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/de/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..27141796a8
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/sidepanel_appearance.xml b/indra/newview/skins/default/xui/de/sidepanel_appearance.xml
index b43067fb95..7fb9b34e0a 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_appearance.xml
@@ -13,7 +13,7 @@
<text name="currentlook_name">
MyOutfit With a really Long Name like MOOSE
</text>
- <button label="" name="edit_outfit_btn" tool_tip="Diese Outfit bearbeiten"/>
+ <button label="" name="edit_outfit_btn" tool_tip="Dieses Outfit bearbeiten"/>
</panel>
<filter_editor label="Outfits filtern" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/sidepanel_item_info.xml b/indra/newview/skins/default/xui/de/sidepanel_item_info.xml
index 77b6076809..63e7bce8ae 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (Inventar)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (Inworld)
+ </panel.string>
<text name="title" value="Objektprofil"/>
<text name="origin" value="(Inventar)"/>
<panel label="">
@@ -27,23 +33,17 @@
<text name="LabelCreatorTitle">
Ersteller:
</text>
- <text name="LabelCreatorName">
- Nicole Linden
- </text>
+ <text name="LabelCreatorName"/>
<button label="Profil" name="BtnCreator"/>
<text name="LabelOwnerTitle">
Eigentümer:
</text>
- <text name="LabelOwnerName">
- Thrax Linden
- </text>
+ <text name="LabelOwnerName"/>
<button label="Profil" name="BtnOwner"/>
<text name="LabelAcquiredTitle">
Erworben:
</text>
- <text name="LabelAcquiredDate">
- Mittwoch, 24. Mai 2006, 12:50:46
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Sie können:
diff --git a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
index 990543b725..6474576c0f 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
@@ -37,7 +37,7 @@
Mischverkauf
</panel.string>
<text name="title" value="Objektprofil"/>
- <text name="where" value="(inworld)"/>
+ <text name="where" value="(Inworld)"/>
<panel label="" name="properties_panel">
<text name="Name:">
Name:
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index f6ae17239a..91aad12e72 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -248,7 +248,7 @@
Anklicken, um Befehl secondlife:// auszuführen
</string>
<string name="CurrentURL" value=" CurrentURL: [CurrentURL]"/>
- <string name="TooltipPrice" value="[PRICE] L$"/>
+ <string name="TooltipPrice" value="[AMOUNT]L$: "/>
<string name="SLurlLabelTeleport">
Teleportieren nach
</string>
@@ -1615,6 +1615,9 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD unten rechts
</string>
+ <string name="Bad attachment point">
+ Ungültige Stelle für Anhang
+ </string>
<string name="CursorPos">
Zeile [LINE], Spalte [COLUMN]
</string>
@@ -1627,15 +1630,21 @@
<string name="PanelDirEventsDateText">
[mthnum,datetime,slt]/[day,datetime,slt]
</string>
- <string name="PanelContentsNewScript">
- Neues Skript
- </string>
<string name="PanelContentsTooltip">
Objektinhalt
</string>
+ <string name="PanelContentsNewScript">
+ Neues Skript
+ </string>
<string name="BusyModeResponseDefault">
Der Einwohner/Die Einwohnerin ist „beschäftigt”, d.h. er/sie möchte im Moment nicht gestört werden. Ihre Nachricht wird dem Einwohner/der Einwohnerin als IM angezeigt, und kann später beantwortet werden.
</string>
+ <string name="NoOutfits">
+ Sie haben noch Outfits. Versuchen Sie es mit der [secondlife:///app/search/all Suche].
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/all/[SEARCH_TERM] Suche].
+ </string>
<string name="MuteByName">
(Nach Namen)
</string>
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index 8c3aa2c9a4..da2be18db6 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -71,7 +71,8 @@
image_name="Cam_Preset_Front_Off" />
<panel_camera_item.selected_picture
image_name="Cam_Preset_Front_On" />
- <panel_camera_item.text>
+ <panel_camera_item.text
+ name="front_view_text">
Front View
</panel_camera_item.text>
</panel_camera_item>
@@ -85,7 +86,8 @@
image_name="Cam_Preset_Side_Off" />
<panel_camera_item.selected_picture
image_name="Cam_Preset_Side_On" />
- <panel_camera_item.text>
+ <panel_camera_item.text
+ name="side_view_text">
Side View
</panel_camera_item.text>
</panel_camera_item>
@@ -100,7 +102,8 @@
image_name="Cam_Preset_Back_Off" />
<panel_camera_item.selected_picture
image_name="Cam_Preset_Back_On" />
- <panel_camera_item.text>
+ <panel_camera_item.text
+ name="rear_view_text">
Rear View
</panel_camera_item.text>
</panel_camera_item>
@@ -122,7 +125,8 @@
<panel_camera_item.mousedown_callback
function="CameraPresets.ChangeView"
parameter="object_view" />
- <panel_camera_item.text>
+ <panel_camera_item.text
+ name="object_view_text">
Object View
</panel_camera_item.text>
<panel_camera_item.picture
@@ -136,7 +140,8 @@
<panel_camera_item.mousedown_callback
function="CameraPresets.ChangeView"
parameter="mouselook_view" />
- <panel_camera_item.text>
+ <panel_camera_item.text
+ name="mouselook_view_text">
Mouselook View
</panel_camera_item.text>
<panel_camera_item.picture
diff --git a/indra/newview/skins/default/xui/en/floater_publish_classified.xml b/indra/newview/skins/default/xui/en/floater_publish_classified.xml
index f25c170f33..6ce9ed6e77 100644
--- a/indra/newview/skins/default/xui/en/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/en/floater_publish_classified.xml
@@ -25,10 +25,11 @@ Remember, Classified fees are non-refundable.
<spinner
decimal_digits="0"
follows="left|top"
+ font="SansSerif"
halign="left"
height="23"
increment="1"
- label_width="45"
+ label_width="50"
label="Price: L$ "
v_pad="10"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index 391a6f99be..691dd79764 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -823,7 +823,7 @@
height="10"
left="10"
name="Name:"
- top="4"
+ top="5"
width="90">
Name:
</text>
@@ -918,29 +918,34 @@
width="75">
Group:
</text>
+ <name_box
+ follows="left|top"
+ height="18"
+ initial_value="Loading..."
+ layout="topleft"
+ left_pad="23"
+ name="Group Name Proxy"
+ width="142" />
<button
follows="top|left"
- height="10"
- image_disabled="Activate_Checkmark"
- image_selected="Activate_Checkmark"
- image_unselected="Activate_Checkmark"
- image_color="White_50"
+ height="23"
+ image_overlay="Edit_Wrench"
layout="topleft"
- left_pad="0"
- top_delta="0"
+ left_pad="3"
name="button set group"
tab_stop="false"
tool_tip="Choose a group to share this object's permissions"
- width="10" />
- <name_box
+ width="23" />
+ <check_box
+ height="19"
follows="left|top"
- height="18"
- initial_value="Loading..."
+ label="Share"
layout="topleft"
- left_pad="5"
- top_delta="-1"
- name="Group Name Proxy"
- width="150" />
+ name="checkbox share with group"
+ tool_tip="Allow all members of the set group to share your modify permissions for this object. You must Deed to enable role restrictions."
+ top_pad="10"
+ left="106"
+ width="87" />
<button
follows="top|left"
height="23"
@@ -948,26 +953,16 @@
label_selected="Deed"
layout="topleft"
name="button deed"
- top_pad="0"
- left="108"
+ left_pad="3"
tool_tip="Deeding gives this item away with next owner permissions. Group shared objects can be deeded by a group officer."
width="80" />
- <check_box
- height="19"
- follows="left|top"
- label="Share"
- layout="topleft"
- name="checkbox share with group"
- tool_tip="Allow all members of the set group to share your modify permissions for this object. You must Deed to enable role restrictions."
- left_pad="3"
- width="100" />
<text
type="string"
length="1"
follows="left|top"
height="16"
layout="topleft"
- top_pad="20"
+ top_pad="10"
left="10"
name="label click action"
width="98">
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index 5c19f1932d..c0046d8e28 100644
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -472,7 +472,7 @@
layout="topleft"
name="Paste Separator" />
<menu_item_call
- label="Remove Link"
+ label="Delete"
layout="topleft"
name="Remove Link">
<menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/menu_inventory_add.xml b/indra/newview/skins/default/xui/en/menu_inventory_add.xml
index 5ad099e2d9..ae98abf4fb 100644
--- a/indra/newview/skins/default/xui/en/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory_add.xml
@@ -50,8 +50,13 @@
function="File.UploadBulk"
parameter="" />
</menu_item_call>
- <menu_item_separator
- layout="topleft" />
+ <menu_item_call
+ label="Set Default Upload Permissions"
+ name="perm prefs">
+ <menu_item_call.on_click
+ function="Floater.Toggle"
+ parameter="perm_prefs" />
+ </menu_item_call>
</menu>
<menu_item_call
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index a8fe1bc984..ccdc8266be 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -707,13 +707,6 @@
label="Options"
name="Options"
tear_off="true">
- <menu_item_call
- label="Set Default Upload Permissions"
- name="perm prefs">
- <menu_item_call.on_click
- function="Floater.Toggle"
- parameter="perm_prefs" />
- </menu_item_call>
<menu_item_check
label="Show Advanced Permissions"
name="DebugPermissions">
@@ -873,8 +866,13 @@
function="File.UploadBulk"
parameter="" />
</menu_item_call>
- <menu_item_separator
- layout="topleft" />
+ <menu_item_call
+ label="Set Default Upload Permissions"
+ name="perm prefs">
+ <menu_item_call.on_click
+ function="Floater.Toggle"
+ parameter="perm_prefs" />
+ </menu_item_call>
</menu>
</menu>
<menu
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 616904d7f6..bf2cb636c8 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -819,7 +819,7 @@ Delete pick &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
icon="alertmodal.tga"
name="DeleteOutfits"
type="alertmodal">
- Delete the selected outfit/s?
+ Delete the selected outfit?
<usetemplate
name="okcancelbuttons"
notext="Cancel"
@@ -5577,7 +5577,6 @@ If you stay in this region you will be logged out.
<notification
icon="notify.tga"
name="LoadWebPage"
- persist="true"
type="notify">
Load web page [URL]?
@@ -5677,7 +5676,6 @@ Grant this request?
<notification
icon="notify.tga"
name="ScriptDialog"
- persist="true"
type="notify">
[NAME]&apos;s &apos;[TITLE]&apos;
[MESSAGE]
@@ -5692,7 +5690,6 @@ Grant this request?
<notification
icon="notify.tga"
name="ScriptDialogGroup"
- persist="true"
type="notify">
[GROUPNAME]&apos;s &apos;[TITLE]&apos;
[MESSAGE]
diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
index cbdd548577..9408f193fd 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
@@ -261,6 +261,34 @@
name="auto_renew"
top_pad="15"
width="250" />
+ <text
+ follows="left|top"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="price_for_listing_label"
+ text_color="white"
+ top_pad="15"
+ value="Price for listing:"
+ width="250" />
+ <spinner
+ decimal_digits="0"
+ follows="left|top"
+ halign="left"
+ height="23"
+ increment="1"
+ label_width="20"
+ label="L$"
+ v_pad="10"
+ layout="topleft"
+ left="10"
+ value="50"
+ min_val="50"
+ max_val="99999"
+ name="price_for_listing"
+ top_pad="5"
+ tool_tip="Price for listing."
+ width="105" />
</panel>
</scroll_container>
<panel
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index 00b1fdd843..2c9d7e4b6a 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -22,14 +22,25 @@
width="600"/>
<icon
follows="all"
- image_name="NavBar_BG_NoFav"
+ image_name="NavBar_BG_NoFav_Bevel"
mouse_opaque="false"
- name="bg_icon_no_fav"
+ name="bg_icon_no_fav_bevel"
scale_image="true"
visible="false"
left="0"
top="0"
- height="50"
+ height="60"
+ width="600"/>
+ <icon
+ follows="all"
+ image_name="NavBar_BG_NoNav_Bevel"
+ mouse_opaque="false"
+ name="bg_icon_no_nav_bevel"
+ scale_image="true"
+ visible="false"
+ left="0"
+ top="0"
+ height="60"
width="600"/>
<panel
background_visible="false"
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 d8675b3512..584ca8b3b5 100644
--- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml
@@ -104,6 +104,7 @@
follows="top|left"
font="SansSerif"
left="10"
+ name="nearby_media_title"
width="100">
Nearby Media
</text>
@@ -114,6 +115,7 @@
font="SansSerif"
top_pad="15"
left="10"
+ name="show_text"
width="40">
Show:
</text>
diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
index 6f84588140..dde0db2513 100644
--- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
@@ -58,6 +58,7 @@
name="replace_body_part"
value="Click to replace your existing shape"/>
+
<button
follows="top|left"
height="24"
@@ -290,7 +291,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
<layout_panel
- background_visible="true"
+ background_visible="false"
bg_alpha_color="DkGray2"
auto_resize="true"
default_tab_group="3"
@@ -317,7 +318,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
background_visible="false"
border="false"
follows="left|top|right|bottom"
- height="449"
+ height="418"
layout="topleft"
left="0"
mouse_opaque="false"
@@ -332,7 +333,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
layout="topleft"
follows="left|top|right|bottom"
border="false"
- height="449"
+ height="418"
left="0"
mouse_opaque="false"
width="310"
@@ -346,10 +347,19 @@ It is calculated as border_size + 2*UIResizeBarOverlap
follows="all"
multi_select="true"
width="313"
- height="449"
+ height="418"
left="0"
top="0"/>
</panel>
+ <button
+ follows="bottom|left"
+ height="22"
+ left="2"
+ label="Wear Item"
+ layout="topleft"
+ name="plus_btn"
+ top_pad="5"
+ width="130" />
</layout_panel>
</layout_stack>
@@ -397,6 +407,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
left_pad="1"
name="shop_btn_1"
top="1"
+ tool_tip="Visit the SL Marketplace. You can also select something you are wearing, then click here to see more things like it"
width="31" />
</panel>
@@ -451,19 +462,6 @@ It is calculated as border_size + 2*UIResizeBarOverlap
name="list_view_btn"
top="1"
width="31" />
- <button
- follows="bottom|left"
- height="25"
- image_hover_unselected="Toolbar_Middle_Over"
- image_overlay="AddItem_Off"
- image_selected="Toolbar_Middle_Selected"
- image_unselected="Toolbar_Middle_Off"
- label=""
- layout="topleft"
- left_pad="1"
- name="plus_btn"
- top="1"
- width="31" />
<icon
follows="bottom|left|right"
height="25"
@@ -471,7 +469,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
layout="topleft"
left_pad="1"
name="dummy_right_icon"
- width="154" >
+ width="186" >
</icon>
<button
follows="bottom|right"
@@ -484,6 +482,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
left_pad="1"
name="shop_btn_2"
top="1"
+ tool_tip="Visit the SL Marketplace. You can also select something you are wearing, then click here to see more things like it"
width="31" />
</panel>
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 27e23440df..d18f0d57ca 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_list.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_list.xml
@@ -16,7 +16,7 @@
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.v_pad="10"
- no_visible_tabs_text.value="..."
+ no_visible_tabs_text.value="You don't have any outfits yet. Try [secondlife:///app/search/all/ Search]"
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 059b645b86..2e865af1e6 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -67,7 +67,7 @@
<string name="SentToInvalidRegion">You were sent to an invalid region.</string>
<string name="TestingDisconnect">Testing viewer disconnect</string>
- <!-- Tooltip, lltooltipview.cpp -->
+ <!-- Tooltip -->
<string name="TooltipPerson">Person</string><!-- Object under mouse pointer is an avatar -->
<string name="TooltipNoName">(no name)</string> <!-- No name on an object -->
<string name="TooltipOwner">Owner:</string> <!-- Owner name follows -->
@@ -83,6 +83,7 @@
<string name="TooltipFlagNoScripts">No Scripts</string>
<string name="TooltipLand">Land:</string>
<string name="TooltipMustSingleDrop">Only a single item can be dragged here</string>
+ <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<!-- tooltips for Urls -->
<string name="TooltipHttpUrl">Click to view this web page</string>
@@ -104,8 +105,6 @@
<string name="TooltipMapUrl">Click to view this location on a map</string>
<string name="TooltipSLAPP">Click to run the secondlife:// command</string>
<string name="CurrentURL" value=" CurrentURL: [CurrentURL]" />
- <string name="TooltipPrice" value=" L$[PRICE]-" />
-
<!-- text for SLURL labels -->
<string name="SLurlLabelTeleport">Teleport to</string>
@@ -1831,9 +1830,26 @@ Clears (deletes) the media and all params from the given face.
<string name="tattoo_not_worn">Tattoo not worn</string>
<string name="invalid_not_worn">invalid</string>
+ <!-- Create new wearable of the specified type -->
+ <string name="create_new_shape">Create new shape</string>
+ <string name="create_new_skin">Create new skin</string>
+ <string name="create_new_hair">Create new hair</string>
+ <string name="create_new_eyes">Create new eyes</string>
+ <string name="create_new_shirt">Create new shirt</string>
+ <string name="create_new_pants">Create new pants</string>
+ <string name="create_new_shoes">Create new shoes</string>
+ <string name="create_new_socks">Create new socks</string>
+ <string name="create_new_jacket">Create new jacket</string>
+ <string name="create_new_gloves">Create new gloves</string>
+ <string name="create_new_undershirt">Create new undershirt</string>
+ <string name="create_new_underpants">Create new underpants</string>
+ <string name="create_new_skirt">Create new skirt</string>
+ <string name="create_new_alpha">Create new alpha</string>
+ <string name="create_new_tattoo">Create new tattoo</string>
+ <string name="create_new_invalid">invalid</string>
+
<!-- Wearable List-->
<string name="NewWearable">New [WEARABLE_ITEM]</string>
- <string name="CreateNewWearable">Create [WEARABLE_TYPE]</string>
<!-- LLGroupNotify -->
<!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->
@@ -1941,6 +1957,9 @@ Clears (deletes) the media and all params from the given face.
<string name="InvFolder Animations">Animations</string>
<string name="InvFolder Gestures">Gestures</string>
<string name="InvFolder Favorite">Favorites</string>
+ <!-- historically default name of the Favorites folder can start from either "f" or "F" letter.
+ We should localize both of them with the same value -->
+ <string name="InvFolder favorite">Favorites</string>
<string name="InvFolder Current Outfit">Current Outfit</string>
<string name="InvFolder My Outfits">My Outfits</string>
<string name="InvFolder Accessories">Accessories</string>
@@ -2160,6 +2179,7 @@ Clears (deletes) the media and all params from the given face.
<string name="ATTACH_HUD_BOTTOM_LEFT">HUD Bottom Left</string>
<string name="ATTACH_HUD_BOTTOM">HUD Bottom</string>
<string name="ATTACH_HUD_BOTTOM_RIGHT">HUD Bottom Right</string>
+ <string name="Bad attachment point">Invalid Attachment Point</string>
<!-- script editor -->
<string name="CursorPos">Line [LINE], Column [COLUMN]</string>
@@ -2172,8 +2192,8 @@ Clears (deletes) the media and all params from the given face.
<string name="PanelDirEventsDateText">[mthnum,datetime,slt]/[day,datetime,slt]</string>
<!-- panel contents -->
- <string name="PanelContentsNewScript">New Script</string>
<string name="PanelContentsTooltip">Content of object</string>
+ <string name="PanelContentsNewScript">New Script</string>
<!-- panel preferences general -->
<string name="BusyModeResponseDefault">The Resident you messaged is in &apos;busy mode&apos; which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing.</string>
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
new file mode 100644
index 0000000000..c08267de82
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<bodyparts_list_item
+ follows="top|right|left"
+ height="23"
+ layout="topleft"
+ left="0"
+ name="wearable_item"
+ bottom="0"
+ width="380">
+ <item_icon
+ height="16"
+ follows="top|left"
+ image_name="Inv_Object"
+ layout="topleft"
+ left="0"
+ name="item_icon"
+ top="2"
+ width="16" />
+ <item_name
+ follows="left|right"
+ height="16"
+ layout="topleft"
+ left="21"
+ allow_html="false"
+ use_ellipses="true"
+ name="item_name"
+ text_color="white"
+ top="5"
+ value="..."
+ width="359" />
+ <lock_panel
+ background_visible="false"
+ name="btn_lock"
+ layout="topleft"
+ follows="top|right"
+ top="0"
+ left="0"
+ height="23"
+ width="23"
+ tab_stop="false"
+ tool_tip="You don't have permission to edit"/>
+ <lock_icon
+ name="btn_lock1"
+ layout="topleft"
+ follows="top|right"
+ image_name="Locked_Icon"
+ top="2"
+ left="5"
+ height="13"
+ width="9"
+ tab_stop="false" />
+ <edit_panel
+ background_visible="false"
+ name="btn_edit_panel"
+ layout="topleft"
+ follows="top|right"
+ top="1"
+ left="17"
+ height="23"
+ width="26"
+ tab_stop="false"/>
+ <edit_btn
+ name="btn_edit"
+ layout="topleft"
+ follows="top|right"
+ image_overlay="Edit_Wrench"
+ top="0"
+ left="0"
+ height="23"
+ width="23"
+ tab_stop="false"
+ tool_tip="Edit this shape"/>
+</bodyparts_list_item>
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
new file mode 100644
index 0000000000..f7a05e9bc4
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<clothing_list_item
+ follows="top|right|left"
+ height="23"
+ layout="topleft"
+ left="0"
+ name="wearable_item"
+ bottom="0"
+ width="380">
+ <lock_icon
+ height="16"
+ follows="top|left"
+ image_name="Inv_Object"
+ layout="topleft"
+ left="21"
+ name="item_icon"
+ top="2"
+ width="16" />
+ <item_name
+ follows="left|right"
+ height="16"
+ layout="topleft"
+ left="42"
+ allow_html="false"
+ use_ellipses="true"
+ name="item_name"
+ text_color="white"
+ top="5"
+ value="..."
+ width="359" />
+ <up_btn
+ name="btn_move_up"
+ layout="topleft"
+ follows="top|right"
+ image_overlay="UpArrow_Off"
+ top="1"
+ left="0"
+ height="23"
+ width="23"
+ tab_stop="false" />
+ <down_btn
+ name="btn_move_down"
+ layout="topleft"
+ follows="top|right"
+ image_overlay="DownArrow_Off"
+ top="1"
+ left="26"
+ height="23"
+ width="23"
+ tab_stop="false" />
+ <lock_panel
+ background_visible="false"
+ name="btn_lock"
+ layout="topleft"
+ follows="top|right"
+ top="0"
+ left="0"
+ height="23"
+ width="23"
+ tab_stop="false"
+ tool_tip="You don't have permission to edit"/>
+ <lock_icon
+ name="btn_lock1"
+ layout="topleft"
+ follows="top|right"
+ image_name="Locked_Icon"
+ top="2"
+ left="5"
+ height="13"
+ width="9"
+ tab_stop="false" />
+ <edit_panel
+ background_visible="false"
+ name="btn_edit_panel"
+ layout="topleft"
+ follows="top|right"
+ top="0"
+ left="26"
+ height="23"
+ width="26"
+ tab_stop="false"/>
+ <edit_btn
+ name="btn_edit"
+ layout="topleft"
+ follows="top|right"
+ image_overlay="Edit_Wrench"
+ top="1"
+ left="0"
+ height="23"
+ width="23"
+ tab_stop="false"
+ tool_tip="Edit this wearable"/>
+</clothing_list_item>
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
new file mode 100644
index 0000000000..88a4682e13
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<deletable_wearable_list_item
+ follows="top|right|left"
+ height="23"
+ layout="topleft"
+ left="0"
+ name="deletable_wearable_item"
+ bottom="0"
+ width="380">
+ <delete_btn
+ name="btn_delete"
+ layout="topleft"
+ follows="top|left"
+ image_unselected="Toast_CloseBtn"
+ image_selected="Toast_CloseBtn"
+ top="3"
+ left="0"
+ height="18"
+ width="18"
+ tab_stop="false"
+ tool_tip="Remove from outfit"/>
+ <item_icon
+ height="16"
+ follows="top|left"
+ image_name="Inv_Object"
+ layout="topleft"
+ left="24"
+ name="item_icon"
+ top="2"
+ width="16" />
+ <item_name
+ follows="left|right"
+ height="16"
+ layout="topleft"
+ left="45"
+ allow_html="false"
+ use_ellipses="true"
+ name="item_name"
+ text_color="white"
+ top="5"
+ value="..."
+ width="359" />
+</deletable_wearable_list_item>
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
new file mode 100644
index 0000000000..80a877a6c2
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<dummy_clothing_list_item
+ follows="top|right|left"
+ height="23"
+ layout="topleft"
+ left="0"
+ name="dummy_clothing_item"
+ bottom="0"
+ width="380">
+ <item_icon
+ height="16"
+ color="0.75 0.75 0.75 1"
+ follows="top|left"
+ image_name="Inv_Object"
+ layout="topleft"
+ left="20"
+ name="item_icon"
+ top="2"
+ width="16" />
+ <item_name
+ follows="left|right"
+ height="16"
+ layout="topleft"
+ left="41"
+ allow_html="false"
+ use_ellipses="true"
+ name="item_name"
+ text_color="LtGray_50"
+ top="4"
+ value="..."
+ width="359" />
+ <add_panel
+ name="btn_add_panel"
+ layout="topleft"
+ follows="top|right"
+ top="0"
+ left="0"
+ height="23"
+ width="26"
+ tab_stop="false"/>
+ <add_btn
+ name="btn_add"
+ layout="topleft"
+ follows="top|right"
+ image_overlay="AddItem_Off"
+ top="0"
+ left="0"
+ height="23"
+ width="23"
+ tab_stop="false"
+ tool_tip="Add more items of this type" />
+</dummy_clothing_list_item>
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 50be0ac1a1..0a5930c820 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,11 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<inventory_list_item
- height="0"
- layout="topleft"
- left="0"
- name="inventory_list_item"
- top="0"
- width="0">
+ follows="top|right|left"
+ height="20"
+ name="inventory_item"
+ tab_stop="false"
+ hover_image="ListItem_Over"
+ selected_image="ListItem_Select"
+ separator_image="Wearables_Divider"
+ width="380">
<!-- DEFAULT style for inventory list item -->
<default_style
font="SansSerifSmall"
@@ -16,4 +18,25 @@
font="SansSerifSmall"
font.style="BOLD"
color="EmphasisColor" />
+ <item_icon
+ height="16"
+ follows="top|left"
+ image_name="Inv_Object"
+ layout="topleft"
+ left="0"
+ name="item_icon"
+ top="0"
+ width="16" />
+ <item_name
+ follows="left|right"
+ height="20"
+ layout="topleft"
+ left="21"
+ allow_html="false"
+ use_ellipses="true"
+ name="item_name"
+ text_color="white"
+ top="4"
+ value="..."
+ width="359" />
</inventory_list_item>
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 5eed89d522..a1645f0c64 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.
</text>
- <spinner label="Precio por el anuncio:" name="price_for_listing" tool_tip="Precio por publicarlo." value="50"/>
+ <spinner label="Precio: L$" name="price_for_listing" tool_tip="Precio por publicarlo." value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
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 4051f64e14..3c0c588284 100644
--- a/indra/newview/skins/default/xui/es/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/es/menu_cof_clothing.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="Quitarme" name="take_off"/>
- <menu_item_call label="Subir una capa" name="move_up"/>
- <menu_item_call label="Bajar una capa" name="move_down"/>
<menu_item_call label="Editar" name="edit"/>
+ <menu_item_call label="Reemplazar" name="replace"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index 8f606aef82..2937b0c4e3 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -76,11 +76,10 @@
<menu_item_call label="Desactivar" name="Deactivate"/>
<menu_item_call label="Guardar como" name="Save As"/>
<menu_item_call label="Quitarse" name="Detach From Yourself"/>
- <menu_item_call label="Ponerse" name="Object Wear"/>
+ <menu_item_call label="Ponerme" name="Wearable And Object Wear"/>
<menu label="Anexar a" name="Attach To"/>
<menu label="Anexar como HUD" name="Attach To HUD"/>
<menu_item_call label="Editar" name="Wearable Edit"/>
- <menu_item_call label="Ponerse" name="Wearable Wear"/>
<menu_item_call label="Añadir" name="Wearable Add"/>
<menu_item_call label="Quitarse" name="Take Off"/>
<menu_item_call label="--sin opciones--" name="--no options--"/>
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 80cf78c0b5..8c4488a285 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,9 +6,10 @@
<menu_item_call label="Ver los filtros" name="show_filters"/>
<menu_item_call label="Restablecer los filtros" name="reset_filters"/>
<menu_item_call label="Cerrar todas las carpetas" name="close_folders"/>
- <menu_item_call label="Vaciar la Papelera" name="empty_trash"/>
<menu_item_call label="Vaciar Objetos Perdidos" name="empty_lostnfound"/>
<menu_item_call label="Guardar la textura como" name="Save Texture As"/>
+ <menu_item_call label="Compartir" name="Share"/>
<menu_item_call label="Encontrar el original" name="Find Original"/>
<menu_item_call label="Encontrar todos los enlazados" name="Find All Links"/>
+ <menu_item_call label="Vaciar la Papelera" name="empty_trash"/>
</menu>
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 39afa5e60b..3b11bceecf 100644
--- a/indra/newview/skins/default/xui/es/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/es/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="Ponerme - Reemplazar el vestuario actual" name="wear"/>
+ <menu_item_call label="Ponerme - Añadir al vestuario actual" name="wear_add"/>
<menu_item_call label="Quitarme - Quitar del vestuario actual" name="take_off"/>
<menu label="Ropas nuevas" name="New Clothes">
<menu_item_call label="Camisa nueva" name="New Shirt"/>
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 96fc3a1e68..5b3d7d8cb3 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,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Reemplazar" name="wear"/>
+ <menu_item_call label="Reemplazar" name="wear_replace"/>
+ <menu_item_call label="Ponerme" name="wear_wear"/>
<menu_item_call label="Añadir" name="wear_add"/>
<menu_item_call label="Quitarme / Quitar" name="take_off_or_detach"/>
<menu_item_call label="Quitar" name="detach"/>
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 836e5d9936..f2ef987d66 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -355,6 +355,10 @@ No se reembolsan las cuotas pagadas.
¿Borrar el destacado &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
+ <notification name="DeleteOutfits">
+ ¿Eliminar el vestuario seleccionado?
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
+ </notification>
<notification name="PromptGoToEventsPage">
¿Ir a la web de eventos de [SECOND_LIFE]?
<url name="url">
@@ -2042,11 +2046,6 @@ 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).
</notification>
- <notification name="UploadConfirmation">
- La subida cuesta [AMOUNT] L$.
-¿Quieres continuar?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Subir"/>
- </notification>
<notification name="UploadPayment">
Has pagado [AMOUNT] LS por la subida.
</notification>
@@ -2466,9 +2465,6 @@ Del objeto: [OBJECTNAME]; propiedad de: [NAME]?
<notification name="FailedToFindWearable">
Búsqueda fallida de [TYPE] de nombre [DESC] en la base de datos.
</notification>
- <notification name="ShareToWebFailed">
- Fallo al subir la imagen a la web.
- </notification>
<notification name="InvalidWearable">
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.
</notification>
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 ca8b77b49f..f697539502 100644
--- a/indra/newview/skins/default/xui/es/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/es/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="Ponerme un ítem" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Visita el Mercado de SL. Asimismo, puedes seleccionar algo que lleves puesto y, a continuación, hacer clic aquí para ver más ítems relacionados"/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Visita el Mercado de SL. Asimismo, puedes seleccionar algo que lleves puesto y, a continuación, hacer clic aquí para ver más ítems relacionados"/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="Guardar" name="save_btn"/>
<button label="Deshacer los cambios" name="revert_btn" tool_tip="Volver a la última versión guardada"/>
diff --git a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
index 75defd97cf..582b0d1955 100644
--- a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Cosas" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Ponerme el vestuario seleccionado
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Ponerme ítems seleccionados
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="MIS VESTUARIOS" name="outfitslist_tab"/>
- <inventory_panel label="PUESTO" name="cof_tab"/>
+ <panel label="PUESTO" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Ver más opciones"/>
- <dnd_button name="trash_btn" tool_tip="Eliminar el vestuario seleccionado"/>
<button label="Guardar como" name="save_btn"/>
<button label="Ponerme" name="wear_btn" tool_tip="Ponerme el vestuario seleccionado"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_outfits_list.xml b/indra/newview/skins/default/xui/es/panel_outfits_list.xml
new file mode 100644
index 0000000000..661b44e419
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Ver más opciones"/>
+ <button name="trash_btn" tool_tip="Eliminar el vestuario seleccionado"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/es/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..8cea619bd5
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Ver más opciones"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml
index d2c1295c76..38f43c3cbc 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[wkday,datetime,local][day,datetime,local] [mth,datetime,local] [year,datetime,local][hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (Inventario)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (En el mundo)
+ </panel.string>
<text name="title" value="Perfil del elemento"/>
<text name="origin" value="(Inventario)"/>
<panel label="">
@@ -35,9 +41,7 @@
<text name="LabelAcquiredTitle">
Obtenido:
</text>
- <text name="LabelAcquiredDate">
- Miér., 24 Mayo 2006 12:50:46
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Tú puedes:
diff --git a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
index f40813d3c9..e6d9e28aff 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
@@ -37,7 +37,7 @@
Mixed Sale
</panel.string>
<text name="title" value="Perfil del objeto"/>
- <text name="where" value="(en el mundo)"/>
+ <text name="where" value="(En el mundo)"/>
<panel label="" name="properties_panel">
<text name="Name:">
Nombre:
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 717665f4d9..917b0641cc 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -236,7 +236,7 @@
Pulsa para ejecutar el comando secondlife://
</string>
<string name="CurrentURL" value="URL actual: [CurrentURL]"/>
- <string name="TooltipPrice" value="[PRICE] L$"/>
+ <string name="TooltipPrice" value="[AMOUNT]L$: "/>
<string name="SLurlLabelTeleport">
Teleportarse a
</string>
@@ -1588,21 +1588,30 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD: abajo der.
</string>
+ <string name="Bad attachment point">
+ Punto de colocación no válido
+ </string>
<string name="CursorPos">
Línea [LINE], Columna [COLUMN]
</string>
<string name="PanelDirCountFound">
[COUNT] resultados
</string>
- <string name="PanelContentsNewScript">
- Script nuevo
- </string>
<string name="PanelContentsTooltip">
Contenido del objeto
</string>
+ <string name="PanelContentsNewScript">
+ Script nuevo
+ </string>
<string name="BusyModeResponseDefault">
El Residente al que has enviado un mensaje ha solicitado que no se le moleste porque está en modo ocupado. Podrá ver tu mensaje más adelante, ya que éste aparecerá en su panel de MI.
</string>
+ <string name="NoOutfits">
+ Todavía no tienes vestuario. Intenta con [secondlife:///app/search/all/ Buscar]
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ ¿No encuentras lo que buscas? Intenta con [secondlife:///app/search/all/[SEARCH_TERM] Buscar].
+ </string>
<string name="MuteByName">
(Por el nombre)
</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml b/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml
index 503fe5c154..ab68ce166b 100644
--- a/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml
+++ b/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml
@@ -44,7 +44,7 @@
</text>
<check_box label="Copier" name="everyone_copy"/>
<text name="NextOwnerLabel">
- Le prochain propriétaire :
+ Prochain propr. :
</text>
<check_box label="Modifier" name="next_owner_modify"/>
<check_box label="Copier" name="next_owner_copy"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_pay.xml b/indra/newview/skins/default/xui/fr/floater_pay.xml
index 30e510efb5..06cc7df522 100644
--- a/indra/newview/skins/default/xui/fr/floater_pay.xml
+++ b/indra/newview/skins/default/xui/fr/floater_pay.xml
@@ -18,7 +18,7 @@
<button label="10 L$" label_selected="10 L$" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" name="fastpay 20"/>
<text left="4" name="amount text">
- Ou choisissez un montant :
+ Ou choisir un montant :
</text>
<line_editor left="60" name="amount" width="55"/>
<button label="Payer" label_selected="Payer" name="pay btn"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_pay_object.xml b/indra/newview/skins/default/xui/fr/floater_pay_object.xml
index 9cac739ab0..bb8dee241f 100644
--- a/indra/newview/skins/default/xui/fr/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/fr/floater_pay_object.xml
@@ -22,7 +22,7 @@
<button label="10 L$" label_selected="10 L$" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" name="fastpay 20"/>
<text halign="left" left="5" name="amount text">
- Ou choisissez un montant :
+ Ou choisir un montant :
</text>
<line_editor left="65" name="amount" width="50"/>
<button label="Payer" label_selected="Payer" name="pay btn"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_publish_classified.xml b/indra/newview/skins/default/xui/fr/floater_publish_classified.xml
index 39a2b086f1..d4d8652434 100644
--- a/indra/newview/skins/default/xui/fr/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/fr/floater_publish_classified.xml
@@ -5,7 +5,7 @@
Rappel : les frais liés aux annonces passées ne sont pas remboursables.
</text>
- <spinner label="Coût de l&apos;annonce :" name="price_for_listing" tool_tip="Coût de l’annonce." value="50"/>
+ <spinner label="Prix : L$" name="price_for_listing" tool_tip="Coût de l’annonce." value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
En savoir plus (lien vers l&apos;aide sur les annonces)
diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
index 6f81bf68b1..34d0957b46 100644
--- a/indra/newview/skins/default/xui/fr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
@@ -13,7 +13,7 @@
</text>
<button label="Rafraîchir" name="new_snapshot_btn"/>
<button label="Envoyer" name="send_btn"/>
- <button label="Enregistrer ([AMOUNT] L$)" name="upload_btn"/>
+ <button label="Enreg. ([AMOUNT] L$)" name="upload_btn"/>
<flyout_button label="Enregistrer" name="save_btn" tool_tip="Enregistrer l&apos;image sous forme de fichier">
<flyout_button.item label="Enregistrer" name="save_item"/>
<flyout_button.item label="Enregistrer sous..." name="saveas_item"/>
@@ -56,8 +56,8 @@
<combo_box.item label="JPEG" name="JPEG"/>
<combo_box.item label="BMP" name="BMP"/>
</combo_box>
- <spinner label="Largeur" name="snapshot_width"/>
- <spinner label="Hauteur" name="snapshot_height"/>
+ <spinner label="Larg." name="snapshot_width"/>
+ <spinner label="Haut." name="snapshot_height"/>
<check_box label="Contraindre les proportions" name="keep_aspect_check"/>
<slider label="Qualité de l&apos;image" name="image_quality_slider"/>
<text name="layer_type_label">
diff --git a/indra/newview/skins/default/xui/fr/menu_bottomtray.xml b/indra/newview/skins/default/xui/fr/menu_bottomtray.xml
index e058c66a17..bfdc89c5bb 100644
--- a/indra/newview/skins/default/xui/fr/menu_bottomtray.xml
+++ b/indra/newview/skins/default/xui/fr/menu_bottomtray.xml
@@ -2,7 +2,7 @@
<menu name="hide_camera_move_controls_menu">
<menu_item_check label="Bouton Geste" name="ShowGestureButton"/>
<menu_item_check label="Bouton Bouger" name="ShowMoveButton"/>
- <menu_item_check label="Bouton Afficher" name="ShowCameraButton"/>
+ <menu_item_check label="Bouton Affichage" name="ShowCameraButton"/>
<menu_item_check label="Bouton Photo" name="ShowSnapshotButton"/>
<menu_item_check label="Bouton Panneau latéral" name="ShowSidebarButton"/>
<menu_item_check label="Bouton Construire" name="ShowBuildButton"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_cof_clothing.xml b/indra/newview/skins/default/xui/fr/menu_cof_clothing.xml
index c5641c756a..03cc569704 100644
--- a/indra/newview/skins/default/xui/fr/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/fr/menu_cof_clothing.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="Enlever" name="take_off"/>
- <menu_item_call label="Couche supérieure" name="move_up"/>
- <menu_item_call label="Couche inférieure" name="move_down"/>
<menu_item_call label="Modifier" name="edit"/>
+ <menu_item_call label="Remplacer" name="replace"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml b/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml
index 02d734045a..4512d1bf7e 100644
--- a/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml
+++ b/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml
@@ -5,6 +5,6 @@
<menu_item_call label="Coller" name="paste"/>
<menu_item_call label="Copier l&apos;UUID" name="copy_uuid"/>
<menu_item_call label="Enregistrer dans la tenue actuelle" name="save_to_outfit"/>
- <menu_item_call label="Éditer" name="edit_gesture"/>
+ <menu_item_call label="Modifier" name="edit_gesture"/>
<menu_item_call label="Inspecter" name="inspect"/>
</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml
index 8b0d726e51..0e12ff68c6 100644
--- a/indra/newview/skins/default/xui/fr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml
@@ -76,11 +76,10 @@
<menu_item_call label="Désactiver" name="Deactivate"/>
<menu_item_call label="Enregistrer sous" name="Save As"/>
<menu_item_call label="Détacher de vous" name="Detach From Yourself"/>
- <menu_item_call label="Porter" name="Object Wear"/>
+ <menu_item_call label="Porter" name="Wearable And Object Wear"/>
<menu label="Attacher à" name="Attach To"/>
<menu label="Attacher au HUD " name="Attach To HUD"/>
<menu_item_call label="Éditer" name="Wearable Edit"/>
- <menu_item_call label="Porter" name="Wearable Wear"/>
<menu_item_call label="Ajouter" name="Wearable Add"/>
<menu_item_call label="Enlever" name="Take Off"/>
<menu_item_call label="--aucune option--" name="--no options--"/>
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 4cfdfd2614..73770dce5f 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,9 +6,10 @@
<menu_item_call label="Afficher les filtres" name="show_filters"/>
<menu_item_call label="Réinitialiser les filtres" name="reset_filters"/>
<menu_item_call label="Fermer tous les dossiers" name="close_folders"/>
- <menu_item_call label="Vider la corbeille" name="empty_trash"/>
<menu_item_call label="Vider les objets trouvés" name="empty_lostnfound"/>
<menu_item_call label="Enregistrer la texture sous" name="Save Texture As"/>
+ <menu_item_call label="Partager" name="Share"/>
<menu_item_call label="Trouver l&apos;original" name="Find Original"/>
<menu_item_call label="Trouver tous les liens" name="Find All Links"/>
+ <menu_item_call label="Vider la corbeille" name="empty_trash"/>
</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_landmark.xml b/indra/newview/skins/default/xui/fr/menu_landmark.xml
index 2e0cafa227..73eaa4af7e 100644
--- a/indra/newview/skins/default/xui/fr/menu_landmark.xml
+++ b/indra/newview/skins/default/xui/fr/menu_landmark.xml
@@ -2,6 +2,6 @@
<toggleable_menu name="landmark_overflow_menu">
<menu_item_call label="Copier la SLurl" name="copy"/>
<menu_item_call label="Supprimer" name="delete"/>
- <menu_item_call label="Créer une préférence" name="pick"/>
- <menu_item_call label="Ajouter à la barre des Favoris" name="add_to_favbar"/>
+ <menu_item_call label="Créer un favori" name="pick"/>
+ <menu_item_call label="Ajouter à la barre des favoris" name="add_to_favbar"/>
</toggleable_menu>
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 93730c6206..5db7f176b5 100644
--- a/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="Porter - Remplacer la tenue actuelle" name="wear"/>
+ <menu_item_call label="Porter - Ajouter à la tenue actuelle" name="wear_add"/>
<menu_item_call label="Enlever - Supprimer de la tenue actuelle" name="take_off"/>
<menu label="Nouveaux habits" name="New Clothes">
<menu_item_call label="Nouvelle chemise" name="New Shirt"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_picks_plus.xml b/indra/newview/skins/default/xui/fr/menu_picks_plus.xml
index a3b4fb4f55..b6cde6d6e2 100644
--- a/indra/newview/skins/default/xui/fr/menu_picks_plus.xml
+++ b/indra/newview/skins/default/xui/fr/menu_picks_plus.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="picks_plus_menu">
- <menu_item_call label="Nouveau Favori" name="create_pick"/>
+ <menu_item_call label="Nouveau favori" name="create_pick"/>
<menu_item_call label="Nouvelle petite annonce" name="create_classified"/>
</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_place.xml b/indra/newview/skins/default/xui/fr/menu_place.xml
index beaf37011f..441b476ad2 100644
--- a/indra/newview/skins/default/xui/fr/menu_place.xml
+++ b/indra/newview/skins/default/xui/fr/menu_place.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="place_overflow_menu">
<menu_item_call label="Enregistrer comme repère" name="landmark"/>
- <menu_item_call label="Créer une préférence" name="pick"/>
+ <menu_item_call label="Créer un favori" name="pick"/>
<menu_item_call label="Acheter un pass" name="pass"/>
<menu_item_call label="Éditer" name="edit"/>
</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml
index 2ad007c142..5491c1b3fc 100644
--- a/indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml
+++ b/indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml
@@ -14,5 +14,5 @@
<menu_item_call label="Développer tous les dossiers" name="expand_all"/>
<menu_item_call label="Réduire tous les dossiers" name="collapse_all"/>
<menu_item_check label="Trier par date" name="sort_by_date"/>
- <menu_item_call label="Créer une préférence" name="create_pick"/>
+ <menu_item_call label="Créer un favori" name="create_pick"/>
</menu>
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 39e8ca2173..c477471a64 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,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Remplacer" name="wear"/>
+ <menu_item_call label="Remplacer" name="wear_replace"/>
+ <menu_item_call label="Porter" name="wear_wear"/>
<menu_item_call label="Ajouter" name="wear_add"/>
<menu_item_call label="Enlever / Détacher" name="take_off_or_detach"/>
<menu_item_call label="Détacher" name="detach"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 363009ec37..3dc4f4bd93 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -168,7 +168,7 @@ Ajouter ce pouvoir à « [ROLE_NAME] » ?
<notification name="AttachmentDrop">
Vous êtes sur le point d&apos;abandonner l&apos;élément joint.
Voulez-vous vraiment continuer ?
- <usetemplate ignoretext="Confirmez avant d&apos;abandonner les éléments joints." name="okcancelignore" notext="Non" yestext="Oui"/>
+ <usetemplate ignoretext="Confirmer avant d&apos;abandonner les éléments joints" name="okcancelignore" notext="Non" yestext="Oui"/>
</notification>
<notification name="JoinGroupCanAfford">
Rejoindre ce groupe coûte [COST] L$.
@@ -357,6 +357,10 @@ Voulez-vous vraiment continuer ?
Supprimer la sélection &lt;nolink&gt;[PICK]&lt;/nolink&gt; ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
+ <notification name="DeleteOutfits">
+ Supprimer la ou les tenues sélectionnées ?
+ <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
+ </notification>
<notification name="PromptGoToEventsPage">
Aller à la page web de [SECOND_LIFE] réservée aux événements ?
<url name="url">
@@ -1346,7 +1350,7 @@ Télécharger vers le dossier Applications ?
</notification>
<notification name="WebLaunchQAWiki">
Consultez le Wiki sur l&apos;Assurance Qualité de [SECOND_LIFE].
- <usetemplate ignoretext="Lancer mon navigateur web pour consulter la page Wiki sur l&apos;Assurance Qualité." name="okcancelignore" notext="Annuler" yestext="OK"/>
+ <usetemplate ignoretext="Lancer mon navigateur web pour consulter la page Wiki sur l&apos;Assurance Qualité" name="okcancelignore" notext="Annuler" yestext="OK"/>
</notification>
<notification name="WebLaunchPublicIssue">
Pour signaler des bugs et autres problèmes, utilisez le JIRA de [SECOND_LIFE].
@@ -2032,11 +2036,6 @@ Liez-la à partir d&apos;une page web pour permettre aux autres résidents d&apo
Importation de photos SL et Web en cours...
(prend environ 5 minutes.)
</notification>
- <notification name="UploadConfirmation">
- Le chargement coûte [AMOUNT] L$.
-Continuer ?
- <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Charger"/>
- </notification>
<notification name="UploadPayment">
Le chargement a coûté [AMOUNT] L$.
</notification>
@@ -2460,9 +2459,6 @@ Venant de l&apos;objet : [OBJECTNAME], appartenant à : [NAME]?
<notification name="FailedToFindWearable">
La recherche du [TYPE] nommé(e) [DESC] dans la base de données a échoué.
</notification>
- <notification name="ShareToWebFailed">
- Échec de chargement de l&apos;image sur le Web.
- </notification>
<notification name="InvalidWearable">
L&apos;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].
</notification>
@@ -2645,7 +2641,7 @@ Elles vont être bloquées pendant quelques secondes pour votre sécurité.
</notification>
<notification name="ConfirmCloseAll">
Êtes-vous certain de vouloir fermer tous les IM ?
- <usetemplate ignoretext="Confirmer avant de fermer tous les IM." name="okcancelignore" notext="Annuler" yestext="OK"/>
+ <usetemplate ignoretext="Confirmer avant de fermer tous les IM" name="okcancelignore" notext="Annuler" yestext="OK"/>
</notification>
<notification name="AttachmentSaved">
L&apos;élément joint a été sauvegardé.
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml
index 9a6939e6b7..086542dee2 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_tattoo_panel">
<panel name="avatar_tattoo_color_panel">
- <texture_picker label="Tatouage tête" name="Head Tattoo" tool_tip="Cliquez pour sélectionner une image" width="76"/>
- <texture_picker label="Tatouage haut" name="Upper Tattoo" tool_tip="Cliquez pour sélectionner une image" width="80"/>
- <texture_picker label="Tatouage bas" name="Lower Tattoo" tool_tip="Cliquez pour sélectionner une image" width="76"/>
+ <texture_picker label="Tatouage tête" name="Head Tattoo" tool_tip="Cliquez pour sélectionner une image"/>
+ <texture_picker label="Tatouage haut" name="Upper Tattoo" tool_tip="Cliquez pour sélectionner une image"/>
+ <texture_picker label="Tatouage bas" name="Lower Tattoo" tool_tip="Cliquez pour sélectionner une image"/>
<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
</panel>
</panel>
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 ec6d995274..a2655dcd45 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.
<spinner label="L$" name="spin_enrollment_fee" tool_tip="Les nouveaux membres doivent payer ces frais pour rejoindre le groupe quand l&apos;option Frais d&apos;inscription est cochée."/>
<combo_box name="group_mature_check" tool_tip="Définit si votre groupe contient des informations de type Modéré" width="195">
<combo_item name="select_mature">
- - Sélectionner une catégorie de contenu -
+ - Catégorie de contenu -
</combo_item>
<combo_box.item label="Contenu Modéré" name="mature"/>
<combo_box.item label="Contenu Général" name="pg"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_land_money.xml b/indra/newview/skins/default/xui/fr/panel_group_land_money.xml
index 192dd799ba..dcc27a9be4 100644
--- a/indra/newview/skins/default/xui/fr/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_land_money.xml
@@ -23,7 +23,7 @@
<scroll_list.columns label="Parcelle" name="name"/>
<scroll_list.columns label="Région" name="location"/>
<scroll_list.columns label="Type" name="type"/>
- <scroll_list.columns label="Surface" name="area"/>
+ <scroll_list.columns label="Surf." name="area"/>
</scroll_list>
<text name="total_contributed_land_label">
Total des contributions :
diff --git a/indra/newview/skins/default/xui/fr/panel_group_notices.xml b/indra/newview/skins/default/xui/fr/panel_group_notices.xml
index 5ea7ba192b..5fc1397763 100644
--- a/indra/newview/skins/default/xui/fr/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_notices.xml
@@ -52,7 +52,7 @@ Vous pouvez désactiver la réception des notices dans l&apos;onglet Général.
Détails
</text>
<text name="lbl2">
- Pour envoyer une nouvelle notice, cliquez sur le bouton +
+ Pour envoyer une nouvelle notice, cliquez sur +.
</text>
<text name="lbl3">
Sujet :
diff --git a/indra/newview/skins/default/xui/fr/panel_me.xml b/indra/newview/skins/default/xui/fr/panel_me.xml
index 2521967bc6..219e5801f2 100644
--- a/indra/newview/skins/default/xui/fr/panel_me.xml
+++ b/indra/newview/skins/default/xui/fr/panel_me.xml
@@ -2,6 +2,6 @@
<panel label="Mon profil" name="panel_me">
<tab_container name="tabs">
<panel label="MON PROFIL" name="panel_profile"/>
- <panel label="MES PRÉFÉRENCES" name="panel_picks"/>
+ <panel label="MES FAVORIS" name="panel_picks"/>
</tab_container>
</panel>
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 b17803eaad..a3d23b0e70 100644
--- a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="Porter l&apos;article" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Visiter la Place du marché SL. Vous pouvez également sélectionner quelque chose que vous portez, puis cliquer ici pour consulter d&apos;autres articles similaires."/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Visiter la Place du marché SL. Vous pouvez également sélectionner quelque chose que vous portez, puis cliquer ici pour consulter d&apos;autres articles similaires."/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="Enregistrer" name="save_btn"/>
<button label="Annuler les modifications" name="revert_btn" tool_tip="Rétablir la dernière version enregistrée"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
index d241b07ad8..791a0bcf2e 100644
--- a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Choses" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Porter la tenue sélectionnée
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Porter les articles sélectionnés
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="MES TENUES" name="outfitslist_tab"/>
- <inventory_panel label="PORTÉ" name="cof_tab"/>
+ <panel label="PORTÉ" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Afficher d&apos;autres options"/>
- <dnd_button name="trash_btn" tool_tip="Supprimer la tenue sélectionnée"/>
<button label="Enregistrer sous" name="save_btn"/>
<button label="Porter" name="wear_btn" tool_tip="Porter la tenue sélectionnée"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_list.xml b/indra/newview/skins/default/xui/fr/panel_outfits_list.xml
new file mode 100644
index 0000000000..ab352deec4
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Afficher d&apos;autres options"/>
+ <button name="trash_btn" tool_tip="Supprimer la tenue sélectionnée"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..874bab2daa
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Afficher d&apos;autres options"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_picks.xml b/indra/newview/skins/default/xui/fr/panel_picks.xml
index e33281defc..78acf929ba 100644
--- a/indra/newview/skins/default/xui/fr/panel_picks.xml
+++ b/indra/newview/skins/default/xui/fr/panel_picks.xml
@@ -7,7 +7,7 @@
<accordion_tab name="tab_classifieds" title="Petites annonces"/>
</accordion>
<panel label="bottom_panel" name="edit_panel">
- <button name="new_btn" tool_tip="Créer une nouvelle préférence ou petite annonce à l&apos;emplacement actuel"/>
+ <button name="new_btn" tool_tip="Créer un nouveau favori ou une nouvelle petite annonce à l&apos;endroit actuel"/>
</panel>
<panel name="buttons_cucks">
<button label="Infos" name="info_btn" tool_tip="Afficher les informations du Favori"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_general.xml b/indra/newview/skins/default/xui/fr/panel_preferences_general.xml
index 8e8ee26af4..3245132972 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_general.xml
@@ -59,7 +59,7 @@
<combo_box.item label="5 minutes" name="item1"/>
<combo_box.item label="10 minutes" name="item2"/>
<combo_box.item label="30 minutes" name="item3"/>
- <combo_box.item label="jamais" name="item4"/>
+ <combo_box.item label="Jamais" name="item4"/>
</combo_box>
<text name="text_box3">
Réponse si occupé(e) :
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
index 12813e115f..23dc2f6e89 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
@@ -13,10 +13,10 @@
Faible
</text>
<text name="ShadersPrefText2">
- Moyen
+ Moyenne
</text>
<text name="ShadersPrefText3">
- Élevé
+ Élevée
</text>
<text name="ShadersPrefText4">
Ultra
diff --git a/indra/newview/skins/default/xui/fr/panel_region_general.xml b/indra/newview/skins/default/xui/fr/panel_region_general.xml
index 925f4375da..ada4583648 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_general.xml
@@ -39,5 +39,5 @@
<button label="Téléporter un résident chez lui…" name="kick_btn"/>
<button label="Téléporter tous les résidents chez eux…" name="kick_all_btn"/>
<button label="Envoyer un message à la région..." name="im_btn"/>
- <button label="Gérer le Téléhub..." name="manage_telehub_btn"/>
+ <button label="Gérer le téléhub..." name="manage_telehub_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/role_actions.xml b/indra/newview/skins/default/xui/fr/role_actions.xml
index c049de48b1..c91bbbcf51 100644
--- a/indra/newview/skins/default/xui/fr/role_actions.xml
+++ b/indra/newview/skins/default/xui/fr/role_actions.xml
@@ -3,12 +3,12 @@
<action_set description="Ces pouvoirs permettent d&apos;ajouter et de supprimer des membres du groupe et permettent aux nouveaux membres de rejoindre le groupe sans recevoir d&apos;invitation." name="Membership">
<action description="Inviter des membres dans ce groupe" longdescription="Invitez des personnes à rejoindre ce groupe en utilisant le bouton Inviter dans l&apos;onglet Membres de la section Rôles." name="member invite" value="1"/>
<action description="Expulser des membres du groupe" longdescription="Expulsez des personnes de ce groupe en utilisant le bouton Expulser dans l&apos;onglet Membres de la section Rôles. Un propriétaire peut expulser tout le monde à l&apos;exception des autres propriétaires. Si vous n&apos;êtes pas propriétaire, vous pouvez expulser un membre d&apos;un groupe uniquement si il n&apos;a que le rôle Tous et AUCUN autre rôle. Pour supprimer des membres des rôles, vous devez disposer du pouvoir correspondant." name="member eject" value="2"/>
- <action description="Activez Inscription libre et modifiez les frais d&apos;inscription" longdescription="Activez Inscription libre pour permettre aux nouveaux membres de s&apos;inscrire sans invitation, et changez les frais d&apos;inscription dans la section Général." name="member options" value="3"/>
+ <action description="Activer Inscription libre et modifiez les frais d&apos;inscription" longdescription="Activez Inscription libre pour permettre aux nouveaux membres de s&apos;inscrire sans invitation, et changez les frais d&apos;inscription dans la section Général." name="member options" value="3"/>
</action_set>
<action_set description="Ces pouvoirs permettent d&apos;ajouter, de supprimer et de modifier les rôles dans le groupe et d&apos;y assigner des membres et des pouvoirs." name="Roles">
<action description="Créer des rôles" longdescription="Créez de nouveaux rôles dans l&apos;onglet Rôles de la section Rôles." name="role create" value="4"/>
<action description="Supprimer des rôles" longdescription="Supprimez des rôles dans l&apos;onglet Rôles de la section Rôles." name="role delete" value="5"/>
- <action description="Changez les noms, les titres et les descriptions des rôles, et indiquez si les membres des rôles sont rendus publics" longdescription="Changez les noms, les titres et les descriptions des rôles, et indiquez si les membres des rôles sont rendus publics. Vous pouvez le faire au bas de l&apos;onglet Rôles dans la section Rôles, après avoir sélectionné un rôle." name="role properties" value="6"/>
+ <action description="Changer les noms, les titres et les descriptions des rôles et indiquer si les membres des rôles sont rendus publics" longdescription="Changez les noms, les titres et les descriptions des rôles, et indiquez si les membres des rôles sont rendus publics. Vous pouvez le faire au bas de l&apos;onglet Rôles dans la section Rôles, après avoir sélectionné un rôle." name="role properties" value="6"/>
<action description="Attribuer des rôles limités" longdescription="Assignez des membres aux rôles dans la liste Rôles assignés (section Rôles &gt; onglet Membres). Un membre avec ce pouvoir peut uniquement ajouter des membres à un rôle dans lequel le responsable de l&apos;assignation est déjà présent." name="role assign member limited" value="7"/>
<action description="Attribuer tous les rôles" longdescription="Assignez des membres à n&apos;importe quel rôle dans la liste Rôles assignés (section Rôles &gt; onglet Membres). *AVERTISSEMENT* Tout membre disposant de ce pouvoir peut s&apos;assigner lui-même, ainsi que tout autre membre non-propriétaire, à des rôles disposant de pouvoirs plus importants, et accéder potentiellement à des pouvoirs proches de ceux d&apos;un propriétaire. Assurez-vous de bien comprendre ce que vous faites avant d&apos;attribuer ce pouvoir." name="role assign member" value="8"/>
<action description="Destituer des membres de leurs rôles" longdescription="Supprimez des membres des rôles dans la liste Rôles assignés (section Rôles &gt; onglet Membres). Les propriétaires ne peuvent pas être supprimés." name="role remove member" value="9"/>
@@ -24,8 +24,8 @@
<action description="Diviser et fusionner des parcelles" longdescription="Divisez et fusionnez des parcelles. Pour ce faire, cliquez sur le sol avec le bouton droit de la souris, sélectionnez Modifier le terrain et faites glisser la souris sur le terrain pour faire une sélection. Pour diviser une parcelle, sélectionnez ce que vous souhaitez diviser et cliquez sur Sous-diviser. Pour fusionner des parcelles, sélectionnez-en deux ou plus qui sont contiguës et cliquez sur Fusionner." name="land divide join" value="15"/>
</action_set>
<action_set description="Ces pouvoirs permettent de modifier le nom de la parcelle, son référencement dans la recherche et le lieu de téléportation." name="Parcel Identity">
- <action description="Activez Afficher le lieu dans la recherche et définissez la catégorie" longdescription="Activez Afficher le lieu dans la recherche et définissez la catégorie d&apos;une parcelle dans l&apos;onglet À propos du terrain &gt; Options." name="land find places" value="17"/>
- <action description="Modifiez le nom et la description de la parcelle, ainsi que les paramètres d&apos;affichage du lieu dans la recherche" longdescription="Modifiez le nom et la description de la parcelle, ainsi que les paramètres d&apos;affichage du lieu dans la recherche. Pour ce faire, utilisez l&apos;onglet À propos du terrain &gt; Options." name="land change identity" value="18"/>
+ <action description="Activer Afficher le lieu dans la recherche et définir la catégorie" longdescription="Activez Afficher le lieu dans la recherche et définissez la catégorie d&apos;une parcelle dans l&apos;onglet À propos du terrain &gt; Options." name="land find places" value="17"/>
+ <action description="Modifier le nom et la description de la parcelle, ainsi que les paramètres d&apos;affichage du lieu dans la recherche" longdescription="Modifiez le nom et la description de la parcelle, ainsi que les paramètres d&apos;affichage du lieu dans la recherche. Pour ce faire, utilisez l&apos;onglet À propos du terrain &gt; Options." name="land change identity" value="18"/>
<action description="Définir le lieu d&apos;arrivée et le routage des téléportations" longdescription="Définissez le lieu d&apos;arrivée des téléportations et le routage à partir du menu À propos du terrain &gt; Options." name="land set landing point" value="19"/>
</action_set>
<action_set description="Ces pouvoirs permettent de définir les options de la parcelle concernant la musique, les médias, la création d&apos;objets et le relief." name="Parcel Settings">
@@ -43,7 +43,7 @@
<action_set description="Ces pouvoirs permettent d&apos;autoriser ou d&apos;interdire l&apos;accès à des parcelles du groupe et de figer ou d&apos;expulser des résidents." name="Parcel Access">
<action description="Gérer la liste d&apos;accès à la parcelle" longdescription="Gérez la liste des résidents autorisés sur la parcelle à partir du menu À propos du terrain &gt; Accès." name="land manage allowed" value="29"/>
<action description="Gérer la liste noire de cette parcelle" longdescription="Gérez les listes des résidents bannis des parcelles dans l&apos;onglet À propos du terrain &gt; Accès." name="land manage banned" value="30"/>
- <action description="Modifiez les paramètres Vendre des pass à" longdescription="Modifiez les paramètres Vendre des pass à dans l&apos;onglet À propos du terrain &gt; Accès." name="land manage passes" value="31"/>
+ <action description="Modifier les paramètres Vendre des pass à" longdescription="Modifiez les paramètres Vendre des pass à dans l&apos;onglet À propos du terrain &gt; Accès." name="land manage passes" value="31"/>
<action description="Expulser et figer des résidents" longdescription="Les membres dans un rôle avec ce pouvoir peuvent se charger des résidents indésirables sur une parcelle appartenant au groupe en cliquant dessus, puis en sélectionnant Expulser ou Figer." name="land admin" value="32"/>
</action_set>
<action_set description="Ces pouvoirs permettent de renvoyer des objets du groupe et de placer ou déplacer des plantes Linden pour aménager le paysage. Utilisez ce pouvoir avec précaution car les objets renvoyés le sont définitivement." name="Parcel Content">
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml
index db7e6a9365..0a5680fe06 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (inventaire)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (dans Second Life)
+ </panel.string>
<text name="title" value="Profil de l&apos;article"/>
<text name="origin" value="(inventaire)"/>
<panel label="">
@@ -27,23 +33,17 @@
<text name="LabelCreatorTitle">
Créateur :
</text>
- <text name="LabelCreatorName">
- Nicole Linden
- </text>
+ <text name="LabelCreatorName"/>
<button label="Profil" name="BtnCreator"/>
<text name="LabelOwnerTitle">
Propriétaire :
</text>
- <text name="LabelOwnerName">
- Thrax Linden
- </text>
+ <text name="LabelOwnerName"/>
<button label="Profil" name="BtnOwner"/>
<text name="LabelAcquiredTitle">
Acquis :
</text>
- <text name="LabelAcquiredDate">
- Wed May 24 12:50:46 2006
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Vous pouvez :
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index 604398a658..f8da908cff 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -248,7 +248,7 @@
Cliquez pour exécuter la commande secondlife:// command
</string>
<string name="CurrentURL" value=" URL actuelle : [CurrentURL]"/>
- <string name="TooltipPrice" value="[PRICE] L$-"/>
+ <string name="TooltipPrice" value="[AMOUNT]L$: "/>
<string name="SLurlLabelTeleport">
Me téléporter vers
</string>
@@ -1615,6 +1615,9 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD en bas à droite
</string>
+ <string name="Bad attachment point">
+ Point d&apos;attache non valide
+ </string>
<string name="CursorPos">
Ligne [LINE], colonne [COLUMN]
</string>
@@ -1627,15 +1630,21 @@
<string name="PanelDirEventsDateText">
[mthnum,datetime,slt]/[day,datetime,slt]
</string>
- <string name="PanelContentsNewScript">
- Nouveau script
- </string>
<string name="PanelContentsTooltip">
Contenu de l&apos;objet
</string>
+ <string name="PanelContentsNewScript">
+ Nouveau script
+ </string>
<string name="BusyModeResponseDefault">
Le résident auquel vous avez envoyé un message est en mode Occupé, ce qui signifie qu&apos;il a demandé à ne pas être dérangé. Votre message restera affiché dans son panneau IM afin qu&apos;il puisse le lire ultérieurement.
</string>
+ <string name="NoOutfits">
+ Aucune tenue n&apos;est actuellement en votre possession. Essayez [secondlife:///app/search/all Rechercher].
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ Vous n&apos;avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/all/Rechercher [SEARCH_TERM]].
+ </string>
<string name="MuteByName">
(par nom)
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_about_land.xml b/indra/newview/skins/default/xui/it/floater_about_land.xml
index c9a004be9f..af83a38746 100644
--- a/indra/newview/skins/default/xui/it/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/it/floater_about_land.xml
@@ -320,7 +320,7 @@ Solamente terreni più grandi possono essere abilitati nella ricerca.
<text name="allow_label">
Permetti ad altri residenti di:
</text>
- <check_box label="Modificare il terreno" name="edit land check" tool_tip="Se spuntato, chiunque può terraformare il tuo terreno. E&apos; preferibile lasciare questo quadrato non spuntato, dato che sarai sempre in grado di modificare il tuo terreno."/>
+ <check_box label="Modificare il terreno" name="edit land check" tool_tip="Se spuntata, chiunque può terraformare il tuo terreno. È preferibile lasciare questa opzione non spuntata, dato che sarai comunque in grado di modificare il tuo terreno."/>
<check_box label="Permetti il volo" name="check fly" tool_tip="Se spuntato, gli altri residenti potranno volare sul tuo terreno. Se non spuntato, potranno solamente arrivare in volo o sorvolare il terreno."/>
<text name="allow_label2">
Creare oggetti:
@@ -328,7 +328,7 @@ Solamente terreni più grandi possono essere abilitati nella ricerca.
<check_box label="Tutti i residenti" name="edit objects check"/>
<check_box label="Gruppo" name="edit group objects check"/>
<text name="allow_label3">
- Entrata oggetti:
+ Immissione oggetti:
</text>
<check_box label="Tutti i residenti" name="all object entry check"/>
<check_box label="Gruppo" name="group object entry check"/>
@@ -340,9 +340,9 @@ Solamente terreni più grandi possono essere abilitati nella ricerca.
<text name="land_options_label">
Opzioni per il terreno:
</text>
- <check_box label="Sicuro (senza danno)" name="check safe" tool_tip="Se spuntato, imposta il terreno su &apos;sicuro&apos;, disabilitando i danni da combattimento. Se non spuntato, viene abilitato il combattimento a morte."/>
+ <check_box label="Sicuro (senza danno)" name="check safe" tool_tip="Se spuntato, imposta il terreno su &apos;sicuro&apos;, disabilitando i danni da combattimento. Se non spuntato, viene abilitato il combattimento con danni."/>
<check_box label="Nessuna spinta" name="PushRestrictCheck" tool_tip="Previeni i colpi. Selezionare questa opzione può essere utile per prevenire comportamenti dannosi sul tuo terreno."/>
- <check_box label="Mostra luogo nella ricerca (30 L$/settimana)" name="ShowDirectoryCheck" tool_tip="Lascia che questa terra sia vista dagli altri nei risultati di ricerca"/>
+ <check_box label="Mostra luogo nella ricerca (30 L$/settimana)" name="ShowDirectoryCheck" tool_tip="Consenti che il lotto sia visto nei risultati di ricerca"/>
<combo_box name="land category with adult">
<combo_box.item label="Tutte le categorie" name="item0"/>
<combo_box.item label="Luogo dei Linden" name="item1"/>
@@ -421,7 +421,7 @@ Texture:
<spinner left_delta="104" name="media_size_width" tool_tip="Aumenta larghezza per far vedere meglio i media web, lascia a 0 per impostare il default."/>
<spinner name="media_size_height" tool_tip="Aumenta altezza per far vedere meglio i media web, lascia a 0 per impostare il default."/>
<text name="pixels">
- pixels
+ pixel
</text>
<text name="Options:">
Opzioni
diff --git a/indra/newview/skins/default/xui/it/floater_buy_currency.xml b/indra/newview/skins/default/xui/it/floater_buy_currency.xml
index 1327e8b172..0a499a6c44 100644
--- a/indra/newview/skins/default/xui/it/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/it/floater_buy_currency.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy currency" title="ACQUISTA L$">
<floater.string name="buy_currency">
- Acquista [LINDENS] L$ per circa [LOCALAMOUNT]
+ acquistare [LINDENS] L$ per circa [LOCALAMOUNT]
</floater.string>
<text font="SansSerifLarge" left="5" name="info_need_more" right="-5">
Ti servono più L$
@@ -57,8 +57,8 @@
<text bottom_delta="16" name="purchase_warning_notenough">
Non stai acquistando abbastanza L$. Aumenta l&apos;importo.
</text>
- <button label="Acquista adesso" name="buy_btn"/>
- <button label="Cancella" name="cancel_btn"/>
+ <button label="Acquista" name="buy_btn"/>
+ <button label="Annulla" name="cancel_btn"/>
<text left="5" name="info_cannot_buy" right="-5">
Non in grado di acquistare
</text>
diff --git a/indra/newview/skins/default/xui/it/floater_publish_classified.xml b/indra/newview/skins/default/xui/it/floater_publish_classified.xml
index 6984412728..c371e28caa 100644
--- a/indra/newview/skins/default/xui/it/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/it/floater_publish_classified.xml
@@ -5,7 +5,7 @@
Ricordiamo che i costi per gli annunci non possono essere rimborsati
</text>
- <spinner label="Prezzo per inserzione:" name="price_for_listing" tool_tip="Prezzo per inserzione:" value="50"/>
+ <spinner label="Prezzo: L$" name="price_for_listing" tool_tip="Prezzo per inserzione:" value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
Maggiori informazioni (link alla guida sugli annunci)
diff --git a/indra/newview/skins/default/xui/it/menu_cof_clothing.xml b/indra/newview/skins/default/xui/it/menu_cof_clothing.xml
index 5b4f8c0642..1e16ce8ed1 100644
--- a/indra/newview/skins/default/xui/it/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/it/menu_cof_clothing.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="Togli" name="take_off"/>
- <menu_item_call label="Un livello in alto" name="move_up"/>
- <menu_item_call label="Un livello in basso" name="move_down"/>
<menu_item_call label="Modifica" name="edit"/>
+ <menu_item_call label="Sostituisci" name="replace"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml
index fb8361ad05..0f879ad9cc 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory.xml
@@ -76,11 +76,10 @@
<menu_item_call label="Disattiva" name="Deactivate"/>
<menu_item_call label="Salva con nome" name="Save As"/>
<menu_item_call label="Stacca da te" name="Detach From Yourself"/>
- <menu_item_call label="Indossa" name="Object Wear"/>
+ <menu_item_call label="Indossa" name="Wearable And Object Wear"/>
<menu label="Attacca a" name="Attach To"/>
<menu label="Attacca all&apos;HUD" name="Attach To HUD"/>
<menu_item_call label="Modifica" name="Wearable Edit"/>
- <menu_item_call label="Indossa" name="Wearable Wear"/>
<menu_item_call label="Aggiungi" name="Wearable Add"/>
<menu_item_call label="Togli" name="Take Off"/>
<menu_item_call label="--nessuna opzione--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml
index cf87148f2e..9f1b413276 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml
@@ -6,9 +6,10 @@
<menu_item_call label="Mostra filtri" name="show_filters"/>
<menu_item_call label="Ripristina filtri" name="reset_filters"/>
<menu_item_call label="Chiudi tutte le cartelle" name="close_folders"/>
- <menu_item_call label="Svuota cestino" name="empty_trash"/>
<menu_item_call label="Svuota oggetti smarriti" name="empty_lostnfound"/>
<menu_item_call label="Salva texture come" name="Save Texture As"/>
+ <menu_item_call label="Condividi" name="Share"/>
<menu_item_call label="Trova originale" name="Find Original"/>
<menu_item_call label="Trova tutti i link" name="Find All Links"/>
+ <menu_item_call label="Svuota cestino" name="empty_trash"/>
</menu>
diff --git a/indra/newview/skins/default/xui/it/menu_outfit_gear.xml b/indra/newview/skins/default/xui/it/menu_outfit_gear.xml
index cf39779b67..a02d4ad429 100644
--- a/indra/newview/skins/default/xui/it/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/it/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="Indossa - Sostituisci vestiario attuale" name="wear"/>
+ <menu_item_call label="Indossa - Aggiungi al vestiario attuale" name="wear_add"/>
<menu_item_call label="Togli - Rimuovi dal vestiario attuale" name="take_off"/>
<menu label="Nuovi abiti" name="New Clothes">
<menu_item_call label="Nuova camicia" name="New Shirt"/>
diff --git a/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml
index 0173e8a66a..4848d95370 100644
--- a/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Sostituisci" name="wear"/>
+ <menu_item_call label="Sostituisci" name="wear_replace"/>
+ <menu_item_call label="Indossa" name="wear_wear"/>
<menu_item_call label="Aggiungi" name="wear_add"/>
<menu_item_call label="Togli / Stacca" name="take_off_or_detach"/>
<menu_item_call label="Stacca" name="detach"/>
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index 67c5e29caf..44b8211bdb 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -358,6 +358,10 @@ Vuoi continuare?
Elimina preferito &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
</notification>
+ <notification name="DeleteOutfits">
+ Elimina il vestiario selezionato?
+ <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
+ </notification>
<notification name="PromptGoToEventsPage">
Vai alla pagina degli eventi di [SECOND_LIFE]?
<url name="url">
@@ -2039,11 +2043,6 @@ Inseriscilo in una pagina web per dare ad altri un accesso facile a questa ubica
Sto importando le fotografie per l&apos;uso inworld e per il web...
(Durata circa 5 minuti.)
</notification>
- <notification name="UploadConfirmation">
- Il costo per il caricamento è di L$ [AMOUNT].
-Continuare?
- <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Carica nel server"/>
- </notification>
<notification name="UploadPayment">
Hai pagato [AMOUNT]L$ per il caricamento.
</notification>
@@ -2463,9 +2462,6 @@ Dall&apos;oggetto: [OBJECTNAME], di: [NAME]?
<notification name="FailedToFindWearable">
Impossibile trovare [TYPE] chiamato [DESC] nel database.
</notification>
- <notification name="ShareToWebFailed">
- Caricamento dell&apos;immagine su Web non riuscita.
- </notification>
<notification name="InvalidWearable">
L&apos;elemento che stai tentando di indossare usa delle caratteristiche che il tuo viewer non può leggere. Aggiorna la versione di [APP_NAME] per poterlo indossare.
</notification>
diff --git a/indra/newview/skins/default/xui/it/panel_outfit_edit.xml b/indra/newview/skins/default/xui/it/panel_outfit_edit.xml
index 54f03dfa65..6628d4f730 100644
--- a/indra/newview/skins/default/xui/it/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/it/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="Indossa capo" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Visita Marketplace di SL. In alternativa puoi scegliere un capo che stai indossando, poi fare clic qui per vedere altri capi simili"/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Visita Marketplace di SL. In alternativa puoi scegliere un capo che stai indossando, poi fare clic qui per vedere altri capi simili"/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="Salva" name="save_btn"/>
<button label="Annulla modifiche" name="revert_btn" tool_tip="Ripristina l&apos;ultima versione salvata"/>
diff --git a/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml
index 7027e9d733..8f6ca38767 100644
--- a/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Cose" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Indossa il vestiario selezionato
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Indossa capi selezionati
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="I MIEI ABITI" name="outfitslist_tab"/>
- <inventory_panel label="INDOSSA" name="cof_tab"/>
+ <panel label="INDOSSA" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Mostra opzioni addizionali"/>
- <dnd_button name="trash_btn" tool_tip="Elimina il vestiario selezionato"/>
<button label="Salva con nome" name="save_btn"/>
<button label="Indossa" name="wear_btn" tool_tip="Indossa il vestiario selezionato"/>
</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_outfits_list.xml b/indra/newview/skins/default/xui/it/panel_outfits_list.xml
new file mode 100644
index 0000000000..e5194e95d7
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostra ulteriori opzioni"/>
+ <button name="trash_btn" tool_tip="Elimina il vestiario selezionato"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/it/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..3bbf2446f5
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostra ulteriori opzioni"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_people.xml b/indra/newview/skins/default/xui/it/panel_people.xml
index 056e424436..3d07ff45ba 100644
--- a/indra/newview/skins/default/xui/it/panel_people.xml
+++ b/indra/newview/skins/default/xui/it/panel_people.xml
@@ -3,7 +3,7 @@
<panel label="Persone" name="people_panel">
<string name="no_recent_people" value="Nessuna persona recente. Stai cercando persone da frequentare? Prova la [secondlife:///app/search/people Ricerca] o la [secondlife:///app/worldmap Mappa del mondo]."/>
<string name="no_filtered_recent_people" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/people/[SEARCH_TERM] Cerca]."/>
- <string name="no_one_near" value="Nessuno vicino. Stai cercando persone da frequentare? Try la [secondlife:///app/search/people Ricerca] o la [secondlife:///app/worldmap Mappa del mondo]."/>
+ <string name="no_one_near" value="Nessuno vicino. Stai cercando persone da frequentare? Prova a vedere la [secondlife:///app/search/people Ricerca] o la [secondlife:///app/worldmap Mappa del mondo]."/>
<string name="no_one_filtered_near" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/people/[SEARCH_TERM] Cerca]."/>
<string name="no_friends_online" value="Nessun amico online"/>
<string name="no_friends" value="Nessun amico"/>
diff --git a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml
index 37a19b2e50..d0ec943e67 100644
--- a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (Inventario)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (in Second Life)
+ </panel.string>
<text name="title" value="Profilo articolo"/>
<text name="origin" value="(Inventario)"/>
<panel label="">
@@ -35,9 +41,7 @@
<text name="LabelAcquiredTitle">
Acquisito:
</text>
- <text name="LabelAcquiredDate">
- mer 24 maggio 12:50:46 2006
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Tu puoi:
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index aeaf8098b9..52fbd87420 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -242,7 +242,7 @@
Clicca per avviare il comando secondlife://
</string>
<string name="CurrentURL" value="URL attuale: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$ [PRICE]-"/>
+ <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teleportati a
</string>
@@ -1594,21 +1594,30 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD basso a destra
</string>
+ <string name="Bad attachment point">
+ Punto di collegamento non valido
+ </string>
<string name="CursorPos">
Riga [LINE], Colonna [COLUMN]
</string>
<string name="PanelDirCountFound">
[COUNT] trovato/i
</string>
- <string name="PanelContentsNewScript">
- Nuovo script
- </string>
<string name="PanelContentsTooltip">
Contenuto dell&apos;oggetto
</string>
+ <string name="PanelContentsNewScript">
+ Nuovo script
+ </string>
<string name="BusyModeResponseDefault">
Il residente al quale hai inviato un messaggio è in modalità &apos;occupato&apos;, ovvero ha chiesto di non essere disturbato. Il tuo messaggio comparirà nel suo pannello IM, dove potrà essere letto in un secondo momento.
</string>
+ <string name="NoOutfits">
+ Non hai ancora vestiario da indossare. Prova [secondlife:///app/search/all Cerca].
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/all/[SEARCH_TERM] Cerca].
+ </string>
<string name="MuteByName">
(In base al nome)
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_publish_classified.xml b/indra/newview/skins/default/xui/ja/floater_publish_classified.xml
index ca6204424e..f33406da51 100644
--- a/indra/newview/skins/default/xui/ja/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/ja/floater_publish_classified.xml
@@ -5,7 +5,7 @@
クラシファイド広告は返金できませんのでご了承ください。
</text>
- <spinner label="広告費:" name="price_for_listing" tool_tip="掲載価格" value="50"/>
+ <spinner label="価格:L$" name="price_for_listing" tool_tip="掲載価格" value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
詳しい情報(クラシファイドヘルプへのリンク)
diff --git a/indra/newview/skins/default/xui/ja/menu_cof_clothing.xml b/indra/newview/skins/default/xui/ja/menu_cof_clothing.xml
index 9da909fa17..d984342896 100644
--- a/indra/newview/skins/default/xui/ja/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/ja/menu_cof_clothing.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="取り外す" name="take_off"/>
- <menu_item_call label="上のレイヤーに移動" name="move_up"/>
- <menu_item_call label="下のレイヤーに移動" name="move_down"/>
<menu_item_call label="編集" name="edit"/>
+ <menu_item_call label="交換" name="replace"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index 782b9ea5a5..ceae7f7d9c 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -76,11 +76,10 @@
<menu_item_call label="非アクティブ" name="Deactivate"/>
<menu_item_call label="別名で保存する" name="Save As"/>
<menu_item_call label="自分から取り外す" name="Detach From Yourself"/>
- <menu_item_call label="装着" name="Object Wear"/>
+ <menu_item_call label="装着" name="Wearable And Object Wear"/>
<menu label="装着先" name="Attach To"/>
<menu label="HUD 装着先" name="Attach To HUD"/>
<menu_item_call label="編集" name="Wearable Edit"/>
- <menu_item_call label="装着" name="Wearable Wear"/>
<menu_item_call label="追加" name="Wearable Add"/>
<menu_item_call label="取り外す" name="Take Off"/>
<menu_item_call label="--オプションなし--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml
index e3114327a0..f0e5e936ca 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml
@@ -6,9 +6,10 @@
<menu_item_call label="フィルターを表示" name="show_filters"/>
<menu_item_call label="フィルターをリセット" name="reset_filters"/>
<menu_item_call label="すべてのフォルダを閉じる" name="close_folders"/>
- <menu_item_call label="ごみ箱を空にする" name="empty_trash"/>
<menu_item_call label="紛失物を空にする" name="empty_lostnfound"/>
<menu_item_call label="別名でテクスチャを保存" name="Save Texture As"/>
+ <menu_item_call label="共有" name="Share"/>
<menu_item_call label="オリジナルを表示" name="Find Original"/>
<menu_item_call label="すべてのリンクを表示" name="Find All Links"/>
+ <menu_item_call label="ごみ箱を空にする" name="empty_trash"/>
</menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_outfit_gear.xml b/indra/newview/skins/default/xui/ja/menu_outfit_gear.xml
index e68ed5ccc7..d31b34deeb 100644
--- a/indra/newview/skins/default/xui/ja/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/ja/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="着る - 着用中のアウトフィットを入れ替える" name="wear"/>
+ <menu_item_call label="着る - 着用中のアウトフィットに追加する" name="wear_add"/>
<menu_item_call label="取り外す - 着用中のアウトフィットから取り除く" name="take_off"/>
<menu label="衣類" name="New Clothes">
<menu_item_call label="シャツ" name="New Shirt"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml
index 13bfb09f5f..73a8f87afd 100644
--- a/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="交換" name="wear"/>
+ <menu_item_call label="交換" name="wear_replace"/>
+ <menu_item_call label="装着" name="wear_wear"/>
<menu_item_call label="追加" name="wear_add"/>
<menu_item_call label="取り外す" name="take_off_or_detach"/>
<menu_item_call label="取り外す" name="detach"/>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index e1c434b6b3..8fceaa2817 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -380,6 +380,10 @@ L$ が不足しているのでこのグループに参加することができ
&lt;nolink&gt;[PICK]&lt;/nolink&gt; を削除しますか?
<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
</notification>
+ <notification name="DeleteOutfits">
+ 選択したアウトフィットを削除しますか?
+ <usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
+ </notification>
<notification name="PromptGoToEventsPage">
[SECOND_LIFE] イベント Web ページに移動しますか?
<url name="url">
@@ -2086,11 +2090,6 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
インワールドと Web サイトのスナップショットをアップロード中です...
(所要時間:約 5 分)
</notification>
- <notification name="UploadConfirmation">
- アップロード料金は L$[AMOUNT] です。
-続けますか?
- <usetemplate name="okcancelbuttons" notext="キャンセル" yestext="アップロード"/>
- </notification>
<notification name="UploadPayment">
アップロードに L$ [AMOUNT] 支払いました。
</notification>
@@ -2518,9 +2517,6 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
<notification name="FailedToFindWearable">
データベースに [DESC] という名前の [TYPE] が見つかりませんでした。
</notification>
- <notification name="ShareToWebFailed">
- Web サイトへの画像のアップロードに失敗しました。
- </notification>
<notification name="InvalidWearable">
着用しようとしているアイテムはあなたのビューワでは読み込むことができません。 [APP_NAME] のバージョンをアップグレードしてからこのアイテムを着用してください。
</notification>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml
index c3f8c12620..f4cfe6d83f 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_tattoo_panel">
<panel name="avatar_tattoo_color_panel">
- <texture_picker label="頭部のタトゥー" name="Head Tattoo" tool_tip="クリックして写真を選択" width="70"/>
- <texture_picker label="上部のタトゥー" name="Upper Tattoo" tool_tip="クリックして写真を選択" width="70"/>
- <texture_picker label="下部のタトゥー" name="Lower Tattoo" tool_tip="クリックして写真を選択" width="70"/>
+ <texture_picker label="頭部のタトゥー" name="Head Tattoo" tool_tip="クリックして写真を選択"/>
+ <texture_picker label="上部のタトゥー" name="Upper Tattoo" tool_tip="クリックして写真を選択"/>
+ <texture_picker label="下部のタトゥー" name="Lower Tattoo" tool_tip="クリックして写真を選択"/>
<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml b/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml
index 48b17e4818..8d1da51be5 100644
--- a/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="アイテムを装着" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="「SL マーケットプレイス」ページをご覧ください。また、いま着用しているアイテムを選択してここをクリックすると、それに似たアイテムが表示されます。"/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="「SL マーケットプレイス」ページをご覧ください。また、いま着用しているアイテムを選択してここをクリックすると、それに似たアイテムが表示されます。"/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="保存" name="save_btn"/>
<button label="変更を元に戻す" name="revert_btn" tool_tip="前回保存された状態に戻す"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml
index 9588cf529a..c649113000 100644
--- a/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="もの" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ 選択したアウトフィットを着用する
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ 選択した商品を着用
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="マイ アウトフィット" name="outfitslist_tab"/>
- <inventory_panel label="着用中" name="cof_tab"/>
+ <panel label="着用中" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="その他のオプションを表示します"/>
- <dnd_button name="trash_btn" tool_tip="選択したアウトフィットを削除する"/>
<button label="別名で保存" name="save_btn"/>
<button label="装着" name="wear_btn" tool_tip="選択したアウトフィットを着用します"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_list.xml b/indra/newview/skins/default/xui/ja/panel_outfits_list.xml
new file mode 100644
index 0000000000..e9e36e4842
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="オプションを表示します"/>
+ <button name="trash_btn" tool_tip="選択したアウトフィットを削除する"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..fd03e6b89e
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="オプションを表示します"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml
index b194608181..fdabe88362 100644
--- a/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[year,datetime,local] [mth,datetime,local] [day,datetime,local] [wkday,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (持ち物)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (インワールド)
+ </panel.string>
<text name="title" value="アイテムのプロフィール"/>
<text name="origin" value="(持ち物)"/>
<panel label="">
@@ -27,23 +33,17 @@
<text name="LabelCreatorTitle">
制作者:
</text>
- <text name="LabelCreatorName">
- Nicole Linden
- </text>
+ <text name="LabelCreatorName"/>
<button label="プロフィール" name="BtnCreator"/>
<text name="LabelOwnerTitle">
所有者:
</text>
- <text name="LabelOwnerName">
- Thrax Linden
- </text>
+ <text name="LabelOwnerName"/>
<button label="プロフィール" name="BtnOwner"/>
<text name="LabelAcquiredTitle">
取得:
</text>
- <text name="LabelAcquiredDate">
- Wed May 24 12:50:46 2006
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
あなたができること:
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index 619f9fc9ef..3ed110df4d 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -248,7 +248,7 @@
クリックして secondlife:// コマンドを出します
</string>
<string name="CurrentURL" value=" 現在の URL: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[PRICE]-"/>
+ <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
テレポート
</string>
@@ -1615,6 +1615,9 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD(右下)
</string>
+ <string name="Bad attachment point">
+ 装着先が正しくありません
+ </string>
<string name="CursorPos">
[LINE] 行目、[COLUMN] 列目
</string>
@@ -1627,15 +1630,21 @@
<string name="PanelDirEventsDateText">
[mthnum,datetime,slt]/[day,datetime,slt]
</string>
- <string name="PanelContentsNewScript">
- 新規スクリプト
- </string>
<string name="PanelContentsTooltip">
オブジェクトの中身
</string>
+ <string name="PanelContentsNewScript">
+ 新規スクリプト
+ </string>
<string name="BusyModeResponseDefault">
メッセージを送った住人は、誰にも邪魔をされたくないため現在「取り込み中」モードです。 あなたのメッセージは、あとで確認できるように IM パネルに表示されます。
</string>
+ <string name="NoOutfits">
+ アウトフィットがまだありません。[secondlife:///app/search/all/ 検索]をお試しください。
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ お探しのものは見つかりましたか?[secondlife:///app/search/all/[SEARCH_TERM] 検索]をお試しください。
+ </string>
<string name="MuteByName">
(名称別)
</string>
diff --git a/indra/newview/skins/default/xui/pl/floater_about.xml b/indra/newview/skins/default/xui/pl/floater_about.xml
index b49247c4bf..e032008e7b 100644
--- a/indra/newview/skins/default/xui/pl/floater_about.xml
+++ b/indra/newview/skins/default/xui/pl/floater_about.xml
@@ -27,9 +27,9 @@ Karta graficzna: [GRAPHICS_CARD]
Wersja libcurl: [LIBCURL_VERSION]
Wersja dekodera J2C: [J2C_VERSION]
-Wersja sterownika audio: [AUDIO_DRIVER_VERSION]
+Wersja Audio Driver: [AUDIO_DRIVER_VERSION]
Wersja Qt Webkit: [QT_WEBKIT_VERSION]
-Wersja Vivox: [VIVOX_VERSION]
+Wersja serwera głosu: [VOICE_VERSION]
</floater.string>
<floater.string name="none">
(żadne)
@@ -43,11 +43,14 @@ Wersja Vivox: [VIVOX_VERSION]
</panel>
<panel label="Podziękowania" name="credits_panel">
<text_editor name="credits_editor">
- Second Life zostało stworzone dla Was przez: Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les and many others.
+ Second Life zostało stworzone dla Was przez Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain, and many others.
-Podziękowania dla następujących rezydentów za pomoc w pracy nad obecną wersją Second Life: (in progress)
-It is a rare mind indeed that can render the hitherto non-existent blindingly obvious. The cry &apos;I could have thought of that&apos; is a very popular and misleading one, for the fact is that they didn&apos;t, and a very significant and revealing fact it is too.
- -- Douglas Adams
+Podziękowania dla następujących Rezydentów za pomoc w pracy nad obecną wersją Second Life: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan, and many others.
+
+
+
+
+&quot;The work goes on, the cause endures, the hope still lives, and the dreams shall never die&quot; - Edward Kennedy
</text_editor>
</panel>
<panel label="Licencje" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/pl/floater_about_land.xml b/indra/newview/skins/default/xui/pl/floater_about_land.xml
index 163868f200..d0521fefc3 100644
--- a/indra/newview/skins/default/xui/pl/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/pl/floater_about_land.xml
@@ -63,6 +63,9 @@
Posiadłość nie wybrana.
Idź do Świat &gt; O Posiadłości albo wybierz inną posiadłość żeby pokazać jej dane.
</panel.string>
+ <panel.string name="time_stamp_template">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </panel.string>
<text name="Name:">
Nazwa:
</text>
diff --git a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml
index ca06665c65..d8ae185687 100644
--- a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml
@@ -141,35 +141,35 @@ Maksymalna długość pliku animacji wynosi [MAX_LENGTH] sekund.
Ekspresja
</text>
<combo_box label="" name="emote_combo" tool_tip="Kontroluj mimikę twarzy w czasie animacji">
- <combo_box.item label="(Żadne)" name="[None]"/>
- <combo_box.item label="Aaaaah" name="Aaaaah"/>
- <combo_box.item label="Obawa" name="Afraid"/>
- <combo_box.item label="Złość" name="Angry"/>
- <combo_box.item label="Duży Uśmiech" name="BigSmile"/>
- <combo_box.item label="Znudzenie" name="Bored"/>
- <combo_box.item label="Płacz" name="Cry"/>
- <combo_box.item label="Wzgarda" name="Disdain"/>
- <combo_box.item label="Zakłopotanie" name="Embarrassed"/>
- <combo_box.item label="Marszczenie Brwi" name="Frown"/>
- <combo_box.item label="Pocałunek" name="Kiss"/>
- <combo_box.item label="Śmiech" name="Laugh"/>
- <combo_box.item label="Plllppt" name="Plllppt"/>
- <combo_box.item label="Odrzucenie" name="Repulsed"/>
- <combo_box.item label="Smutek" name="Sad"/>
- <combo_box.item label="Wzruszenie Ramionami" name="Shrug"/>
- <combo_box.item label="Uśmiech" name="Smile"/>
- <combo_box.item label="Niespodzianka" name="Surprise"/>
- <combo_box.item label="Mrugnięcie" name="Wink"/>
- <combo_box.item label="Zmartwienie" name="Worry"/>
+ <item label="(Żadne)" name="[None]" value=""/>
+ <item label="Aaaaah" name="Aaaaah" value="Aaaaah"/>
+ <item label="Obawa" name="Afraid" value="Obawa"/>
+ <item label="Złość" name="Angry" value="Złość"/>
+ <item label="Duży Uśmiech" name="BigSmile" value="Duży uśmiech"/>
+ <item label="Znudzenie" name="Bored" value="Znudzenie"/>
+ <item label="Płacz" name="Cry" value="Płacz"/>
+ <item label="Wzgarda" name="Disdain" value="Wzgarda"/>
+ <item label="Zakłopotanie" name="Embarrassed" value="Zakłopotanie"/>
+ <item label="Marszczenie Brwi" name="Frown" value="Marszczenie brwi"/>
+ <item label="Pocałunek" name="Kiss" value="Pocałunek"/>
+ <item label="Śmiech" name="Laugh" value="Śmiech"/>
+ <item label="Plllppt" name="Plllppt" value="Plllppt"/>
+ <item label="Odrzucenie" name="Repulsed" value="Odrzucenie"/>
+ <item label="Smutek" name="Sad" value="Smutek"/>
+ <item label="Wzruszenie Ramionami" name="Shrug" value="Wzruszenie ramionami"/>
+ <item label="Uśmiech" name="Smile" value="Uśmiech"/>
+ <item label="Niespodzianka" name="Surprise" value="Niespodzianka"/>
+ <item label="Mrugnięcie" name="Wink" value="Mrugnięcie"/>
+ <item label="Zmartwienie" name="Worry" value="Zmartwienie"/>
</combo_box>
<text name="preview_label">
Przeglądaj kiedy:
</text>
<combo_box label="" name="preview_base_anim" tool_tip="Przetestuj zachowanie animacji kiedy awatar wykonuje normalne czynności">
- <combo_box.item label="Stoisz" name="Standing"/>
- <combo_box.item label="Chodzisz" name="Walking"/>
- <combo_box.item label="Siedzisz" name="Sitting"/>
- <combo_box.item label="Latasz" name="Flying"/>
+ <item label="Stoisz" name="Standing" value="Stoisz"/>
+ <item label="Chodzisz" name="Walking" value="Chodzisz"/>
+ <item label="Siedzisz" name="Sitting" value="Siedzisz"/>
+ <item label="Latasz" name="Flying" value="Latasz"/>
</combo_box>
<spinner label="Złagodzić w (sekund)" name="ease_in_time" tool_tip="Ilość Czasu (w sekundach), w których animacje mieszają się"/>
<spinner label="Złagodzić na zewnątrz (sekund)" name="ease_out_time" tool_tip="Ilość Czasu (w sekundach), w których animacje oddzielają się"/>
diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
index 11651ad7e8..5c623e251f 100644
--- a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
@@ -3,41 +3,47 @@
<floater.string name="InvalidAvatar">
NIEWŁAŚCIWY AWATAR
</floater.string>
- <text name="composite_label">
- Tekstury kompozytowe
- </text>
- <button label="Zrzuć" label_selected="Zrzuć" name="Dump"/>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
- <texture_picker label="Włosy" name="hair-baked"/>
- <texture_picker label="Włosy" name="hair_grain"/>
- <texture_picker label="Alpha włosów" name="hair_alpha"/>
- <texture_picker label="Głowa" name="head-baked"/>
- <texture_picker label="Makijaż" name="head_bodypaint"/>
- <texture_picker label="Alpha głowy" name="head_alpha"/>
- <texture_picker label="Tatuaż głowy" name="head_tattoo"/>
- <texture_picker label="Oczy" name="eyes-baked"/>
- <texture_picker label="Oko" name="eyes_iris"/>
- <texture_picker label="Alpha oczu" name="eyes_alpha"/>
- <texture_picker label="Górna część ciała" name="upper-baked"/>
- <texture_picker label="Górny wzór na ciele" name="upper_bodypaint"/>
- <texture_picker label="Podkoszulek" name="upper_undershirt"/>
- <texture_picker label="Rękawiczki" name="upper_gloves"/>
- <texture_picker label="Koszula" name="upper_shirt"/>
- <texture_picker label="Kurtka górna" name="upper_jacket"/>
- <texture_picker label="Alpha górna" name="upper_alpha"/>
- <texture_picker label="Tatuaż górny" name="upper_tattoo"/>
- <texture_picker label="Dolna część ciała" name="lower-baked"/>
- <texture_picker label="Dolny wzór na ciele" name="lower_bodypaint"/>
- <texture_picker label="Bielizna" name="lower_underpants"/>
- <texture_picker label="Skarpetki" name="lower_socks"/>
- <texture_picker label="Buty" name="lower_shoes"/>
- <texture_picker label="Spodnie" name="lower_pants"/>
- <texture_picker label="Kurtka" name="lower_jacket"/>
- <texture_picker label="Alpha dolna" name="lower_alpha"/>
- <texture_picker label="Tatuaż dolny" name="lower_tattoo"/>
- <texture_picker label="Spódnica" name="skirt-baked"/>
- <texture_picker label="Spódnica" name="skirt"/>
+ <text name="label">
+ Baked
+Textures
+ </text>
+ <text name="composite_label">
+ Tekstury kompozytowe
+ </text>
+ <button label="Dump IDs to Console" label_selected="Dump" name="Dump"/>
+ <panel name="scroll_content_panel">
+ <texture_picker label="Włosy" name="hair-baked"/>
+ <texture_picker label="Włosy" name="hair_grain"/>
+ <texture_picker label="Alpha włosów" name="hair_alpha"/>
+ <texture_picker label="Głowa" name="head-baked"/>
+ <texture_picker label="Makijaż" name="head_bodypaint"/>
+ <texture_picker label="Alpha głowy" name="head_alpha"/>
+ <texture_picker label="Tatuaż głowy" name="head_tattoo"/>
+ <texture_picker label="Oczy" name="eyes-baked"/>
+ <texture_picker label="Oko" name="eyes_iris"/>
+ <texture_picker label="Alpha oczu" name="eyes_alpha"/>
+ <texture_picker label="Górna część ciała" name="upper-baked"/>
+ <texture_picker label="Górny rysunek na ciele" name="upper_bodypaint"/>
+ <texture_picker label="Podkoszulek" name="upper_undershirt"/>
+ <texture_picker label="Rękawiczki" name="upper_gloves"/>
+ <texture_picker label="Koszula" name="upper_shirt"/>
+ <texture_picker label="Kurtka górna" name="upper_jacket"/>
+ <texture_picker label="Górna alpha" name="upper_alpha"/>
+ <texture_picker label="Górny tatuaż" name="upper_tattoo"/>
+ <texture_picker label="Dolna część ciała" name="lower-baked"/>
+ <texture_picker label="Dolny rysunek na ciele" name="lower_bodypaint"/>
+ <texture_picker label="Bielizna" name="lower_underpants"/>
+ <texture_picker label="Skarpetki" name="lower_socks"/>
+ <texture_picker label="Buty" name="lower_shoes"/>
+ <texture_picker label="Spodnie" name="lower_pants"/>
+ <texture_picker label="Kurtka" name="lower_jacket"/>
+ <texture_picker label="Dolna alpha" name="lower_alpha"/>
+ <texture_picker label="Dolny tatuaż" name="lower_tattoo"/>
+ <texture_picker label="Spódnica" name="skirt-baked"/>
+ <texture_picker label="Spódnica" name="skirt"/>
+ </panel>
</panel>
</scroll_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml
new file mode 100644
index 0000000000..36ac88f7f6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_buy_currency_html" title="KUP WALUTĘ"/>
diff --git a/indra/newview/skins/default/xui/pl/floater_camera.xml b/indra/newview/skins/default/xui/pl/floater_camera.xml
index aec75f026f..b11da91b5b 100644
--- a/indra/newview/skins/default/xui/pl/floater_camera.xml
+++ b/indra/newview/skins/default/xui/pl/floater_camera.xml
@@ -9,35 +9,28 @@
<floater.string name="move_tooltip">
Poruszaj kamerą w dół/górę oraz w prawo/lewo
</floater.string>
- <floater.string name="orbit_mode_title">
- Obracaj
+ <floater.string name="camera_modes_title">
+ Ustawienia
</floater.string>
<floater.string name="pan_mode_title">
W prawo lub w lewo
</floater.string>
- <floater.string name="avatar_view_mode_title">
- Ustawienia
+ <floater.string name="presets_mode_title">
+ Preset Views
</floater.string>
<floater.string name="free_mode_title">
Zobacz obiekt
</floater.string>
<panel name="controls">
- <joystick_track name="cam_track_stick" tool_tip="Poruszaj kamerą w górę, w dół, w lewo i w prawo"/>
<panel name="zoom" tool_tip="Najedź kamerą w kierunku obiektu">
+ <joystick_rotate name="cam_rotate_stick" tool_tip="Obracaj kamerę wokoł osi"/>
<slider_bar name="zoom_slider" tool_tip="Przybliż kamerę do ogniskowej"/>
- </panel>
- <joystick_rotate name="cam_rotate_stick" tool_tip="Obracaj kamerę wokoł osi"/>
- <panel name="camera_presets">
- <button name="rear_view" tool_tip="Widok z tyłu"/>
- <button name="group_view" tool_tip="Podgląd Grupy"/>
- <button name="front_view" tool_tip="Widok z przodu"/>
- <button name="mouselook_view" tool_tip="Widok panoramiczny"/>
+ <joystick_track name="cam_track_stick" tool_tip="Poruszaj kamerą w górę, w dół, w lewo i w prawo"/>
</panel>
</panel>
<panel name="buttons">
- <button label="" name="orbit_btn" tool_tip="Obracaj kamerę"/>
+ <button label="" name="presets_btn" tool_tip="Preset Views"/>
<button label="" name="pan_btn" tool_tip="Kamera horyzontalna"/>
<button label="" name="avatarview_btn" tool_tip="Ustawienia"/>
- <button label="" name="freecamera_btn" tool_tip="Podgląd obiektu"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml
index 0cb2114f99..e7f73faca7 100644
--- a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml
@@ -1,10 +1,10 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Day Cycle Floater" title="EDYTOR CYKLU DNIA">
<tab_container name="Day Cycle Tabs">
<panel label="Cykl Dnia" name="Day Cycle">
- <button label="?" name="WLDayCycleHelp" />
- <multi_slider label="" name="WLTimeSlider" />
- <multi_slider label="" name="WLDayCycleKeys" />
+ <button label="?" name="WLDayCycleHelp"/>
+ <multi_slider label="" name="WLTimeSlider"/>
+ <multi_slider label="" name="WLDayCycleKeys"/>
<text name="WL12am">
12am
</text>
@@ -59,41 +59,38 @@
<text name="WL12amHash2">
|
</text>
- <button label="Dodaj" label_selected="Dodaj" name="WLAddKey" />
- <button label="Usuń" label_selected="Usuń" name="WLDeleteKey" />
+ <button label="Dodaj" label_selected="Dodaj" name="WLAddKey"/>
+ <button label="Usuń" label_selected="Usuń" name="WLDeleteKey"/>
<text name="WLCurKeyFrameText">
Preferencje czasu:
</text>
<text name="WLCurKeyTimeText">
Czas:
</text>
- <spinner label="Godz" name="WLCurKeyHour" />
- <spinner label="Min" name="WLCurKeyMin" />
+ <spinner label="Godz" name="WLCurKeyHour"/>
+ <spinner label="Min" name="WLCurKeyMin"/>
<text name="WLCurKeyTimeText2">
Ustawienia:
</text>
- <combo_box label="Preset" name="WLKeyPresets" />
+ <combo_box label="Preset" name="WLKeyPresets"/>
<text name="DayCycleText">
Przerwij:
</text>
- <combo_box label="5 min" name="WLSnapOptions" />
+ <combo_box label="5 min" name="WLSnapOptions"/>
<text name="DayCycleText2">
Długość cyklu:
</text>
- <spinner label="Godz" name="WLLengthOfDayHour" />
- <spinner label="Min" name="WLLengthOfDayMin" />
- <spinner label="Sek" name="WLLengthOfDaySec" />
+ <spinner label="Godz" name="WLLengthOfDayHour"/>
+ <spinner label="Min" name="WLLengthOfDayMin"/>
+ <spinner label="Sek" name="WLLengthOfDaySec"/>
<text name="DayCycleText3">
- Wygląd:
- </text>
- <button label="Start" label_selected="Start" name="WLAnimSky" />
- <button label="Stop" label_selected="Stop" name="WLStopAnimSky" />
- <button label="Używaj czasu regionu" label_selected="Używaj czasu regionu"
- name="WLUseLindenTime" />
- <button label="Zapisz test dnia" label_selected="Zapisz test dnia"
- name="WLSaveDayCycle" />
- <button label="Załaduj test dnia" label_selected="Załaduj test dnia"
- name="WLLoadDayCycle" />
+ Przeglądaj:
+ </text>
+ <button label="Start" label_selected="Start" name="WLAnimSky"/>
+ <button label="Stop" label_selected="Stop" name="WLStopAnimSky"/>
+ <button label="Używaj czasu regionu" label_selected="Używaj czasu regionu" name="WLUseLindenTime"/>
+ <button label="Zapisz test dnia" label_selected="Zapisz test dnia" name="WLSaveDayCycle"/>
+ <button label="Załaduj test dnia" label_selected="Załaduj test dnia" name="WLLoadDayCycle"/>
</panel>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_god_tools.xml b/indra/newview/skins/default/xui/pl/floater_god_tools.xml
index 4d49c32fc1..1f4502b9a4 100644
--- a/indra/newview/skins/default/xui/pl/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/pl/floater_god_tools.xml
@@ -2,12 +2,11 @@
<floater name="godtools floater" title="BOSKIE NARZĘDZIA">
<tab_container name="GodTools Tabs">
<panel label="Grid" name="grid">
- <button label="Wyrzuć wszystkich Rezydentów" label_selected="Wyrzuć wszystkich Rezydentów" name="Kick all users" width="205"/>
<button label="Wyrównaj widoczność buforu mapy Regionu" label_selected="Wyrównaj widoczność buforu mapy Regionu" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
</panel>
<panel label="Region" name="region">
- <text name="Sim Name:" width="100">
- Nazwa Symulatora:
+ <text name="Region Name:">
+ Nazwa Regionu:
</text>
<line_editor left="115" name="region name" width="178"/>
<check_box label="Wstęp" name="check prelude" tool_tip="Set this to make the region a prelude"/>
@@ -53,8 +52,8 @@
<button label="Automatyczne zapisanie" label_selected="Automatyczne zapisanie" left="156" name="Autosave now" tool_tip="Save gzipped state to autosave directory" width="150"/>
</panel>
<panel label="Obiekty" name="objects">
- <text name="Sim Name:" width="105">
- Nazwa Symulatora:
+ <text name="Region Name:">
+ Nazwa Regionu:
</text>
<text left_delta="110" name="region name">
Welsh
diff --git a/indra/newview/skins/default/xui/pl/floater_image_preview.xml b/indra/newview/skins/default/xui/pl/floater_image_preview.xml
index a27e8ffed3..6b0770af84 100644
--- a/indra/newview/skins/default/xui/pl/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_image_preview.xml
@@ -10,16 +10,16 @@
Wyświetl obraz jako:
</text>
<combo_box label="Rodzaj Ubrania" name="clothing_type_combo">
- <combo_box.item label="Obraz" name="Image"/>
- <combo_box.item label="Włosy" name="Hair"/>
- <combo_box.item label="Damska głowa" name="FemaleHead"/>
- <combo_box.item label="Damska górna część ciała" name="FemaleUpperBody"/>
- <combo_box.item label="Damska górna część ciała" name="FemaleLowerBody"/>
- <combo_box.item label="Męska głowa" name="MaleHead"/>
- <combo_box.item label="Męska górna część ciała" name="MaleUpperBody"/>
- <combo_box.item label="Męska dolna część ciała" name="MaleLowerBody"/>
- <combo_box.item label="Spódnica" name="Skirt"/>
- <combo_box.item label="Prim sculptowy" name="SculptedPrim"/>
+ <item label="Obraz" name="Image" value="Tekstura"/>
+ <item label="Włosy" name="Hair" value="Włosy"/>
+ <item label="Damska głowa" name="FemaleHead" value="Głowa kobiety"/>
+ <item label="Damska górna część ciała" name="FemaleUpperBody" value="Górna część ciała kobiety"/>
+ <item label="Damska górna część ciała" name="FemaleLowerBody" value="Dolna część ciała kobiety"/>
+ <item label="Męska głowa" name="MaleHead" value="Głowa mężczyzny"/>
+ <item label="Męska górna część ciała" name="MaleUpperBody" value="Górna część ciała mężczyzny"/>
+ <item label="Męska dolna część ciała" name="MaleLowerBody" value="Dolna część ciała mężczyzny"/>
+ <item label="Spódnica" name="Skirt" value="Spódnica"/>
+ <item label="Prim sculptowy" name="SculptedPrim" value="Prim sculptowy"/>
</combo_box>
<text name="bad_image_text">
Nie można wczytać obrazu.
diff --git a/indra/newview/skins/default/xui/pl/floater_incoming_call.xml b/indra/newview/skins/default/xui/pl/floater_incoming_call.xml
index e5ec3804ae..8de60095df 100644
--- a/indra/newview/skins/default/xui/pl/floater_incoming_call.xml
+++ b/indra/newview/skins/default/xui/pl/floater_incoming_call.xml
@@ -16,7 +16,13 @@
rozpoczął rozmowę głosową w czacie konferencji.
</floater.string>
<floater.string name="VoiceInviteGroup">
- zaczyna rozmowę z grupą [GROUP].
+ dołączył/dołączyła do &apos;[GROUP]&apos; rozmowy głosowej.
+ </floater.string>
+ <floater.string name="VoiceInviteQuestionGroup">
+ Czy chcesz opuścić [CURRENT_CHAT] i dołączyć do rozmowy z &apos;[GROUP]&apos;?
+ </floater.string>
+ <floater.string name="VoiceInviteQuestionDefault">
+ Czy chcesz opuścić [CURRENT_CHAT] i dołączyć do tej rozmowy głosowej?
</floater.string>
<text name="question">
Czy chcesz opuścić [CURRENT_CHAT] i dołączyć do tej rozmowy głosowej?
diff --git a/indra/newview/skins/default/xui/pl/floater_map.xml b/indra/newview/skins/default/xui/pl/floater_map.xml
index 1e5f3e6d46..4f1430623a 100644
--- a/indra/newview/skins/default/xui/pl/floater_map.xml
+++ b/indra/newview/skins/default/xui/pl/floater_map.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Map" title="Mini-Mapa">
+<floater name="Map" title="">
<floater.string name="mini_map_north">
N
</floater.string>
@@ -24,6 +24,9 @@
<floater.string name="mini_map_northwest">
NW
</floater.string>
+ <floater.string name="mini_map_caption">
+ MINIMAPA
+ </floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
diff --git a/indra/newview/skins/default/xui/pl/floater_moveview.xml b/indra/newview/skins/default/xui/pl/floater_moveview.xml
index 9c97a8a0e7..592814dbc0 100644
--- a/indra/newview/skins/default/xui/pl/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_moveview.xml
@@ -6,18 +6,48 @@
<string name="walk_back_tooltip">
Idź do tyłu (naciśnij Strzałkę w Dół lub S)
</string>
+ <string name="walk_left_tooltip">
+ Idź w lewo (naciśnij Shift + lewą strzałkę lub A)
+ </string>
+ <string name="walk_right_tooltip">
+ Idź w prawo (naciśnij Shift + prawą strzałkę lub D)
+ </string>
<string name="run_forward_tooltip">
Biegnij do przodu (naciśnij Strzałkę w Górę lub W)
</string>
<string name="run_back_tooltip">
Biegnij do przodu (naciśnij Strzałkę w Dół lub S)
</string>
+ <string name="run_left_tooltip">
+ Biegnij w lewo (naciśnij Shift + lewą strzałkę lub A)
+ </string>
+ <string name="run_right_tooltip">
+ Biegnij w lewo (naciśnij Shift + prawą strzałkę lub D)
+ </string>
<string name="fly_forward_tooltip">
Leć do przodu (naciśnij Strzałkę w Górę lub W)
</string>
<string name="fly_back_tooltip">
Leć do tyłu (naciśnij Strzałkę na Dół lub S)
</string>
+ <string name="fly_left_tooltip">
+ Leć w lewo (naciśnij Shift + lewą strzałkę lub A)
+ </string>
+ <string name="fly_right_tooltip">
+ Leć w prawo (naciśnij Shift + prawą strzałkę lub D)
+ </string>
+ <string name="fly_up_tooltip">
+ Leć do góry (nacisnij E)
+ </string>
+ <string name="fly_down_tooltip">
+ Leć w dół (naciśnij C)
+ </string>
+ <string name="jump_tooltip">
+ Skacz (naciśnij E)
+ </string>
+ <string name="crouch_tooltip">
+ Crouch (naciśnij C)
+ </string>
<string name="walk_title">
Idź
</string>
@@ -28,10 +58,12 @@
Lataj
</string>
<panel name="panel_actions">
+ <button label="" label_selected="" name="move up btn" tool_tip="Leć do góry (naciśnij E)"/>
<button label="" label_selected="" name="turn left btn" tool_tip="Obróć w lewo (naciśnij Lewą Strzałkę lub A)"/>
+ <joystick_slide name="move left btn" tool_tip="Idź w lewo (naciśnij Shift + lewą strzałkę lub A)"/>
+ <button label="" label_selected="" name="move down btn" tool_tip="Leć w dół (naciśnij C)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="Obróć w prawo (naciśnij Prawą Strzałkę lub D)"/>
- <button label="" label_selected="" name="move up btn" tool_tip="Leć do góry, naciśnij E"/>
- <button label="" label_selected="" name="move down btn" tool_tip="Leć w dół, naciśnij C"/>
+ <joystick_slide name="move right btn" tool_tip="Idź w prawo (naciśnij Shift + prawą strzałkę lub D)"/>
<joystick_turn name="forward btn" tool_tip="Idź (naciśnij Strzałkę w Górę lub W)"/>
<joystick_turn name="backward btn" tool_tip="Cofaj się (naciśnij Strzałkę w Dół lub S)"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/floater_outgoing_call.xml b/indra/newview/skins/default/xui/pl/floater_outgoing_call.xml
index 8a70cb3247..de0b4d08c0 100644
--- a/indra/newview/skins/default/xui/pl/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/pl/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
Zostaleś rozłączony z [VOICE_CHANNEL_NAME]. [RECONNECT_NEARBY]
</text>
<text name="nearby_P2P_by_other">
- [VOICE_CHANNEL_NAME] zakończył/a rozmowę głosową. [RECONNECT_NEARBY]
+ Twoja rozmowa głosowa została zakończona. [RECONNECT_NEARBY]
</text>
<text name="nearby_P2P_by_agent">
Zakończyłeś rozmowę. [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml
index 05758ac04d..2756f5e850 100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml
@@ -24,9 +24,6 @@
<floater.string name="Title">
Gest: [NAME]
</floater.string>
- <text name="name_text">
- Nazwa:
- </text>
<text name="desc_label">
Opis:
</text>
@@ -53,12 +50,15 @@
<button label="W górę" name="up_btn"/>
<button label="W dół" name="down_btn"/>
<button label="Usuń" name="delete_btn"/>
+ <text name="options_text">
+ (opcje)
+ </text>
<radio_group name="animation_trigger_type">
<radio_item label="Start" name="start"/>
<radio_item label="Stop" name="stop"/>
</radio_group>
<check_box label="do końca animacji" name="wait_anim_check"/>
- <check_box label="czas w sekundach" name="wait_time_check"/>
+ <check_box label="czas w sekundach:" name="wait_time_check"/>
<text name="help_label">
Wszystkie etapy nastąpią razem, chyba, że dodasz pauzy.
</text>
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml
index 1ad07c236b..b3275cb7b5 100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml
@@ -9,9 +9,6 @@
<floater.string name="Title">
Notka: [NAME]
</floater.string>
- <floater.string label="Zapisz" label_selected="Zapisz" name="Save">
- Zapisz
- </floater.string>
<text name="desc txt">
Opis:
</text>
@@ -19,4 +16,5 @@
Ładowanie...
</text_editor>
<button label="Zapisz" label_selected="Zapisz" name="Save"/>
+ <button label="Usuń" label_selected="Usuń" name="Delete"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_publish_classified.xml b/indra/newview/skins/default/xui/pl/floater_publish_classified.xml
index 12cda04e10..cfdac165cd 100644
--- a/indra/newview/skins/default/xui/pl/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/pl/floater_publish_classified.xml
@@ -5,7 +5,7 @@
Pamiętaj, opłaty za reklamy nie podlegają prawu zwrotu.
</text>
- <spinner label="Cena za Reklamę:" name="price_for_listing" tool_tip="Cena za umieszczenie reklamy w wyszukiwarce." value="50"/>
+ <spinner label="Cena: L$" name="price_for_listing" tool_tip="Cena za umieszczenie reklamy w wyszukiwarce." value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
Więcej info (link do pomocy)
diff --git a/indra/newview/skins/default/xui/pl/floater_snapshot.xml b/indra/newview/skins/default/xui/pl/floater_snapshot.xml
index df4e5b43bc..be92ef917d 100644
--- a/indra/newview/skins/default/xui/pl/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/pl/floater_snapshot.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="WYGLĄD ZDJĘCIA">
- <text name="type_label">
- Lokacja zapisu
- </text>
- <radio_group label="Rodzaje zdjęć" name="snapshot_type_radio">
+<floater name="Snapshot" title="PODGLĄD ZDJĘCIA">
+ <floater.string name="unknown">
+ nieznany
+ </floater.string>
+ <radio_group label="Rodzaj zdjęcia" name="snapshot_type_radio">
<radio_item label="Email" name="postcard"/>
<radio_item label="Załaduj do Szafy (L$[AMOUNT])" name="texture"/>
- <radio_item label="Zapisz na dysk" name="local"/>
+ <radio_item label="Zapisz na dysku" name="local"/>
</radio_group>
<text name="file_size_label">
[SIZE] KB
@@ -14,13 +14,13 @@
<button label="Odśwież zdjęcie" name="new_snapshot_btn"/>
<button label="Wyślij" name="send_btn"/>
<button label="Załaduj (L$[AMOUNT])" name="upload_btn"/>
- <flyout_button label="Zapisz" name="save_btn" tool_tip="Zapisz zdjęcie na dysk">
+ <flyout_button label="Zapisz" name="save_btn" tool_tip="Zapisz zdjęcie w pliku">
<flyout_button.item label="Zapisz" name="save_item"/>
<flyout_button.item label="Zapisz jako..." name="saveas_item"/>
</flyout_button>
- <button label="Anuluj" name="discard_btn"/>
<button label="Więcej" name="more_btn" tool_tip="Zaawansowane"/>
<button label="Mniej" name="less_btn" tool_tip="Zaawansowane"/>
+ <button label="Anuluj" name="discard_btn"/>
<text name="type_label2">
Wymiar
</text>
@@ -28,28 +28,28 @@
Format
</text>
<combo_box label="Rozdzielczość" name="postcard_size_combo">
- <combo_box.item label="Obecne Okno" name="CurrentWindow"/>
+ <combo_box.item label="Obecne okno" name="CurrentWindow"/>
<combo_box.item label="640x480" name="640x480"/>
<combo_box.item label="800x600" name="800x600"/>
<combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Wybierz" name="Custom"/>
+ <combo_box.item label="Niestandardowy" name="Custom"/>
</combo_box>
<combo_box label="Rozdzielczość" name="texture_size_combo">
- <combo_box.item label="Obecne Okno" name="CurrentWindow"/>
+ <combo_box.item label="Obecne okno" name="CurrentWindow"/>
<combo_box.item label="Mały (128x128)" name="Small(128x128)"/>
<combo_box.item label="Średni (256x256)" name="Medium(256x256)"/>
<combo_box.item label="Duży (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Wybierz" name="Custom"/>
+ <combo_box.item label="Niestandardowy" name="Custom"/>
</combo_box>
<combo_box label="Rozdzielczość" name="local_size_combo">
- <combo_box.item label="Obecne Okno" name="CurrentWindow"/>
+ <combo_box.item label="Obecne okno" name="CurrentWindow"/>
<combo_box.item label="320x240" name="320x240"/>
<combo_box.item label="640x480" name="640x480"/>
<combo_box.item label="800x600" name="800x600"/>
<combo_box.item label="1024x768" name="1024x768"/>
<combo_box.item label="1280x1024" name="1280x1024"/>
<combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Wybierz" name="Custom"/>
+ <combo_box.item label="Niestandardowy" name="Custom"/>
</combo_box>
<combo_box label="Format" name="local_format_combo">
<combo_box.item label="PNG" name="PNG"/>
@@ -61,19 +61,15 @@
<check_box label="Ograniczone proporcje" name="keep_aspect_check"/>
<slider label="Jakość zdjęcia" name="image_quality_slider"/>
<text name="layer_type_label">
- Zapisz:
+ Warstwy obrazu:
</text>
- <combo_box label="Warstwy Obrazu" name="layer_types">
+ <combo_box label="Warstwy obrazu" name="layer_types">
<combo_box.item label="Kolory" name="Colors"/>
<combo_box.item label="Głębokość" name="Depth"/>
- <combo_box.item label="Obiekty ślepe" name="ObjectMattes"/>
</combo_box>
<check_box label="Pokaż interfejs na zdjęciu" name="ui_check"/>
- <check_box label="Pokaż obiekty HUD na zdjęciu" name="hud_check"/>
- <check_box label="Pozostaw otwarte po zapisaniu" name="keep_open_check"/>
- <check_box label="Widok pełnego ekranu" name="freeze_frame_check"/>
- <check_box label="Automatyczne odświeżenie" name="auto_snapshot_check"/>
- <string name="unknown">
- nieznany
- </string>
+ <check_box label="Pokaż obiekty Hud na zdjęciu" name="hud_check"/>
+ <check_box label="Pozostaw otwarty po zapisaniu" name="keep_open_check"/>
+ <check_box label="Widok pełnego okna" name="freeze_frame_check"/>
+ <check_box label="Automatyczne odswieżanie" name="auto_snapshot_check"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_tools.xml b/indra/newview/skins/default/xui/pl/floater_tools.xml
index 5b4f99e9d1..7e97297bca 100644
--- a/indra/newview/skins/default/xui/pl/floater_tools.xml
+++ b/indra/newview/skins/default/xui/pl/floater_tools.xml
@@ -67,9 +67,9 @@
<text name="RenderingCost" tool_tip="Pokazuje koszt renderowania tego obiektu">
þ: [COUNT]
</text>
- <check_box name="checkbox uniform"/>
- <text name="checkbox uniform label">
- Rozciągnij 2 Strony
+ <check_box label="" name="checkbox uniform"/>
+ <text label="Rozciągnij 2 strony" name="checkbox uniform label">
+ Rozciągnij 2 strony
</text>
<check_box initial_value="true" label="Rozciągnij Teksturę" name="checkbox stretch textures"/>
<check_box initial_value="true" label="Użyj siatki" name="checkbox snap to grid"/>
@@ -487,14 +487,7 @@
Obszar: [AREA] m²
</text>
<button label="O Posiadłości" label_selected="O Posiadłości" name="button about land"/>
- <check_box label="Pokaż Właścicieli" name="checkbox show owners" tool_tip="Pokoloruj Posiadłości zgodnie z przynależnością do Właściciela:
-
-Zielony = Twoja Posiadłość
-Morski = Posiadłość Twojej Grupy
-Czerwony = Posiadłości innych
-Żółty = Na sprzedaż
-Fioletowy = Na aukcję
-Szary = Publiczna"/>
+ <check_box label="Pokaż Właścicieli" name="checkbox show owners" tool_tip="Pokoloruj Posiadłości zgodnie z przynależnością do Właściciela: Zielony = Twoja Posiadłość Morski = Posiadłość Twojej Grupy Czerwony = Posiadłości innych Żółty = Na sprzedaż Fioletowy = Na aukcję Szary = Publiczna"/>
<text name="label_parcel_modify">
Modyfikuj Posiadłość
</text>
diff --git a/indra/newview/skins/default/xui/pl/floater_tos.xml b/indra/newview/skins/default/xui/pl/floater_tos.xml
index 6f71488347..bb2de773f0 100644
--- a/indra/newview/skins/default/xui/pl/floater_tos.xml
+++ b/indra/newview/skins/default/xui/pl/floater_tos.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="modal container" title="">
+ <floater.string name="real_url">
+ http://secondlife.com/app/tos/
+ </floater.string>
+ <floater.string name="loading_url">
+ data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+ </floater.string>
<button label="Kontynuuj" label_selected="Kontynuuj" name="Continue"/>
<button label="Anuluj" label_selected="Anuluj" name="Cancel"/>
<check_box label="Zgadzam się na Warunki Serwisu (Terms of Service) i Politykę Prywatności (Privacy Policy)" name="agree_chk"/>
<text name="tos_heading">
Proszę dokładnie przeczytać następujące Warunki Serwisu (Terms of Service) i Politykę Prywatności (Privacy Policy). Musisz zaakceptować umowę żeby kontynuować logowanie do [SECOND_LIFE].
</text>
- <text_editor name="tos_text">
- TOS_TEXT
- </text_editor>
- <string name="real_url">
- http://secondlife.com/app/tos/
- </string>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_voice_controls.xml b/indra/newview/skins/default/xui/pl/floater_voice_controls.xml
index 6bee3e911c..c222e4edbb 100644
--- a/indra/newview/skins/default/xui/pl/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/pl/floater_voice_controls.xml
@@ -19,8 +19,10 @@
<layout_panel name="my_panel">
<text name="user_text" value="Mój awatar:"/>
</layout_panel>
- <layout_panel name="leave_call_btn_panel">
- <button label="Zakończ" name="leave_call_btn"/>
- </layout_panel>
+ <layout_stack name="voice_effect_and_leave_call_stack">
+ <layout_panel name="leave_call_btn_panel">
+ <button label="Zakończ rozmowę" name="leave_call_btn"/>
+ </layout_panel>
+ </layout_stack>
</layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_voice_effect.xml b/indra/newview/skins/default/xui/pl/floater_voice_effect.xml
new file mode 100644
index 0000000000..e2d1fb77e9
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/floater_voice_effect.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Miejsca" name="voice_effects" title="VOICE MORPHING">
+ <string name="no_voice_effect">
+ (Bez Voice Morphing)
+ </string>
+ <string name="active_voice_effect">
+ (Aktywny)
+ </string>
+ <string name="unsubscribed_voice_effect">
+ (Bez subskrybcji)
+ </string>
+ <string name="new_voice_effect">
+ (Nowy!)
+ </string>
+ <text name="preview_text">
+ Przeglądaj
+ </text>
+ <text name="status_text">
+ Nagraj próbkę, następnie kliknij na głos aby usłyszeć jego brzmienie.
+ </text>
+ <button label="Nagraj" name="record_btn" tool_tip="Nagraj próbkę swojego głosu."/>
+ <button label="Zatrzymaj" name="record_stop_btn"/>
+ <text name="voice_morphing_link">
+ [[URL] Subskrybuj teraz]
+ </text>
+ <scroll_list name="voice_effect_list" tool_tip="Nagraj próbke swojego głosu, następnie kliknij aby odsłuchać.">
+ <scroll_list.columns label="Nazwa głosu" name="name"/>
+ <scroll_list.columns label="Termin zakończenia subskrypcji" name="expires"/>
+ </scroll_list>
+</floater>
diff --git a/indra/newview/skins/default/xui/pl/inspect_object.xml b/indra/newview/skins/default/xui/pl/inspect_object.xml
index 2e15691463..4217731ef7 100644
--- a/indra/newview/skins/default/xui/pl/inspect_object.xml
+++ b/indra/newview/skins/default/xui/pl/inspect_object.xml
@@ -8,8 +8,8 @@
Przez [CREATOR]
</string>
<string name="CreatorAndOwner">
- przez [CREATOR]
-właściciel [OWNER]
+ Kreator [CREATOR]
+Właściciel [OWNER]
</string>
<string name="Price">
L$[AMOUNT]
@@ -23,6 +23,13 @@ właściciel [OWNER]
<string name="Sit">
Usiądź tutaj
</string>
+ <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/>
+ <text name="price_text">
+ L$30,000
+ </text>
+ <text name="object_description">
+ This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really?
+ </text>
<button label="Kup" name="buy_btn"/>
<button label="Zapłać" name="pay_btn"/>
<button label="Weź kopię" name="take_free_copy_btn"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_attachment_other.xml b/indra/newview/skins/default/xui/pl/menu_attachment_other.xml
index 4872956cc2..8a3269a923 100644
--- a/indra/newview/skins/default/xui/pl/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/pl/menu_attachment_other.xml
@@ -10,7 +10,7 @@
<menu_item_call label="Raport" name="abuse"/>
<menu_item_call label="Unieruchom" name="Freeze..."/>
<menu_item_call label="Wyrzuć" name="Eject..."/>
- <menu_item_call label="Debugowanie" name="Debug..."/>
+ <menu_item_call label="Debugowanie tekstur" name="Debug..."/>
<menu_item_call label="Przybliż" name="Zoom In"/>
<menu_item_call label="Zapłać" name="Pay..."/>
<menu_item_call label="Sprawdź" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_attachment_self.xml b/indra/newview/skins/default/xui/pl/menu_attachment_self.xml
index ff695be205..39fe83ad2f 100644
--- a/indra/newview/skins/default/xui/pl/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/pl/menu_attachment_self.xml
@@ -3,10 +3,13 @@
<menu_item_call label="Dotknij" name="Attachment Object Touch"/>
<menu_item_call label="Edytuj" name="Edit..."/>
<menu_item_call label="Odłącz" name="Detach"/>
- <menu_item_call label="Opuść" name="Drop"/>
<menu_item_call label="Wstań" name="Stand Up"/>
- <menu_item_call label="Mój Wygląd" name="Appearance..."/>
+ <menu_item_call label="Zmień strój" name="Change Outfit"/>
+ <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/>
+ <menu_item_call label="Edytuj mój kształt" name="Edit My Shape"/>
<menu_item_call label="Moi Znajomi" name="Friends..."/>
<menu_item_call label="Moje Grupy" name="Groups..."/>
<menu_item_call label="Mój Profil" name="Profile..."/>
+ <menu_item_call label="Debugowanie tekstur" name="Debug..."/>
+ <menu_item_call label="Opuść" name="Drop"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_other.xml b/indra/newview/skins/default/xui/pl/menu_avatar_other.xml
index 832c2f9c96..9a1603e212 100644
--- a/indra/newview/skins/default/xui/pl/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/pl/menu_avatar_other.xml
@@ -10,7 +10,7 @@
<menu_item_call label="Raport" name="abuse"/>
<menu_item_call label="Unieruchom" name="Freeze..."/>
<menu_item_call label="Wyrzuć" name="Eject..."/>
- <menu_item_call label="Debug" name="Debug..."/>
+ <menu_item_call label="Debugowanie tekstur" name="Debug..."/>
<menu_item_call label="Przybliż" name="Zoom In"/>
<menu_item_call label="Zapłać" name="Pay..."/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_self.xml b/indra/newview/skins/default/xui/pl/menu_avatar_self.xml
index 0bca90168f..aa415db6ea 100644
--- a/indra/newview/skins/default/xui/pl/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/pl/menu_avatar_self.xml
@@ -20,8 +20,11 @@
<context_menu label="Odłącz ▶" name="Object Detach"/>
<menu_item_call label="Odłącz Wszystko" name="Detach All"/>
</context_menu>
- <menu_item_call label="Mój Wygląd" name="Appearance..."/>
+ <menu_item_call label="Zmień strój" name="Chenge Outfit"/>
+ <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/>
+ <menu_item_call label="Edytuj mój kształt" name="Edit My Shape"/>
<menu_item_call label="Moi Znajomi" name="Friends..."/>
<menu_item_call label="Moje Grupy" name="Groups..."/>
<menu_item_call label="Mój Profil" name="Profile..."/>
+ <menu_item_call label="Debugowanie tekstur" name="Debug..."/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_bottomtray.xml b/indra/newview/skins/default/xui/pl/menu_bottomtray.xml
index 9fcf1b3440..7e1b37f2dd 100644
--- a/indra/newview/skins/default/xui/pl/menu_bottomtray.xml
+++ b/indra/newview/skins/default/xui/pl/menu_bottomtray.xml
@@ -4,6 +4,11 @@
<menu_item_check label="Przycisk Ruchu" name="ShowMoveButton"/>
<menu_item_check label="Przycisk Widoku" name="ShowCameraButton"/>
<menu_item_check label="Przycisk Zdjęć" name="ShowSnapshotButton"/>
+ <menu_item_check label="Schowek" name="ShowSidebarButton"/>
+ <menu_item_check label="Buduj" name="ShowBuildButton"/>
+ <menu_item_check label="Szukaj" name="ShowSearchButton"/>
+ <menu_item_check label="Mapa" name="ShowWorldMapButton"/>
+ <menu_item_check label="Mini-Mapa" name="ShowMiniMapButton"/>
<menu_item_call label="Wytnij" name="NearbyChatBar_Cut"/>
<menu_item_call label="Kopiuj" name="NearbyChatBar_Copy"/>
<menu_item_call label="Wklej" name="NearbyChatBar_Paste"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_cof_attachment.xml b/indra/newview/skins/default/xui/pl/menu_cof_attachment.xml
new file mode 100644
index 0000000000..4e5407601b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_cof_attachment.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="COF Attachment">
+ <menu_item_call label="Odłącz" name="detach"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_cof_body_part.xml b/indra/newview/skins/default/xui/pl/menu_cof_body_part.xml
new file mode 100644
index 0000000000..ee60d3feb6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_cof_body_part.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="COF Body">
+ <menu_item_call label="Zastąp" name="replace"/>
+ <menu_item_call label="Edytuj" name="edit"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_cof_clothing.xml b/indra/newview/skins/default/xui/pl/menu_cof_clothing.xml
new file mode 100644
index 0000000000..ad43900137
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_cof_clothing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="COF Clothing">
+ <menu_item_call label="Zdejmij" name="take_off"/>
+ <menu_item_call label="Edytuj" name="edit"/>
+ <menu_item_call label="Zastąp" name="replace"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_cof_gear.xml b/indra/newview/skins/default/xui/pl/menu_cof_gear.xml
new file mode 100644
index 0000000000..e8aaa2cf82
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_cof_gear.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear COF">
+ <menu label="Nowe Ubranie" name="COF.Gear.New_Clothes"/>
+ <menu label="Nowe części ciała" name="COF.Geear.New_Body_Parts"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_edit.xml b/indra/newview/skins/default/xui/pl/menu_edit.xml
new file mode 100644
index 0000000000..578e270fed
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="Edycja" name="Edit">
+ <menu_item_call label="Cofnij" name="Undo"/>
+ <menu_item_call label="Powtórz" name="Redo"/>
+ <menu_item_call label="Wytnij" name="Cut"/>
+ <menu_item_call label="Kopiuj" name="Copy"/>
+ <menu_item_call label="Wklej" name="Paste"/>
+ <menu_item_call label="Usuń" name="Delete"/>
+ <menu_item_call label="Powiel" name="Duplicate"/>
+ <menu_item_call label="Zaznacz wszystko" name="Select All"/>
+ <menu_item_call label="Odznacz" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_hide_navbar.xml b/indra/newview/skins/default/xui/pl/menu_hide_navbar.xml
index d30f5a4d3f..19d9510cd3 100644
--- a/indra/newview/skins/default/xui/pl/menu_hide_navbar.xml
+++ b/indra/newview/skins/default/xui/pl/menu_hide_navbar.xml
@@ -2,4 +2,5 @@
<menu name="hide_navbar_menu">
<menu_item_check label="Pokaż pasek Nawigacji" name="ShowNavbarNavigationPanel"/>
<menu_item_check label="Pokaż pasek Ulubionych" name="ShowNavbarFavoritesPanel"/>
+ <menu_item_check label="Pokaż pasek mini-lokalizacji" name="ShowMiniLocationPanel"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml
index 325072d0fb..9a102e1416 100644
--- a/indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
<menu_item_call label="Raport" name="report"/>
<menu_item_call label="Unieruchom" name="freeze"/>
<menu_item_call label="Wyrzuć" name="eject"/>
- <menu_item_call label="Debug" name="debug"/>
+ <menu_item_call label="Debugowanie tekstur" name="debug"/>
<menu_item_call label="Znajdź na mapie" name="find_on_map"/>
<menu_item_call label="Przybliż" name="zoom_in"/>
<menu_item_call label="Zapłać" name="pay"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml
index ee2f202ee9..2ea3702663 100644
--- a/indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<menu_item_call label="Wstań" name="stand_up"/>
- <menu_item_call label="Mój Wygląd" name="my_appearance"/>
+ <menu_item_call label="Zmień strój" name="change_outfit"/>
<menu_item_call label="Mój Profil" name="my_profile"/>
<menu_item_call label="Moi Znajomi" name="my_friends"/>
<menu_item_call label="Moje Grupy" name="my_groups"/>
+ <menu_item_call label="Debugowanie tekstur" name="Debug..."/>
</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000..5ef0f2f7a4
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+ <menu_item_call label="Zamknij" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_inventory.xml b/indra/newview/skins/default/xui/pl/menu_inventory.xml
index 7fe9da3c0c..f26bc10c26 100644
--- a/indra/newview/skins/default/xui/pl/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inventory.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Popup">
+ <menu_item_call label="Udostępnij" name="Share"/>
<menu_item_call label="Kupuj" name="Task Buy"/>
<menu_item_call label="Otwórz" name="Task Open"/>
<menu_item_call label="Odtwarzaj" name="Task Play"/>
@@ -51,6 +52,7 @@
<menu_item_call label="Usuń obiekt" name="Purge Item"/>
<menu_item_call label="Przywróć obiekt" name="Restore Item"/>
<menu_item_call label="Otwórz" name="Open"/>
+ <menu_item_call label="Otwórz oryginalne" name="Open Original"/>
<menu_item_call label="Właściwości" name="Properties"/>
<menu_item_call label="Zmień nazwę" name="Rename"/>
<menu_item_call label="Kopiuj dane UUID" name="Copy Asset UUID"/>
@@ -71,11 +73,11 @@
<menu_item_call label="Deaktywuj" name="Deactivate"/>
<menu_item_call label="Zapisz jako" name="Save As"/>
<menu_item_call label="Odłącz od siebie" name="Detach From Yourself"/>
- <menu_item_call label="Ubierz" name="Object Wear"/>
+ <menu_item_call label="Załóż" name="Wearable And Object Wear"/>
<menu label="Dołącz do" name="Attach To"/>
<menu label="Dołącz do Załączników HUD" name="Attach To HUD"/>
<menu_item_call label="Edytuj" name="Wearable Edit"/>
- <menu_item_call label="Ubierz" name="Wearable Wear"/>
+ <menu_item_call label="Dodaj" name="Wearable Add"/>
<menu_item_call label="Zdejmij" name="Take Off"/>
<menu_item_call label="--brak opcji--" name="--no options--"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml
index 2ec3741682..382a7506cc 100644
--- a/indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml
@@ -6,9 +6,10 @@
<menu_item_call label="Pokaż filtry" name="show_filters"/>
<menu_item_call label="Zresetuj filtry" name="reset_filters"/>
<menu_item_call label="Zamknij wszystkie foldery" name="close_folders"/>
- <menu_item_call label="Opróżnij Kosz" name="empty_trash"/>
<menu_item_call label="Opróżnij Zagubione i Odnalezione" name="empty_lostnfound"/>
<menu_item_call label="Zapisz teksturę jako" name="Save Texture As"/>
+ <menu_item_call label="Udostępnij" name="Share"/>
<menu_item_call label="Znajdź oryginał" name="Find Original"/>
<menu_item_call label="Znajdź wszystkie linki" name="Find All Links"/>
+ <menu_item_call label="Opróżnij Kosz" name="empty_trash"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml
index ed4937182f..810862dfd9 100644
--- a/indra/newview/skins/default/xui/pl/menu_login.xml
+++ b/indra/newview/skins/default/xui/pl/menu_login.xml
@@ -2,24 +2,14 @@
<menu_bar name="Login Menu">
<menu label="Ja" name="File">
<menu_item_call label="Ustawienia" name="Preferences..."/>
- <menu_item_call label="Wyłącz program" name="Quit"/>
+ <menu_item_call label="Wyłącz [APP_NAME]" name="Quit"/>
</menu>
<menu label="Pomoc" name="Help">
<menu_item_call label="[SECOND_LIFE]: Pomoc" name="Second Life Help"/>
<menu_item_call label="O [APP_NAME]" name="About Second Life"/>
</menu>
+ <menu_item_check label="Pokaż Ustawienia Debugowania" name="Show Debug Menu"/>
<menu label="Debug" name="Debug">
- <menu label="Edytuj" name="Edit">
- <menu_item_call label="Cofnij" name="Undo"/>
- <menu_item_call label="Powtórz" name="Redo"/>
- <menu_item_call label="Wytnij" name="Cut"/>
- <menu_item_call label="Kopiuj" name="Copy"/>
- <menu_item_call label="Wklej" name="Paste"/>
- <menu_item_call label="Usuń" name="Delete"/>
- <menu_item_call label="Powiel" name="Duplicate"/>
- <menu_item_call label="Zaznacz wszystko" name="Select All"/>
- <menu_item_call label="Odznacz" name="Deselect"/>
- </menu>
<menu_item_call label="Ustawienia debugowania" name="Debug Settings"/>
<menu_item_call label="Ustawienia UI/kolor" name="UI/Color Settings"/>
<menu label="UI Testy" name="UI Tests"/>
@@ -27,5 +17,7 @@
<menu_item_call label="Wyświetl TOS" name="TOS"/>
<menu_item_call label="Wyświetl wiadomość krytyczną" name="Critical"/>
<menu_item_call label="Test przeglądarki internetowej" name="Web Browser Test"/>
+ <menu_item_check label="Pokaż Siatkę" name="Show Grid Picker"/>
+ <menu_item_call label="Pokaż konsolę Zawiadomień" name="Show Notifications Console"/>
</menu>
</menu_bar>
diff --git a/indra/newview/skins/default/xui/pl/menu_outfit_gear.xml b/indra/newview/skins/default/xui/pl/menu_outfit_gear.xml
new file mode 100644
index 0000000000..ed754e36a7
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_outfit_gear.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear Outfit">
+ <menu_item_call label="Załóż - Zastąp obecny strój" name="wear"/>
+ <menu_item_call label="Załóż - Dodaj do bieżącego stroju" name="wear_add"/>
+ <menu_item_call label="Zdejmij - Usuń z obecnego stroju" name="take_off"/>
+ <menu label="Nowe ubranie" name="New Clothes">
+ <menu_item_call label="Nowa koszula" name="New Shirt"/>
+ <menu_item_call label="Nowe spodnie" name="New Pants"/>
+ <menu_item_call label="Nowe buty" name="New Shoes"/>
+ <menu_item_call label="Nowe skarpetki" name="New Socks"/>
+ <menu_item_call label="Nowa kurtka" name="New Jacket"/>
+ <menu_item_call label="Nowa spódnica" name="New Skirt"/>
+ <menu_item_call label="Nowe rękawiczki" name="New Gloves"/>
+ <menu_item_call label="Nowa podkoszulka" name="New Undershirt"/>
+ <menu_item_call label="Nowa bielizna" name="New Underpants"/>
+ <menu_item_call label="Nowe alpha" name="New Alpha"/>
+ <menu_item_call label="Nowy tatuaż" name="New Tattoo"/>
+ </menu>
+ <menu label="Nowe części ciała" name="New Body Parts">
+ <menu_item_call label="Nowy kształt" name="New Shape"/>
+ <menu_item_call label="Nowa skórka" name="New Skin"/>
+ <menu_item_call label="Nowe włosy" name="New Hair"/>
+ <menu_item_call label="Nowe oczy" name="New Eyes"/>
+ </menu>
+ <menu_item_call label="Zmień nazwę stroju" name="rename"/>
+ <menu_item_call label="Usuń strój" name="delete_outfit"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_outfit_tab.xml b/indra/newview/skins/default/xui/pl/menu_outfit_tab.xml
new file mode 100644
index 0000000000..998e25f38e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_outfit_tab.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Outfit">
+ <menu_item_call label="Załóż - Zastąp obecny strój" name="wear_replace"/>
+ <menu_item_call label="Załóż - Dodaj do obecnego stroju" name="wear_add"/>
+ <menu_item_call label="Zdejmij - Usuń z obecnego stroju" name="take_off"/>
+ <menu_item_call label="Edytuj strój" name="edit"/>
+ <menu_item_call label="Zmień nazwę stroju" name="rename"/>
+ <menu_item_call label="Usuń strój" name="delete"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_participant_list.xml b/indra/newview/skins/default/xui/pl/menu_participant_list.xml
index 079b8558da..59b4fec6b0 100644
--- a/indra/newview/skins/default/xui/pl/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/pl/menu_participant_list.xml
@@ -8,13 +8,14 @@
<menu_item_call label="Zadzwoń" name="Call"/>
<menu_item_call label="Udostępnij" name="Share"/>
<menu_item_call label="Zapłać" name="Pay"/>
+ <menu_item_check label="Przeglądaj ikonki" name="View Icons"/>
<menu_item_check label="Zablokuj głos" name="Block/Unblock"/>
<menu_item_check label="Zablokuj tekst" name="MuteText"/>
<context_menu label="Opcje Moderatora &gt;" name="Moderator Options">
<menu_item_check label="Czat/IM dozwolony" name="AllowTextChat"/>
<menu_item_call label="Wycisz tego uczestnika" name="ModerateVoiceMuteSelected"/>
- <menu_item_call label="Wycisz wszystkich pozostałych" name="ModerateVoiceMuteOthers"/>
<menu_item_call label="Odblokuj wyciszenie tego uczestnika" name="ModerateVoiceUnMuteSelected"/>
- <menu_item_call label="Odblokuj wyciszenie wszystkich" name="ModerateVoiceUnMuteOthers"/>
+ <menu_item_call label="Wycisz wszystkich" name="ModerateVoiceMute"/>
+ <menu_item_call label="Cofnij wyciszenie wszystkim" name="ModerateVoiceUnmute"/>
</context_menu>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_save_outfit.xml b/indra/newview/skins/default/xui/pl/menu_save_outfit.xml
new file mode 100644
index 0000000000..4bc65eca38
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+ <menu_item_call label="Zapisz" name="save_outfit"/>
+ <menu_item_call label="Zapisz jako" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_script_chiclet.xml b/indra/newview/skins/default/xui/pl/menu_script_chiclet.xml
new file mode 100644
index 0000000000..256500a402
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+ <menu_item_call label="Zamknij" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_topinfobar.xml b/indra/newview/skins/default/xui/pl/menu_topinfobar.xml
new file mode 100644
index 0000000000..53536c8f1c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_topinfobar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_topinfobar">
+ <menu_item_check label="Pokaż współprzędne" name="Show Coordinates"/>
+ <menu_item_check label="Pokaż O Posiadłości" name="Show Parcel Properties"/>
+ <menu_item_call label="Landmark" name="Landmark"/>
+ <menu_item_call label="Kopiuj" name="Copy"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml
index d1f0ac0e5c..5907e6b3f4 100644
--- a/indra/newview/skins/default/xui/pl/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml
@@ -5,10 +5,11 @@
<menu_item_call label="Moja Tablica" name="Manage My Account"/>
<menu_item_call label="Kup L$" name="Buy and Sell L$"/>
<menu_item_call label="Mój Profil" name="Profile"/>
- <menu_item_call label="Mój Wygląd" name="Appearance"/>
+ <menu_item_call label="Zmień strój" name="ChangeOutfit"/>
<menu_item_check label="Moja Szafa" name="Inventory"/>
<menu_item_check label="Moja Szafa" name="ShowSidetrayInventory"/>
<menu_item_check label="Moje Gesty" name="Gestures"/>
+ <menu_item_check label="Mój głos" name="ShowVoice"/>
<menu label="Mój Status" name="Status">
<menu_item_call label="Tryb Oddalenia" name="Set Away"/>
<menu_item_call label="Tryb Pracy" name="Set Busy"/>
@@ -29,6 +30,7 @@
<menu_item_call label="Zrób Zdjęcie" name="Take Snapshot"/>
<menu_item_call label="Zapamiętaj to Miejsce" name="Create Landmark Here"/>
<menu label="Miejsce" name="Land">
+ <menu_item_call label="Profil miejsca" name="Place Profile"/>
<menu_item_call label="O Posiadłości" name="About Land"/>
<menu_item_call label="Region/Majątek" name="Region/Estate"/>
</menu>
@@ -64,20 +66,15 @@
<menu_item_call label="Stwórz Narzędzie" name="Create"/>
<menu_item_call label="Narzędzie Posiadłości" name="Land"/>
</menu>
- <menu label="Edytuj" name="Edit">
- <menu_item_call label="Cofnij" name="Undo"/>
- <menu_item_call label="Cofnij" name="Redo"/>
- <menu_item_call label="Wytnij" name="Cut"/>
- <menu_item_call label="Kopiuj" name="Copy"/>
- <menu_item_call label="Wklej" name="Paste"/>
- <menu_item_call label="Usuń" name="Delete"/>
- <menu_item_call label="Zduplikuj" name="Duplicate"/>
- <menu_item_call label="Zaznacz Wszystko" name="Select All"/>
- <menu_item_call label="Cofnij Zaznaczenie" name="Deselect"/>
- </menu>
<menu_item_call label="Linkuj" name="Link"/>
<menu_item_call label="Rozlinkuj" name="Unlink"/>
<menu_item_check label="Edytuj Zgrupowane Obiekty" name="Edit Linked Parts"/>
+ <menu label="Wybierz Zlinkowane Części" name="Select Linked Parts">
+ <menu_item_call label="Wybierz Następną Część" name="Select Next Part"/>
+ <menu_item_call label="Zaznacz Poprzednią Część" name="Select Previous Part"/>
+ <menu_item_call label="Uwzględnij Następną Część" name="Include Next Part"/>
+ <menu_item_call label="Uwzględnij Poprzednią Część" name="Include Previous Part"/>
+ </menu>
<menu_item_call label="Ogniskowa Selekcji" name="Focus on Selection"/>
<menu_item_call label="Przybliż do Selekcji" name="Zoom to Selection"/>
<menu label="Obiekt" name="Object">
@@ -108,11 +105,11 @@
<menu_item_call label="Wybierz Zaznaczenie Siatki" name="Use Selection for Grid"/>
<menu_item_call label="Opcje Siatki" name="Grid Options"/>
</menu>
- <menu label="Wybierz Zlinkowane Części" name="Select Linked Parts">
- <menu_item_call label="Wybierz Następną Część" name="Select Next Part"/>
- <menu_item_call label="Zaznacz Poprzednią Część" name="Select Previous Part"/>
- <menu_item_call label="Uwzględnij Następną Część" name="Include Next Part"/>
- <menu_item_call label="Uwzględnij Poprzednią Część" name="Include Previous Part"/>
+ <menu label="Załaduj" name="Upload">
+ <menu_item_call label="teksturę (L$[COST])..." name="Upload Image"/>
+ <menu_item_call label="dźwięk (L$[COST])..." name="Upload Sound"/>
+ <menu_item_call label="animację (L$[COST])..." name="Upload Animation"/>
+ <menu_item_call label="zbiór plików (L$[COST] za jeden plik)..." name="Bulk Upload"/>
</menu>
</menu>
<menu label="Pomoc" name="Help">
@@ -122,6 +119,7 @@
<menu_item_call label="O [APP_NAME]" name="About Second Life"/>
</menu>
<menu label="Zaawansowane" name="Advanced">
+ <menu_item_check label="Pokaż menu Zaawansowane" name="Show Advanced Menu"/>
<menu_item_call label="Zatrzymaj Wszystkie Animacje" name="Stop Animating My Avatar"/>
<menu_item_call label="Odswież Wyświetlanie Tekstur" name="Rebake Texture"/>
<menu_item_call label="Domyślne Ustawienia Rozmiaru Interfejsu" name="Set UI Size to Default"/>
@@ -143,7 +141,6 @@
<menu_item_check label="Pokaż Przeźroczyste Obiekty" name="Highlight Transparent"/>
<menu_item_check label="Pokaż Załączniki HUD" name="Show HUD Attachments"/>
<menu_item_check label="Pokaż Celownik Myszki" name="ShowCrosshairs"/>
- <menu_item_check label="Pokaż Podpowiedzi Posiadłości" name="Land Tips"/>
</menu>
<menu label="Rodzaje Renderowania" name="Rendering Types">
<menu_item_check label="Podstawowe" name="Simple"/>
@@ -170,6 +167,7 @@
<menu_item_check label="Obiekty Elastyczne" name="Flexible Objects"/>
</menu>
<menu_item_check label="Uruchom Wiele Wątków" name="Run Multiple Threads"/>
+ <menu_item_check label="Use Plugin Read Thread" name="Use Plugin Read Thread"/>
<menu_item_call label="Wyczyść Bufor Danych Grupy" name="ClearGroupCache"/>
<menu_item_check label="Wygładzanie Ruchu Myszki" name="Mouse Smoothing"/>
<menu label="Skróty" name="Shortcuts">
@@ -177,6 +175,7 @@
<menu_item_check label="Szukaj" name="Search"/>
<menu_item_call label="Zwolnij Klawisze" name="Release Keys"/>
<menu_item_call label="Domyślne Ustawienia Rozmiaru Interfejsu" name="Set UI Size to Default"/>
+ <menu_item_check label="Pokaż menu Zaawansowane" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_check label="Biegnij" name="Always Run"/>
<menu_item_check label="Zacznij Latać" name="Fly"/>
<menu_item_call label="Zamknij Okno" name="Close Window"/>
@@ -196,7 +195,6 @@
<menu_item_call label="Przybliż" name="Zoom In"/>
<menu_item_call label="Domyślne Przybliżenie" name="Zoom Default"/>
<menu_item_call label="Oddal" name="Zoom Out"/>
- <menu_item_call label="Rozwiń Widok Pełnoekranowy" name="Toggle Fullscreen"/>
</menu>
<menu_item_call label="Pokaż Ustawienia Debugowania" name="Debug Settings"/>
<menu_item_check label="Pokaż Menu Progresu" name="Debug Mode"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml
new file mode 100644
index 0000000000..b32e4adc5c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Outfit Wearable Context Menu">
+ <menu_item_call label="Zastąp" name="wear_replace"/>
+ <menu_item_call label="Załóż" name="wear_wear"/>
+ <menu_item_call label="Dodaj" name="wear_add"/>
+ <menu_item_call label="Zdejmij/Odłącz" name="take_off_or_detach"/>
+ <menu_item_call label="Odłącz" name="detach"/>
+ <context_menu label="Dołącz do ▶" name="wearable_attach_to"/>
+ <context_menu label="Dołącz do załączników HUD ▶" name="wearable_attach_to_hud"/>
+ <menu_item_call label="Zdejmij" name="take_off"/>
+ <menu_item_call label="Edytuj" name="edit"/>
+ <menu_item_call label="Profil obiekty" name="object_profile"/>
+ <menu_item_call label="Pokaż oryginalny" name="show_original"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_wearing_gear.xml b/indra/newview/skins/default/xui/pl/menu_wearing_gear.xml
new file mode 100644
index 0000000000..4930bd7540
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_wearing_gear.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear Wearing">
+ <menu_item_call label="Edytuj strój" name="edit"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pl/menu_wearing_tab.xml b/indra/newview/skins/default/xui/pl/menu_wearing_tab.xml
new file mode 100644
index 0000000000..6ee55133fe
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/menu_wearing_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Wearing">
+ <menu_item_call label="Edytuj strój" name="edit"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml
index 12d68ed30e..58ca77411d 100644
--- a/indra/newview/skins/default/xui/pl/notifications.xml
+++ b/indra/newview/skins/default/xui/pl/notifications.xml
@@ -322,6 +322,9 @@ Limit [MAX_ATTACHMENTS] załączników został przekroczony. Proszę najpierw od
Czy chcesz przejść na stronę www.secondlife.com by założyć konto?
<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>
</notification>
+ <notification name="InvalidCredentialFormat">
+ Wpisz imię i nazwisko Twojego awatara w pole Użytkownika a następnie zaloguj się ponownie.
+ </notification>
<notification name="AddClassified">
Ogłoszenia reklamowe ukazują się w zakładce Reklama w wyszukiwarce (Szukaj) oraz na [http://secondlife.com/community/classifieds secondlife.com] przez tydzień.
Napisz treść swojej reklamy, kliknij Zamieść by dodać katalogu ogłoszeń.
@@ -348,7 +351,11 @@ Czy na pewno chcesz kontynuować?
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="DeleteAvatarPick">
- Usunąć wybór [PICK] z kategorii Lubię?
+ Usuń zdjęcie &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
+ <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>
+ </notification>
+ <notification name="DeleteOutfits">
+ Czy usunąć wybrany strój?
<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>
</notification>
<notification name="PromptGoToEventsPage">
@@ -462,8 +469,9 @@ Możesz podnieść jakość grafiki pod Ustawienia &gt; Grafika.
Region [REGION] nie pozwala na formowanie powierzchni ziemi.
</notification>
<notification name="CannotCopyWarning">
- Nie masz praw do kopiowania tego obiektu. Ten obiek zniknie z Twojej szafy jeżeli go dasz innej osobie.
-Na pewno chcesz podarować ten obiekt?
+ Nie masz pozwolenia na kopiowanie następujących obiektów:
+[ITEMS]
+i stracisz je w momencie przekazania. Czy na pewno chcesz oddać te obiekty?
<usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/>
</notification>
<notification name="CannotGiveItem">
@@ -583,6 +591,10 @@ Oczekiwana - [VALIDS]
<notification name="CannotEncodeFile">
Kodowanie pliku: [FILE] nie powidło się.
</notification>
+ <notification name="CorruptedProtectedDataStore">
+ Nie można wpisać Twojego imienia użytkownika ani hasła. To może się zdarzyć kiedy zmieniasz ustawienia sieci.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="CorruptResourceFile">
Skorumpowany plik zasobów: [FILE]
</notification>
@@ -903,6 +915,36 @@ Zaproponować znajomość [NAME]?
<button name="Cancel" text="Anuluj"/>
</form>
</notification>
+ <notification label="Zapisz strój" name="SaveOutfitAs">
+ Zapisz to co noszę jako nowy strój:
+ <form name="form">
+ <input name="message">
+ [DESC] (nowe)
+ </input>
+ <button name="Offer" text="OK"/>
+ <button name="Cancel" text="Anuluj"/>
+ </form>
+ </notification>
+ <notification label="Zapisz część stroju" name="SaveWearableAs">
+ Zapisz obiekt w mojej Szafie jako:
+ <form name="form">
+ <input name="message">
+ [DESC] (nowy)
+ </input>
+ <button name="Offer" text="OK"/>
+ <button name="Cancel" text="Anuluj"/>
+ </form>
+ </notification>
+ <notification label="Zmień nazwę stroju" name="RenameOutfit">
+ Nowa nazwa stroju:
+ <form name="form">
+ <input name="new_name">
+ [NAME]
+ </input>
+ <button name="Offer" text="OK"/>
+ <button name="Cancel" text="Anuluj"/>
+ </form>
+ </notification>
<notification name="RemoveFromFriends">
Chcesz usunąć [FIRST_NAME] [LAST_NAME] z listy Twoich znajomych?
<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>
@@ -937,6 +979,12 @@ ze wszystkich posiadłości w tym symulatorze?
Wybierz wyższą cenę.
</notification>
+ <notification name="ConfirmItemDeleteHasLinks">
+ Co najmiej jeden z elementów, które masz posiada połączone z nim obiekty. Jeśli go usuniesz połączenia zostaną usunięte na stałe. Zaleca się usunięcie połączeń w pierwszej kolejności.
+
+Jesteś pewnien/pewna, że chcesz usunąć te elementy?
+ <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>
+ </notification>
<notification name="ConfirmObjectDeleteLock">
Przynajmnie jeden z wybranych obiektów jest zablokowany.
@@ -1079,6 +1127,42 @@ Wybierz awatara właściwej płci.
Ten wybór będzie można później zmienić.
<usetemplate name="okcancelbuttons" notext="Kobieta" yestext="Mężczyzna"/>
</notification>
+ <notification name="CantTeleportToGrid">
+ Nie można teleportować do [SLURL], ponieważ jest na innym gridzie ([GRID]) niż obecny grid ([CURRENT_GRID]). Proszę zamknąć przeglądarkę i spróbować ponownie.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
+ <notification name="GeneralCertificateError">
+ Połączenie z serwerem nie mogło zostać nawiązane.
+[REASON]
+
+SubjectName: [SUBJECT_NAME_STRING]
+IssuerName: [ISSUER_NAME_STRING]
+Valid From: [VALID_FROM]
+Valid To: [VALID_TO]
+MD5 Fingerprint: [SHA1_DIGEST]
+SHA1 Fingerprint: [MD5_DIGEST]
+Key Usage: [KEYUSAGE]
+Extended Key Usage: [EXTENDEDKEYUSAGE]
+Subject Key Identifier: [SUBJECTKEYIDENTIFIER]
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
+ <notification name="TrustCertificateError">
+ Wydawca certyfikatu dla tego serwera nie jest znany.
+
+Informacje o certyfikacie:
+SubjectName: [SUBJECT_NAME_STRING]
+IssuerName: [ISSUER_NAME_STRING]
+Valid From: [VALID_FROM]
+Valid To: [VALID_TO]
+MD5 Fingerprint: [SHA1_DIGEST]
+SHA1 Fingerprint: [MD5_DIGEST]
+Key Usage: [KEYUSAGE]
+Extended Key Usage: [EXTENDEDKEYUSAGE]
+Subject Key Identifier: [SUBJECTKEYIDENTIFIER]
+
+Czy chcesz zaufać temu wydawcy?
+ <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Zaufaj"/>
+ </notification>
<notification name="NotEnoughCurrency">
[NAME] [PRICE]L$ Masz za mało L$.
</notification>
@@ -1384,6 +1468,10 @@ Dodatkowo, wszystkie podarowane dla Ciebie obiekty będą automatycznie zapisywa
Teleportuj do [CLASSIFIED]?
<usetemplate ignoretext="Potwierdź, że chcesz teleportować się do lokalizacji z Reklamy" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/>
</notification>
+ <notification name="TeleportToHistoryEntry">
+ Teleportuj do [HISTORY_ENTRY]?
+ <usetemplate ignoretext="Potwierdź teleportację do lokalizacji z historii" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/>
+ </notification>
<notification label="Wiadomość do Wszystkich w Twoim Majątku" name="MessageEstate">
Wpisz krótką wiadomość która zostanie wysłana do wszystkich osób w Twoim majątku.
<form name="form">
@@ -1468,15 +1556,18 @@ Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostęp
Ze względu na Twój wiek, nie jesteś uprawniony do przebywania w tym regionie.
</notification>
<notification name="RegionEntryAccessBlocked_Change">
- Ze względu na Twój wiek, nie jesteś uprawniony do przebywania w tym regionie.
+ Nie masz zezwolenia na przebywanie w tym Regionie z powodu Twojego statusu ustawień wieku.
-Możesz wybrać &apos;Zmień Ustawienia&apos; by dokonać zmian w ustawieniach Twojego wieku by uzyskać dostęp do regionu. Wówczas będziesz w stanie znaleźć oraz mieć dostęp do [REGIONMATURITY] treści. Jeżeli zdecydujesz się na powrót do poprzednich ustawień, wybierz Ja &gt; Ustawienia &gt; Główne.
+W celu uzyskania dostępu do tego regiony zmień proszę swój status ustawień wieku. Będziesz mógł/mogła szukać i mieć dostęp do treści [REGIONMATURITY]. W celu cofnięcia zmian wybierz z menu Ja &gt; Ustawienia &gt; Ogólne.
<form name="form">
<button name="OK" text="Zmień Ustawienia"/>
<button default="true" name="Cancel" text="Zamknij"/>
<ignore name="ignore" text="Moje ustawienia wieku nie dopuszczają do regionu"/>
</form>
</notification>
+ <notification name="PreferredMaturityChanged">
+ Twoja obecna klasyfikacja wieku to [RATING].
+ </notification>
<notification name="LandClaimAccessBlocked">
W związku ze statusem ustawień Twojego wieku, nie możesz odzyskać tej posiadłości. Możesz potrzebować weryfikacji wieku bądź instalacji najnowszej wersji klienta.
@@ -1889,6 +1980,9 @@ Zamieść go na stronie internetowej żeby umożliwić innym łatwy dostęp do t
<notification name="SystemMessageTip">
[MESSAGE]
</notification>
+ <notification name="IMSystemMessageTip">
+ [MESSAGE]
+ </notification>
<notification name="Cancelled">
Anulowane
</notification>
@@ -2228,15 +2322,6 @@ Spróbuj ponowanie za kilka minut.
<button name="Mute" text="Zablokuj"/>
</form>
</notification>
- <notification name="ObjectGiveItemUnknownUser">
- Obiekt [OBJECTFROMNAME] należący (właściciel nieznany) dał Ci [OBJECTTYPE]:
-[ITEM_SLURL]
- <form name="form">
- <button name="Keep" text="Zachowaj"/>
- <button name="Discard" text="Wyrzuć"/>
- <button name="Mute" text="Zablokuj"/>
- </form>
- </notification>
<notification name="UserGiveItem">
[NAME_SLURL] dał Ci [OBJECTTYPE]:
[ITEM_SLURL]
@@ -2260,9 +2345,9 @@ Spróbuj ponowanie za kilka minut.
</form>
</notification>
<notification name="TeleportOffered">
- [NAME] proponuje Ci teleportcję do siebie:
+ [NAME_SLURL] proponuje Ci teleportację do siebie:
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
<form name="form">
<button name="Teleport" text="Teleportuj"/>
<button name="Cancel" text="Anuluj"/>
@@ -2280,11 +2365,11 @@ Spróbuj ponowanie za kilka minut.
</form>
</notification>
<notification name="OfferFriendship">
- [NAME] proponuje Ci znajomość.
+ [NAME_SLURL] proponuje znajomość.
[MESSAGE]
-(Z zalożenia będzie widzić swój status online.)
+(Będziecie mogli widzieć swój status online)
<form name="form">
<button name="Accept" text="Zaakceptuj"/>
<button name="Decline" text="Odmów"/>
@@ -2480,6 +2565,21 @@ Wybierz Zaakceptuj żeby zacząć czat albo Odmów żeby nie przyjąć zaproszen
<notification name="VoiceLoginRetry">
Tworzymy kanał głosu dla Ciebie. Moze potrwać minutę.
</notification>
+ <notification name="VoiceEffectsExpired">
+ Subskrypcja jednego lub więcej z Voice Morph wygasła.
+[[URL] Kliknij tutaj] oby odnowić subskrypcję.
+ </notification>
+ <notification name="VoiceEffectsExpiredInUse">
+ Czas aktywności Voice Morph wygasł, normalne ustawienia Twojego głosu zostały zastosowane.
+[[URL] Kliknij tutaj] aby odnowić subskrypcję.
+ </notification>
+ <notification name="VoiceEffectsWillExpire">
+ Jedno lub więcej z Twoich Voice Morph wygaśnie za mniej niż [INTERVAL] dni.
+[[URL] Klinij tutaj] aby odnowić subskrypcję.
+ </notification>
+ <notification name="VoiceEffectsNew">
+ Nowe Voice Morph są dostępne!
+ </notification>
<notification name="Cannot enter parcel: not a group member">
Nie masz dostępu do posiadłości, nie należysz do właściwej grupy.
</notification>
@@ -2545,6 +2645,95 @@ Zostaną zablokowane na kilka sekund dla bezpieczeństwa.
Wybrany przycisk nie może zostać wyświetlony w tej chwili.
Przycisk zostanie wyświetlony w przypadku dostatecznej ilości przestrzeni.
</notification>
+ <notification name="ShareNotification">
+ Zaznacz Rezydentów, z którymi chcesz się podzielić.
+ </notification>
+ <notification name="ShareItemsConfirmation">
+ Jesteś pewien/pewna, że chcesz udostępnić następujące obiekty:
+
+[ITEMS]
+
+następującym Rezydentom:
+
+[RESIDENTS]
+ <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Ok"/>
+ </notification>
+ <notification name="ItemsShared">
+ Obiekty zostały udostępnione.
+ </notification>
+ <notification name="DeedToGroupFail">
+ Przekazanie grupie nie powiodło się.
+ </notification>
+ <notification name="AvatarRezNotification">
+ ( [EXISTENCE] sekund w Second Life)
+Awatar &apos;[NAME]&apos; rozchmurzył się po [TIME] sekundach.
+ </notification>
+ <notification name="AvatarRezSelfBakedDoneNotification">
+ ( [EXISTENCE] sekund w Second Life)
+You finished baking your outfit after [TIME] seconds.
+ </notification>
+ <notification name="AvatarRezSelfBakedUpdateNotification">
+ ( [EXISTENCE] sekund w Second Life )
+Wysłano aktualizację wyglądu po [TIME] sekundach.
+[STATUS]
+ </notification>
+ <notification name="AvatarRezCloudNotification">
+ ( [EXISTENCE] sekund w Second Life )
+Awatar &apos;[NAME]&apos; stał się chmurą.
+ </notification>
+ <notification name="AvatarRezArrivedNotification">
+ ( [EXISTENCE] sekund w Second Life)
+Awatar &apos;[NAME]&apos; pojawił się.
+ </notification>
+ <notification name="AvatarRezLeftCloudNotification">
+ ( [EXISTENCE] sekund w Second Life )
+Awatar &apos;[NAME]&apos; pozostał [TIME] sekund chmurą.
+ </notification>
+ <notification name="AvatarRezEnteredAppearanceNotification">
+ ( [EXISTENCE] sekund w Second Life )
+Awatar &apos;[NAME]&apos; rozpoczął edycję wyglądu.
+ </notification>
+ <notification name="AvatarRezLeftAppearanceNotification">
+ ( [EXISTENCE] sekund w Second Life )
+Awatar &apos;[NAME]&apos; opuścił edycję wyglądu.
+ </notification>
+ <notification name="NoConnect">
+ Występuje problem z połączeniem [PROTOCOL] [HOSTID].
+Proszę sprawdź swoją sieć i ustawienia firewall.
+ <form name="form">
+ <button name="OK" text="OK"/>
+ </form>
+ </notification>
+ <notification name="NoVoiceConnect">
+ Występuje problem z Twoim połączniem głosowym:
+
+[HOSTID]
+
+Komunikacja głosowa nie będzie dostępna.
+Proszę sprawdź swoją sieć i ustawienia firewall.
+ <form name="form">
+ <button name="OK" text="OK"/>
+ </form>
+ </notification>
+ <notification name="AvatarRezLeftNotification">
+ ( [EXISTENCE] sekund w Second Life)
+Awatar &apos;[NAME]&apos; pozostał w pełni załadowany.
+ </notification>
+ <notification name="AvatarRezSelfBakeNotification">
+ ( [EXISTENCE] sekund w Second Life)
+Załadowano [RESOLUTION] teksturę dla &apos;[BODYREGION]&apos; po [TIME] sekundach.
+ </notification>
+ <notification name="ConfirmLeaveCall">
+ Czy jestes pewien/pewna, że chcesz zakończyć rozmowę?
+ <usetemplate ignoretext="Potwierdź zanim rozmowa głosowa zostanie zakończona" name="okcancelignore" notext="Nie" yestext="Tak"/>
+ </notification>
+ <notification name="ConfirmMuteAll">
+ Wybrano wyciszenie wszystkich uczestników rozmowy głosowej w grupie.
+To spowoduje również wyciszenie wszystkich Rezydentów, którzy dołączą póżniej do rozmowy, nawet jeśli zakończysz rozmowę.
+
+Wyciszyć wszystkich?
+ <usetemplate ignoretext="Potwierdź zanim zostaną wyciszeni wszyscy uczestnicy rozmowy głosowej w grupie" name="okcancelignore" notext="Anuluj" yestext="Ok"/>
+ </notification>
<global name="UnsupportedCPU">
- Prędkość Twojego CPU nie spełnia minimalnych wymagań.
</global>
diff --git a/indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml
new file mode 100644
index 0000000000..bac885e5d8
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="Mockup Tab"/>
diff --git a/indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml
new file mode 100644
index 0000000000..cebb6e3cfe
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="wearable_item">
+ <text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Nie masz pozwolenia na edycję"/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Edytuj ten kształt"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml
new file mode 100644
index 0000000000..560bfe78f4
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="clothing_list_button_bar_panel">
+ <button label="Switch" name="switch_btn"/>
+ <button label="Zakupy &gt;" name="bodyparts_shop_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_bottomtray.xml b/indra/newview/skins/default/xui/pl/panel_bottomtray.xml
index e21d8a077d..cf73ae53dd 100644
--- a/indra/newview/skins/default/xui/pl/panel_bottomtray.xml
+++ b/indra/newview/skins/default/xui/pl/panel_bottomtray.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="bottom_tray">
- <string name="SpeakBtnToolTip">
- Włącza/Wyłącza mikrofon
- </string>
- <string name="VoiceControlBtnToolTip">
- Pokazuje/Ukrywa panel kontroli głosu
- </string>
+ <string name="SpeakBtnToolTip" value="Włącza/wyłącza mikrofon"/>
+ <string name="VoiceControlBtnToolTip" value="Pokazuje/Ukrywa panel kontroli głosu"/>
<layout_stack name="toolbar_stack">
<layout_panel name="speak_panel">
<talk_button name="talk">
@@ -24,6 +20,21 @@
<layout_panel name="snapshot_panel">
<button label="" name="snapshots" tool_tip="Zrób Zdjęcie"/>
</layout_panel>
+ <layout_panel name="sidebar_btn_panel">
+ <button label="Schowek" name="sidebar_btn" tool_tip="Pokazuje/ukrywa Schowek"/>
+ </layout_panel>
+ <layout_panel name="build_btn_panel">
+ <button label="Buduj" name="build_btn" tool_tip="Pokazuje/ukrywa Narzędzia Budowania"/>
+ </layout_panel>
+ <layout_panel name="search_btn_panel">
+ <button label="Szukaj" name="search_btn" tool_tip="Pokazuje/ukrywa Szukaj"/>
+ </layout_panel>
+ <layout_panel name="world_map_btn_panel">
+ <button label="Mapa" name="world_map_btn" tool_tip="Pokazuje/ukrywa Mapę Świata"/>
+ </layout_panel>
+ <layout_panel name="mini_map_btn_panel">
+ <button label="Mini-Mapa" name="mini_map_btn" tool_tip="Pokazuje/ukrywa Mini-Mapę"/>
+ </layout_panel>
<layout_panel name="im_well_panel">
<chiclet_im_well name="im_well">
<button name="Unread IM messages" tool_tip="Rozmowy"/>
diff --git a/indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml
new file mode 100644
index 0000000000..17a6d1eb8b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="clothing_list_button_bar_panel">
+ <button label="Dodaj +" name="add_btn"/>
+ <button label="Zakupy &gt;" name="clothing_shop_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml
new file mode 100644
index 0000000000..42d1ead400
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="wearable_item">
+ <button name="btn_delete" tool_tip="Usuń ze stroju"/>
+ <text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Nie masz pozwolenia na edycję"/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Edytuj część stroju"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_cof_wearables.xml b/indra/newview/skins/default/xui/pl/panel_cof_wearables.xml
new file mode 100644
index 0000000000..970b994c20
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_cof_wearables.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="cof_wearables">
+ <accordion name="cof_wearables_accordion">
+ <accordion_tab name="tab_attachments" title="Załączniki"/>
+ <accordion_tab name="tab_clothing" title="Ubranie"/>
+ <accordion_tab name="tab_body_parts" title="Części ciała"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml
new file mode 100644
index 0000000000..f9fba4d79f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="deletable_wearable_item">
+ <button name="btn_delete" tool_tip="Usuń ze stroju"/>
+ <text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml
new file mode 100644
index 0000000000..83210808f1
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="dummy_clothing_item">
+ <text name="item_name" value="..."/>
+ <panel name="btn_add_panel">
+ <button name="btn_add" tool_tip="Dodaj więcej obiektów tego typu"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_eyes.xml b/indra/newview/skins/default/xui/pl/panel_edit_eyes.xml
index 5e7a3a8fa0..390a5313b5 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
<panel name="avatar_eye_color_panel">
<texture_picker label="Iris" name="Iris" tool_tip="Kliknij aby wybrać teksturę"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="eyes_main_tab" title="Oczy"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="eyes_main_tab" title="Oczy"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_gloves.xml b/indra/newview/skins/default/xui/pl/panel_edit_gloves.xml
index 8b16506d9c..166e3c4551 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_gloves.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać teksturę"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="gloves_main_tab" title="Rękawiczki"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="gloves_main_tab" title="Rękawiczki"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_hair.xml b/indra/newview/skins/default/xui/pl/panel_edit_hair.xml
index 567ff10506..cbcba97eb6 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_hair.xml
@@ -3,10 +3,12 @@
<panel name="avatar_hair_color_panel">
<texture_picker label="Tekstura" name="Texture" tool_tip="Kliknij aby wybrać teksturę"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="hair_color_tab" title="Kolor"/>
- <accordion_tab name="hair_style_tab" title="Styl"/>
- <accordion_tab name="hair_eyebrows_tab" title="Brwi"/>
- <accordion_tab name="hair_facial_tab" title="Twarzy"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="hair_color_tab" title="Kolor"/>
+ <accordion_tab name="hair_style_tab" title="Styl"/>
+ <accordion_tab name="hair_eyebrows_tab" title="Brwi"/>
+ <accordion_tab name="hair_facial_tab" title="Twarzy"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_jacket.xml b/indra/newview/skins/default/xui/pl/panel_edit_jacket.xml
index f4ea9303aa..ba0b908394 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_jacket.xml
@@ -5,7 +5,9 @@
<texture_picker label="Dolny materiał" name="Lower Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="jacket_main_tab" title="Kurtka"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="jacket_main_tab" title="Kurtka"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_pants.xml b/indra/newview/skins/default/xui/pl/panel_edit_pants.xml
index 247d63c5a3..4adac604f4 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_pants.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="pants_main_tab" title="Spodnie"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="pants_main_tab" title="Spodnie"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shape.xml b/indra/newview/skins/default/xui/pl/panel_edit_shape.xml
index 3cacbd7fdd..54f9fdc21c 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_shape.xml
@@ -1,23 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_shape_panel">
- <panel name="avatar_sex_panel">
- <text name="gender_text">
- Płeć:
- </text>
- <radio_group name="sex_radio">
- <radio_item label="Kobieta" name="radio"/>
- <radio_item label="Mężczyzna" name="radio2"/>
- </radio_group>
+ <string name="meters">
+ Metry
+ </string>
+ <string name="feet">
+ Feet
+ </string>
+ <string name="height">
+ Wysokość:
+ </string>
+ <text name="avatar_height"/>
+ <panel label="Koszula" name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shape_body_tab" title="Ciało"/>
+ <accordion_tab name="shape_head_tab" title="Głowa"/>
+ <accordion_tab name="shape_eyes_tab" title="Oczy"/>
+ <accordion_tab name="shape_ears_tab" title="Uszy"/>
+ <accordion_tab name="shape_nose_tab" title="Nos"/>
+ <accordion_tab name="shape_mouth_tab" title="Usta"/>
+ <accordion_tab name="shape_chin_tab" title="Podbródek"/>
+ <accordion_tab name="shape_torso_tab" title="Tors"/>
+ <accordion_tab name="shape_legs_tab" title="Nogi"/>
+ </accordion>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="shape_body_tab" title="Ciało"/>
- <accordion_tab name="shape_head_tab" title="Głowa"/>
- <accordion_tab name="shape_eyes_tab" title="Oczy"/>
- <accordion_tab name="shape_ears_tab" title="Uszy"/>
- <accordion_tab name="shape_nose_tab" title="Nos"/>
- <accordion_tab name="shape_mouth_tab" title="Usta"/>
- <accordion_tab name="shape_chin_tab" title="Podbródek"/>
- <accordion_tab name="shape_torso_tab" title="Tułów"/>
- <accordion_tab name="shape_legs_tab" title="Nogi"/>
- </accordion>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml
index 27d8981e80..3bcf992d4d 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij by wybrać grafikę"/>
<color_swatch label="Kolor/Odcień" name="Color/Tint" tool_tip="Kliknij by wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="shirt_main_tab" title="Spódnica"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shirt_main_tab" title="Spódnica"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shoes.xml b/indra/newview/skins/default/xui/pl/panel_edit_shoes.xml
index 09eb1008e8..e2c00c0506 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_shoes.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="shoes_main_tab" title="Buty"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shoes_main_tab" title="Buty"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_skin.xml b/indra/newview/skins/default/xui/pl/panel_edit_skin.xml
index 617aad8650..9e0acd3cec 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_skin.xml
@@ -5,10 +5,12 @@
<texture_picker label="Górny tatuaż" name="Upper Tattoos" tool_tip="Kliknij aby wybrać teksturę"/>
<texture_picker label="Dolny tatuaż" name="Lower Tattoos" tool_tip="Kliknij aby wybrać teksturę"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="skin_color_tab" title="Kolor skórki"/>
- <accordion_tab name="skin_face_tab" title="Szczegóły twarzy"/>
- <accordion_tab name="skin_makeup_tab" title="Makijaż"/>
- <accordion_tab name="skin_body_tab" title="Szczegóły budowy ciała"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="skin_color_tab" title="Kolor skórki"/>
+ <accordion_tab name="skin_face_tab" title="Szczegóły twarzy"/>
+ <accordion_tab name="skin_makeup_tab" title="Makijaż"/>
+ <accordion_tab name="skin_body_tab" title="Szczegóły ciała"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_skirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_skirt.xml
index f89148ffac..3fa9cefeb6 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_skirt.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="skirt_main_tab" title="Spódnica"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="skirt_main_tab" title="Spódnica"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_socks.xml b/indra/newview/skins/default/xui/pl/panel_edit_socks.xml
index 5481c73804..bb2cd637b5 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_socks.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="socks_main_tab" title="Skarpetki"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="socks_main_tab" title="Skarpetki"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml
index b5e1828588..6fd1e2277a 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml
@@ -4,5 +4,6 @@
<texture_picker label="Tatuaż głowy" name="Head Tattoo" tool_tip="Kliknij by wybrać grafikę"/>
<texture_picker label="Tatuaż górnej części ciała" name="Upper Tattoo" tool_tip="Kliknij by wybrać grafikę"/>
<texture_picker label="Tatuaż dolnej części ciała" name="Lower Tattoo" tool_tip="Kliknij by wybrać grafikę"/>
+ <color_swatch label="Color/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_underpants.xml b/indra/newview/skins/default/xui/pl/panel_edit_underpants.xml
index 94034aa8ab..010d9b53d9 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_underpants.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać kolor"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="underpants_main_tab" title="Bielizna"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="underpants_main_tab" title="Bielizna"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml
index 72b72b76de..63ae1215e0 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml
@@ -4,7 +4,9 @@
<texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij aby wybrać teksturę"/>
<color_swatch label="Kolor/Barwa" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor"/>
</panel>
- <accordion name="wearable_accordion">
- <accordion_tab name="undershirt_main_tab" title="Podkoszulek"/>
- </accordion>
+ <panel name="accordion_panel">
+ <accordion name="wearable_accordion">
+ <accordion_tab name="undershirt_main_tab" title="Podkoszulek"/>
+ </accordion>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_wearable.xml b/indra/newview/skins/default/xui/pl/panel_edit_wearable.xml
index cf17afea3f..194b26a97e 100644
--- a/indra/newview/skins/default/xui/pl/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/pl/panel_edit_wearable.xml
@@ -72,8 +72,8 @@
<string name="jacket_desc_text">
Kurtka:
</string>
- <string name="skirt_skirt_desc_text">
- Spódnica:
+ <string name="skirt_desc_text">
+ spódnica:
</string>
<string name="gloves_desc_text">
Rękawiczki:
@@ -90,12 +90,19 @@
<string name="tattoo_desc_text">
Tatuaż:
</string>
+ <labeled_back_button label="Zapisz" name="back_btn" tool_tip="Powrót do edycji stroju"/>
<text name="edit_wearable_title" value="Edycja Kształtu"/>
<panel label="Koszula" name="wearable_type_panel">
<text name="description_text" value="Kształt:"/>
+ <radio_group name="sex_radio">
+ <radio_item label="" name="sex_male" tool_tip="Mężczyzna" value="1"/>
+ <radio_item label="" name="sex_female" tool_tip="Kobieta" value="0"/>
+ </radio_group>
+ <icon name="male_icon" tool_tip="Mężczyzna"/>
+ <icon name="female_icon" tool_tip="Kobieta"/>
</panel>
<panel name="button_panel">
<button label="Zapisz" name="save_as_button"/>
- <button label="Wróć" name="revert_button"/>
+ <button label="Cofnij zmiany" name="revert_button"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_group_general.xml b/indra/newview/skins/default/xui/pl/panel_group_general.xml
index 67fa0bf085..43f0103ab7 100644
--- a/indra/newview/skins/default/xui/pl/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_general.xml
@@ -47,8 +47,11 @@ By otrzymać pomoc i dodatkowe wskazówki przesuń kursor na przyciski.
<check_box label="Opłata wstępu" name="check_enrollment_fee" tool_tip="Ustaw opłatę za przyłączenie się do grupy."/>
<spinner label="L$" name="spin_enrollment_fee" tool_tip="Nowi członkowie grupy muszą zapłacić wymaganą opłatę by dołączyć do grupy."/>
<combo_box name="group_mature_check" tool_tip="Wybierz jeżeli uważasz, iż Twoja grupa klasyfikowana jest jako &apos;Mature&apos;.">
- <combo_box.item label="Treść &apos;PG&apos;" name="pg"/>
+ <combo_item name="select_mature">
+ - Wybierz klasyfikację wieku -
+ </combo_item>
<combo_box.item label="Treść &apos;Mature&apos;" name="mature"/>
+ <combo_box.item label="Treść &apos;PG&apos;" name="pg"/>
</combo_box>
<check_box initial_value="true" label="Wyświetlaj w wyszukiwarce" name="show_in_group_list" tool_tip="Udostępnij info o grupie w wyszukiwarce"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml
index a52b7f7745..acceb88711 100644
--- a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml
@@ -6,6 +6,9 @@
<panel.string name="cant_view_group_land_text">
Nie masz pozwolenia na oglądanie Posiadłości Grupy.
</panel.string>
+ <panel.string name="epmty_view_group_land_text">
+ Brak wstępu
+ </panel.string>
<panel.string name="cant_view_group_accounting_text">
Nie masz dostępu do konta, finansów Grupy.
</panel.string>
diff --git a/indra/newview/skins/default/xui/pl/panel_group_notices.xml b/indra/newview/skins/default/xui/pl/panel_group_notices.xml
index 31882ab0e6..1d727148e9 100644
--- a/indra/newview/skins/default/xui/pl/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_notices.xml
@@ -37,6 +37,7 @@ Limit dzienny ogłoszeń dla grupy wynosi 200.
<text name="string">
Przeciągnij i upuść załącznik tutaj aby go dodać:
</text>
+ <button label="Szafa" name="open_inventory" tool_tip="Otwórz Szafę"/>
<button label="Usuń załącznik" label_selected="Usuń Załącznik" name="remove_attachment" tool_tip="Usuń załącznik z noty"/>
<button label="Wyślij" label_selected="Wyślij" name="send_notice"/>
<group_drop_target name="drop_target" tool_tip="Przeciągnij załącznik ze swojej Szafy na pole docelowe aby wysłać go z Ogłoszeniem. Musisz posiadać prawo do kopiowania i transferu załącznika aby go dodać do ogłoszenia."/>
diff --git a/indra/newview/skins/default/xui/pl/panel_im_control_panel.xml b/indra/newview/skins/default/xui/pl/panel_im_control_panel.xml
index ffd75994cb..84d1982440 100644
--- a/indra/newview/skins/default/xui/pl/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/pl/panel_im_control_panel.xml
@@ -20,7 +20,7 @@
<button label="Dzwoń" name="call_btn"/>
</layout_panel>
<layout_panel name="end_call_btn_panel">
- <button label="Zakończ Rozmowę" name="end_call_btn"/>
+ <button label="Zakończ rozmowę" name="end_call_btn"/>
</layout_panel>
<layout_panel name="voice_ctrls_btn_panel">
<button label="Przełączniki Głosu" name="voice_ctrls_btn"/>
diff --git a/indra/newview/skins/default/xui/pl/panel_inventory_item.xml b/indra/newview/skins/default/xui/pl/panel_inventory_item.xml
new file mode 100644
index 0000000000..d18047fbcf
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+ <text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_login.xml b/indra/newview/skins/default/xui/pl/panel_login.xml
index 6b0061926b..7447efe667 100644
--- a/indra/newview/skins/default/xui/pl/panel_login.xml
+++ b/indra/newview/skins/default/xui/pl/panel_login.xml
@@ -8,19 +8,18 @@
</panel.string>
<layout_stack name="login_widgets">
<layout_panel name="login">
- <text name="first_name_text">
- Imię:
+ <text name="username_text">
+ Użytkownik:
</text>
- <line_editor label="Imię" name="first_name_edit" tool_tip="[SECOND_LIFE] First Name"/>
- <line_editor label="Nazwisko" name="last_name_edit" tool_tip="[SECOND_LIFE] Last Name"/>
+ <line_editor label="Użytkownik" name="username_edit" tool_tip="[SECOND_LIFE] Użytkownik"/>
<check_box label="Zapamiętaj Hasło" name="remember_check"/>
+ <button label="Połącz" name="connect_btn"/>
<text name="start_location_text">
Rozpocznij w:
</text>
<combo_box name="start_location_combo">
<combo_box.item label="Moje Miejsce Startu" name="MyHome"/>
</combo_box>
- <button label="Połącz" name="connect_btn"/>
</layout_panel>
<layout_panel name="links">
<text name="create_new_account_text">
diff --git a/indra/newview/skins/default/xui/pl/panel_main_inventory.xml b/indra/newview/skins/default/xui/pl/panel_main_inventory.xml
index e0d9def8b3..8d6fa1173c 100644
--- a/indra/newview/skins/default/xui/pl/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/panel_main_inventory.xml
@@ -9,62 +9,20 @@
<text name="ItemcountText">
Obiekty:
</text>
- <menu_bar name="Inventory Menu">
- <menu label="Plik" name="File">
- <menu_item_call label="Otwórz" name="Open"/>
- <menu label="Załaduj" name="upload">
- <menu_item_call label="obraz (L$[COST])..." name="Upload Image"/>
- <menu_item_call label="dźwięk (L$[COST])..." name="Upload Sound"/>
- <menu_item_call label="animację (L$[COST])..." name="Upload Animation"/>
- <menu_item_call label="zbiór plików (L$[COST] za jeden plik)..." name="Bulk Upload"/>
- </menu>
- <menu_item_call label="Nowe Okno" name="New Window"/>
- <menu_item_call label="Pokaż Filtry" name="Show Filters"/>
- <menu_item_call label="Zresetuj Filtry" name="Reset Current"/>
- <menu_item_call label="Zamknij Wszystkie Foldery" name="Close All Folders"/>
- <menu_item_call label="Opróżnij Kosz" name="Empty Trash"/>
- <menu_item_call label="Opróżnij Folder Zgubione i Znalezione" name="Empty Lost And Found"/>
- </menu>
- <menu label="Stwórz" name="Create">
- <menu_item_call label="Nowy folder" name="New Folder"/>
- <menu_item_call label="Nowy skrypt" name="New Script"/>
- <menu_item_call label="Nowa nota" name="New Note"/>
- <menu_item_call label="Nowy gest" name="New Gesture"/>
- <menu label="Nowe Ubranie" name="New Clothes">
- <menu_item_call label="Nową kkoszulkę" name="New Shirt"/>
- <menu_item_call label="Nowe spodnie" name="New Pants"/>
- <menu_item_call label="Nowe buty" name="New Shoes"/>
- <menu_item_call label="Nowe skarpetki" name="New Socks"/>
- <menu_item_call label="Nową kurtkę" name="New Jacket"/>
- <menu_item_call label="Nową spódnicę" name="New Skirt"/>
- <menu_item_call label="Nowe rękawiczki" name="New Gloves"/>
- <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/>
- <menu_item_call label="Nową bieliznę" name="New Underpants"/>
- <menu_item_call label="Nowe ubranie Alpha" name="New Alpha"/>
- <menu_item_call label="Nowy tatuaż" name="New Tattoo"/>
- </menu>
- <menu label="Nową Część Ciała" name="New Body Parts">
- <menu_item_call label="Nowy kształt" name="New Shape"/>
- <menu_item_call label="Nową skórkę" name="New Skin"/>
- <menu_item_call label="Nowe włosy" name="New Hair"/>
- <menu_item_call label="Nowe oczy" name="New Eyes"/>
- </menu>
- </menu>
- <menu label="Uporządkuj" name="Sort">
- <menu_item_check label="Wegług bazwy" name="By Name"/>
- <menu_item_check label="Według daty" name="By Date"/>
- <menu_item_check label="Foldery zawsze według nazwy" name="Folders Always By Name"/>
- <menu_item_check label="Foldery Systemowe od góry" name="System Folders To Top"/>
- </menu>
- </menu_bar>
<filter_editor label="Filtr" name="inventory search editor"/>
<tab_container name="inventory filter tabs">
<inventory_panel label="Wszystkie obiekty" name="All Items"/>
- <inventory_panel label="Ostatnio dodane obiekty" name="Recent Items"/>
+ <recent_inventory_panel label="Ostatnio dodane obiekty" name="Recent Items"/>
</tab_container>
- <panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Pokaż dodatkowe opcje"/>
- <button name="add_btn" tool_tip="Dodaj nowy obiekt"/>
- <dnd_button name="trash_btn" tool_tip="Usuń wybrany obiekt"/>
- </panel>
+ <layout_stack name="bottom_panel">
+ <layout_panel name="options_gear_btn_panel">
+ <button name="options_gear_btn" tool_tip="Pokaż dodatkowe opcje"/>
+ </layout_panel>
+ <layout_panel name="add_btn_panel">
+ <button name="add_btn" tool_tip="Dodaj nowy obiekt"/>
+ </layout_panel>
+ <layout_panel name="trash_btn_panel">
+ <dnd_button name="trash_btn" tool_tip="Usuń zaznaczony obiekt"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml
index 939bcbbb42..6b93981acc 100644
--- a/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
Mini
</combo_item>
</combo_box>
+ <text name="owner_label">
+ Właściciel
+ </text>
<check_box initial_value="false" label="Pozwól na nawigację &amp; interaktywność" name="perms_owner_interact"/>
<check_box initial_value="false" label="Pokaż Pasek Kontroli" name="perms_owner_control"/>
+ <text name="group_label">
+ Grupa:
+ </text>
<check_box initial_value="false" label="Pozwól na nawigację &amp; Interaktywność" name="perms_group_interact"/>
<check_box initial_value="false" label="Pokaż Pasek Kontroli" name="perms_group_control"/>
+ <text name="anyone_label">
+ Każdy
+ </text>
<check_box initial_value="false" label="Pozwól na nawigację &amp; interaktywność" name="perms_anyone_interact"/>
<check_box initial_value="false" label="Pokaż Pasek Kontroli" name="perms_anyone_control"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_nearby_media.xml b/indra/newview/skins/default/xui/pl/panel_nearby_media.xml
index a05c0d856f..cc023a12bf 100644
--- a/indra/newview/skins/default/xui/pl/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/pl/panel_nearby_media.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_media">
+ <string name="media_item_count_format">
+ (%ld media items)
+ </string>
<string name="empty_item_text">
&lt;empty&gt;
</string>
@@ -16,15 +19,10 @@
<button label="Zatrzymaj" name="all_nearby_media_disable_btn" tool_tip="Wyłącz wszystkie media w pobliżu"/>
<button label="Włącz" name="all_nearby_media_enable_btn" tool_tip="Włącz wszystkie media w pobliżu"/>
<button name="open_prefs_btn" tool_tip="Uruchom preferencje medialne"/>
- <button label="Więcej &gt;&gt;" label_selected="Mniej &lt;&lt;" name="more_less_btn" tool_tip="Zaawansowane"/>
+ <button label="Więcej &gt;&gt;" label_selected="Mniej &lt;&lt;" name="more_btn" tool_tip="Zaawansowane"/>
+ <button label="Więcej &gt;&gt;" label_selected="Mniej &lt;&lt;" name="less_btn" tool_tip="Zaawansowane"/>
</panel>
<panel name="nearby_media_panel">
- <text name="nearby_media">
- Media w pobliżu
- </text>
- <text name="show">
- Pokaż:
- </text>
<combo_box name="show_combo">
<combo_box.item label="Wszystkie" name="All"/>
<combo_box.item label="Na obecnej Parceli" name="WithinParcel"/>
@@ -38,28 +36,28 @@
<scroll_list.columns label="Nazwa" name="media_name"/>
<scroll_list.columns label="Debugowanie" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
- <button name="stop_btn" tool_tip="Zatrzymaj wybrane media"/>
+ <button name="stop_btn" tool_tip="Wyłącz wybrane media"/>
</layout_panel>
<layout_panel name="play">
- <button name="play_btn" tool_tip="Odtwarzaj wybrane media"/>
+ <button name="play_btn" tool_tip="Włącz wybrane media"/>
</layout_panel>
<layout_panel name="pause">
<button name="pause_btn" tool_tip="Zatrzymaj wybrane media"/>
</layout_panel>
<layout_panel name="volume_slider_ctrl">
- <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Regulacja audio dla wybranych mediów"/>
+ <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Głośność audio dla wybranych mediów"/>
</layout_panel>
<layout_panel name="mute">
- <button name="mute_btn" tool_tip="Wycisz audio wybranych mediów"/>
+ <button name="mute_btn" tool_tip="Wycisz audio dla wybranych mediów"/>
</layout_panel>
<layout_panel name="zoom">
- <button name="zoom_btn" tool_tip="Przybliż do wybranych mediów"/>
+ <button name="zoom_btn" tool_tip="Przybliż wybrane media"/>
</layout_panel>
<layout_panel name="unzoom">
- <button name="unzoom_btn" tool_tip="Oddal od wybranych mediów"/>
+ <button name="unzoom_btn" tool_tip="Oddal wybrane media"/>
</layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_edit.xml b/indra/newview/skins/default/xui/pl/panel_outfit_edit.xml
new file mode 100644
index 0000000000..2c5e2a3f61
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_outfit_edit.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="Edytuj strój" name="outfit_edit">
+ <string name="No Outfit" value="Brak stroju"/>
+ <string name="unsaved_changes" value="Zmiany niezachowane"/>
+ <string name="now_editing" value="Obecnie edytujesz"/>
+ <panel.string name="not_available">
+ (N\A)
+ </panel.string>
+ <panel.string name="unknown">
+ (nieznany)
+ </panel.string>
+ <string name="Filter.All" value="Wszystko"/>
+ <string name="Filter.Clothes/Body" value="Ubrania/Ciało"/>
+ <string name="Filter.Objects" value="Obiekty"/>
+ <string name="Filter.Clothing" value="Ubranie"/>
+ <string name="Filter.Bodyparts" value="Części ciała"/>
+ <string name="replace_body_part" value="Kliknij aby zastąpić Twój obecny ksztalt"/>
+ <text name="title" value="Edytuj strój"/>
+ <panel label="bottom_panel" name="header_panel">
+ <panel label="bottom_panel" name="outfit_name_and_status">
+ <text name="status" value="Trwa edycja..."/>
+ <text name="curr_outfit_name" value="[Current Outfit]"/>
+ </panel>
+ </panel>
+ <layout_stack name="im_panels">
+ <layout_panel label="Panel kontrolny IM" name="outfit_wearables_panel">
+ <layout_stack name="filter_panels">
+ <layout_panel name="add_button_and_combobox">
+ <button label="Dodaj..." name="show_add_wearables_btn" tool_tip="Otwórz/Zamknij"/>
+ </layout_panel>
+ <layout_panel name="filter_panel">
+ <filter_editor label="Filtruj częśći stroju w Szafie" name="look_item_filter"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="add_wearables_panel">
+ <button label="Załóż obiekt" name="plus_btn"/>
+ </layout_panel>
+ </layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Odwiedź stronę SL Marketplace. Możesz również zaznaczyć rzecz, którą masz na sobie a następnie kliknąć tutaj aby zobaczyć więcej rzeczy tego rodzaju."/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Odwiedź stronę SL Marketplace. Możesz również zaznaczyć rzecz, którą masz na sobie a następnie kliknąć tutaj aby zobaczyć więcej rzeczy tego rodzaju."/>
+ </panel>
+ <panel name="save_revert_button_bar">
+ <button label="Zapisz" name="save_btn"/>
+ <button label="Cofnij zmiany" name="revert_btn" tool_tip="Cofnij do ostatniej zapisanej wersji"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml
index 5e7fd46754..2d2ada25e8 100644
--- a/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Rzeczy" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Załóż zaznaczony strój
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Załóż wybrane obiekty
+ </panel.string>
<tab_container name="appearance_tabs">
- <inventory_panel label="MOJE UBRANIA" name="outfitslist_tab"/>
- <inventory_panel label="ZAŁOŻONE" name="cof_tab"/>
+ <panel label="MOJE UBRANIA" name="outfitslist_tab"/>
+ <panel label="ZAŁOŻONE" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Pokaż opcje dodatkowe"/>
- <dnd_button name="trash_btn" tool_tip="Usuń zaznaczony obiekt"/>
- <button label="Zapisz Ubranie" name="make_outfit_btn" tool_tip="Zapisz wygląd jako ubranie"/>
+ <button label="Zapisz jako" name="save_btn"/>
<button label="Ubierz" name="wear_btn" tool_tip="Ubierz wybrany obiekt"/>
- <button label="M" name="look_edit_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_list.xml b/indra/newview/skins/default/xui/pl/panel_outfits_list.xml
new file mode 100644
index 0000000000..ed3057399d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Pokaż dodatkowe opcje"/>
+ <button name="trash_btn" tool_tip="Usuń wybrany strój"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..5559c151e7
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Pokaż dodatkowe opcje"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_people.xml b/indra/newview/skins/default/xui/pl/panel_people.xml
index 09958c84d6..50fc0ba8af 100644
--- a/indra/newview/skins/default/xui/pl/panel_people.xml
+++ b/indra/newview/skins/default/xui/pl/panel_people.xml
@@ -1,14 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Side tray panel -->
<panel label="Ludzie" name="people_panel">
- <string name="no_people" value="Brak ludzi"/>
- <string name="no_one_near" value="Nikogo w pobliżu"/>
+ <string name="no_recent_people" value="Brak ostatnich rozmówców. Chcesz spotkać ludzi? Spróbuj [secondlife:///app/search/people Search] or the [secondlife:///app/worldmap Mapa Świata]."/>
+ <string name="no_filtered_recent_people" value="Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/groups/[SEARCH_TERM] Szukaj]."/>
+ <string name="no_one_near" value="Nie ma nikogo w pobliżu. Chcesz spotkać ludzi? Spróbuj[secondlife:///app/search/people Search] lub [secondlife:///app/worldmap Mapa Świata]."/>
+ <string name="no_one_filtered_near" value="Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/groups/[SEARCH_TERM] Szukaj]."/>
<string name="no_friends_online" value="Brak dostępnych Znajomych"/>
<string name="no_friends" value="Brak Znajomych"/>
+ <string name="no_friends_msg">
+ Wyszukaj znajomych [secondlife:///app/search/people Szukaj] lub kliknij prawym przyciskiem na Rezydenta aby zaproponować mu znajomość.
+Chcesz spotkać ludzi? Spróbuj [secondlife:///app/worldmap Mapa Świata].
+ </string>
+ <string name="no_filtered_friends_msg">
+ Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/groups/[SEARCH_TERM] Szukaj].
+ </string>
<string name="people_filter_label" value="Filtruj Ludzi"/>
<string name="groups_filter_label" value="Filtruj Grupy"/>
- <string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Może spróbuj odnaleźć Grupę korzystając z Szukaj?]"/>
- <string name="no_groups_msg" value="[secondlife:///app/search/groups Spróbuj wyszukać grupy aby do nich dołączyć.]"/>
+ <string name="no_filtered_groups_msg" value="Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/groups/[SEARCH_TERM] Szukaj]."/>
+ <string name="no_groups_msg" value="Chcesz dołączyć do grup? Spróbuj [secondlife:///app/search/groups Szukaj]."/>
<filter_editor label="Filtr" name="filter_input"/>
<tab_container name="tabs">
<panel label="W POBLIŻU" name="nearby_panel">
@@ -27,10 +36,6 @@
<button name="add_btn" tool_tip="Zaproponuj znajomość"/>
<button name="del_btn" tool_tip="Usuń wybraną osobę ze swojej listy znajomych"/>
</panel>
- <text name="no_friends_msg">
- By dodać nową znajomość skorzystaj ze strony [secondlife:///app/search/people ogólne wyszukiwanie] lub kliknij prawym przyciskiem myszki na Rezydenta by wysłać mu zaproszenie.
-Jeżeli szukasz ludzi, z którymi można się spotkać, kliknij tutaj [secondlife:///app/worldmap skorzystaj z mapy].
- </text>
</panel>
<panel label="GRUPY" name="groups_panel">
<panel label="bottom_panel" name="bottom_panel">
@@ -47,13 +52,13 @@ Jeżeli szukasz ludzi, z którymi można się spotkać, kliknij tutaj [secondlif
</panel>
</tab_container>
<panel name="button_bar">
- <button width="55" label="Profil" name="view_profile_btn" tool_tip="Pokaż zdjęcie, grupy i inne informacje o Rezydencie"/>
- <button width="35" label="IM" name="im_btn" tool_tip="Rozpocznij rozmowę prywatną (IM)"/>
- <button width="62" label="Zadzwoń" name="call_btn" tool_tip="Zadzwoń do tego Rezydenta"/>
- <button width="72" label="Podziel się" name="share_btn"/>
- <button width="70" label="Teleportuj" name="teleport_btn" tool_tip="Zaproponuj teleportację"/>
- <button width="69" label="Profil grupy" name="group_info_btn" tool_tip="Pokaż informacje o grupie"/>
- <button width="124" label="Konferencja Grupowa" name="chat_btn" tool_tip="Rozpocznij konferencę"/>
- <button width="108" label="Rozmowa Głosowa" name="group_call_btn" tool_tip="Rozmowa Głosowa w tej Grupie"/>
+ <button label="Profil" name="view_profile_btn" tool_tip="Pokaż zdjęcie, grupy i inne informacje o Rezydencie" width="55"/>
+ <button label="IM" name="im_btn" tool_tip="Rozpocznij rozmowę prywatną (IM)" width="35"/>
+ <button label="Zadzwoń" name="call_btn" tool_tip="Zadzwoń do tego Rezydenta" width="62"/>
+ <button label="Podziel się" name="share_btn" tool_tip="Udostępnij obiekt z Szafy" width="72"/>
+ <button label="Teleportuj" name="teleport_btn" tool_tip="Zaproponuj teleportację" width="70"/>
+ <button label="Profil grupy" name="group_info_btn" tool_tip="Pokaż informacje o grupie" width="69"/>
+ <button label="Konferencja Grupowa" name="chat_btn" tool_tip="Rozpocznij konferencę" width="124"/>
+ <button label="Rozmowa Głosowa" name="group_call_btn" tool_tip="Rozmowa Głosowa w tej Grupie" width="108"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_places.xml b/indra/newview/skins/default/xui/pl/panel_places.xml
index c7f3f00d98..23f724317e 100644
--- a/indra/newview/skins/default/xui/pl/panel_places.xml
+++ b/indra/newview/skins/default/xui/pl/panel_places.xml
@@ -5,11 +5,12 @@
<filter_editor label="Filtruj Moje Miejsca" name="Filter"/>
<panel name="button_panel">
<button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj do wybranego miejsca"/>
- <button label="Mapa" name="map_btn"/>
+ <button label="Mapa" name="map_btn" tool_tip="Pokaż miejsce na Mapie Świata"/>
<button label="Edytuj" name="edit_btn" tool_tip="Edytuj informacje landmarka"/>
<button label="▼" name="overflow_btn" tool_tip="Pokaż opcje dodatkowe"/>
- <button label="Zamknij" name="close_btn"/>
- <button label="Anuluj" name="cancel_btn"/>
<button label="Zapisz" name="save_btn"/>
+ <button label="Anuluj" name="cancel_btn"/>
+ <button label="Zamknij" name="close_btn"/>
+ <button label="Profil" name="profile_btn" tool_tip="Pokaż opis miejsca"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml
index 9905bbbc18..de4fa10b73 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml
@@ -13,6 +13,7 @@
</text>
<check_box label="Buduj/Edytuj" name="edit_camera_movement" tool_tip="Używaj automatycznego pozycjonowania kamery aktywując i deaktywując tryb edycji"/>
<check_box label="Wygląd" name="appearance_camera_movement" tool_tip="Używaj automatycznego pozycjonowania kamery podczas trybu edycji"/>
+ <check_box initial_value="prawda" label="Schowek" name="appearance_sidebar_positioning" tool_tip="Użyj automatycznego pozycjonowania kamery dla schowka"/>
<check_box label="Pokaż w trybie widoku panoramicznego" name="first_person_avatar_visible"/>
<check_box label="Aktywacja klawiszy strzałek do poruszania awatarem" name="arrow_keys_move_avatar_check"/>
<check_box label="kliknij-kliknij-przytrzymaj, aby uruchomić" name="tap_tap_hold_to_run"/>
@@ -20,6 +21,9 @@
<check_box label="Czat Chmurkowy" name="bubble_text_chat"/>
<slider label="Intensywność" name="bubble_chat_opacity"/>
<color_swatch name="background" tool_tip="Wybierz kolor czatu w chmurce"/>
+ <text name="UI Size:">
+ Rozmiar UI
+ </text>
<check_box label="Pokaż błędy skryptu w:" name="show_script_errors"/>
<radio_group name="show_location">
<radio_item label="Czat Lokalny" name="0"/>
@@ -29,4 +33,5 @@
<line_editor label="Naciśnij Mów by rozpocząć komunikację głosową" name="modifier_combo"/>
<button label="wybierz Klawisz" name="set_voice_hotkey_button"/>
<button label="Środkowy Przycisk Myszki" name="set_voice_middlemouse_button" tool_tip="Zresetuj do środkowego przycisku myszy"/>
+ <button label="Inne urządzenia" name="joystick_setup_button"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
index ae13cf662f..5805df402c 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
@@ -45,6 +45,7 @@
</text>
<check_box initial_value="true" label="Używaj animacji podczas pisania" name="play_typing_animation"/>
<check_box label="Wysyłaj wszystkie wiadomości (IM) na moją skrzynkę pocztową kiedy jestem niedostępny" name="send_im_to_email"/>
+ <check_box label="Zwykły tekst IM i historia czatu" name="plain_text_chat_history"/>
<text name="show_ims_in_label">
Pokaż wiadomości (IM) w:
</text>
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml
index bc08e025dd..99b3074fcb 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Grafika" name="Display panel">
- <text name="UI Size:">
- UI rozmiar:
- </text>
<text name="QualitySpeed">
Jakość i prędkość:
</text>
@@ -53,6 +50,7 @@
m
</text>
<slider label="Liczba cząsteczek:" name="MaxParticleCount"/>
+ <slider label="Max. # awatarów bez impostoryzacji:" name="MaxNumberAvatarDrawn"/>
<slider label="Jakość Post-Procesu:" name="RenderPostProcess"/>
<text name="MeshDetailText">
Szczególy obiektów:
diff --git a/indra/newview/skins/default/xui/pl/panel_status_bar.xml b/indra/newview/skins/default/xui/pl/panel_status_bar.xml
index 313c2732ff..241848c280 100644
--- a/indra/newview/skins/default/xui/pl/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/pl/panel_status_bar.xml
@@ -21,8 +21,10 @@
<panel.string name="buycurrencylabel">
L$ [AMT]
</panel.string>
- <button label="" label_selected="" name="buycurrency" tool_tip="Bilans"/>
- <button label="Kup L$" name="buyL" tool_tip="Kliknij aby kupić L$"/>
+ <panel name="balance_bg">
+ <text name="balance" tool_tip="Mój bilans" value="L$20"/>
+ <button label="Kup L$" name="buyL" tool_tip="Kliknij aby kupić więcej L$"/>
+ </panel>
<text name="TimeText" tool_tip="Obecny Czas (Pacyficzny)">
24:00 AM PST
</text>
diff --git a/indra/newview/skins/default/xui/pl/panel_voice_effect.xml b/indra/newview/skins/default/xui/pl/panel_voice_effect.xml
new file mode 100644
index 0000000000..f8a076424f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_voice_effect.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_voice_effect">
+ <string name="no_voice_effect">
+ Wyłącz Voice Morph
+ </string>
+ <string name="preview_voice_effects">
+ Przeglądaj Voice Morphing ▶
+ </string>
+ <string name="get_voice_effects">
+ Uzyskaj Voice Morphing ▶
+ </string>
+ <combo_box name="voice_effect" tool_tip="Wybierz Voice Morph aby zmienić Twój głos">
+ <combo_box.item label="Wyłącz Voice Morph" name="no_voice_effect"/>
+ </combo_box>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_world_map.xml b/indra/newview/skins/default/xui/pl/panel_world_map.xml
index 849b01a1ce..69f18be767 100644
--- a/indra/newview/skins/default/xui/pl/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/pl/panel_world_map.xml
@@ -30,6 +30,12 @@
<panel.string name="world_map_northwest">
NW
</panel.string>
+ <panel.string name="world_map_person">
+ 1 osoba
+ </panel.string>
+ <panel.string name="world_map_people">
+ [NUMBER] ludzi
+ </panel.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
diff --git a/indra/newview/skins/default/xui/pl/sidepanel_appearance.xml b/indra/newview/skins/default/xui/pl/sidepanel_appearance.xml
index ecbf262777..2fc07aaaca 100644
--- a/indra/newview/skins/default/xui/pl/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/pl/sidepanel_appearance.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Ubrania" name="appearance panel">
<string name="No Outfit" value="Bez Ubrania"/>
+ <string name="Unsaved Changes" value="Zmiany niezachowane"/>
+ <string name="Now Wearing" value="Obecnie założone..."/>
+ <string name="Changing outfits" value="Zmiana stroju"/>
<panel name="panel_currentlook">
- <text name="currentlook_title">
- (niezapisane)
+ <button label="E" name="editappearance_btn"/>
+ <button label="O" name="openoutfit_btn"/>
+ <text name="currentlook_status">
+ (Status)
</text>
+ <button label="" name="edit_outfit_btn" tool_tip="Edytuj ten strój"/>
</panel>
<filter_editor label="Przeglądaj Ubrania" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml
index d7a813b1b7..9e5280bcc4 100644
--- a/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml
@@ -2,10 +2,12 @@
<panel label="Rzeczy" name="objects panel">
<panel label="" name="sidepanel__inventory_panel">
<panel name="button_panel">
- <button label="Profil" name="info_btn"/>
- <button label="Ubierz" name="wear_btn"/>
+ <button label="Profil" name="info_btn" tool_tip="Pokaż profil obiektu"/>
+ <button label="Udostępnij" name="share_btn" tool_tip="Udostępnij obiekt z Szafy"/>
+ <button label="Zakupy" name="shop_btn" tool_tip="Otwórz stronę Marketplace"/>
+ <button label="Ubierz" name="wear_btn" tool_tip="Załóż wybrany strój"/>
<button label="Odtwarzaj" name="play_btn"/>
- <button label="Teleportuj" name="teleport_btn"/>
+ <button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj się w wybrane miejsce"/>
</panel>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml
index 5f324490c2..2f43e0c215 100644
--- a/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="item properties" title="Profil Obiektu">
+<panel name="item properties" title="Profil obiektu">
<panel.string name="unknown">
(nieznany)
</panel.string>
@@ -15,7 +15,13 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
- <text name="title" value="Profil Obiektu"/>
+ <panel.string name="origin_inventory">
+ (Szafa)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (W Świecie)
+ </panel.string>
+ <text name="title" value="Profil obiektu"/>
<text name="origin" value="(Szafa)"/>
<panel label="">
<text name="LabelItemNameTitle">
@@ -35,9 +41,7 @@
<text name="LabelAcquiredTitle">
Nabyte:
</text>
- <text name="LabelAcquiredDate">
- Wed May 24 12:50:46 2006
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Ty możesz:
diff --git a/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml
index 17cd13f970..84b5471e49 100644
--- a/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml
@@ -37,7 +37,7 @@
Sprzedaż mieszana
</panel.string>
<text name="title" value="Profil Obiektu"/>
- <text name="where" value="(w świecie)"/>
+ <text name="where" value="(W Świecie)"/>
<panel label="" name="properties_panel">
<text name="Name:">
Nazwa:
diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml
index f110052f68..4a21b1447b 100644
--- a/indra/newview/skins/default/xui/pl/strings.xml
+++ b/indra/newview/skins/default/xui/pl/strings.xml
@@ -88,6 +88,24 @@
<string name="LoginDownloadingClothing">
Ładowanie ubrania...
</string>
+ <string name="InvalidCertificate">
+ Serwer zwrócił nieważny lub zniekształcony certyfikat. Proszę skontaktuj się z administratorem Grida.
+ </string>
+ <string name="CertInvalidHostname">
+ Nazwa hosta jest nieważna, proszę sprawdź SLURL lub nazwę hosta Grida.
+ </string>
+ <string name="CertExpired">
+ Termin ważności certyfikatu zwróconego przez Grid minął. Proszę sprawdzić swój zegar systemowy lub skontaktować się z administratorem Grida.
+ </string>
+ <string name="CertKeyUsage">
+ Certyfikat zwrócony przez serwer nie może być użyty dla SSL. Proszę skontaktuj się z administratorem Grida.
+ </string>
+ <string name="CertBasicConstraints">
+ Zbyt wiele certyfikatów w łańcuchu certyfikatów serwera. Proszę skontaktować się z administratorem Grida.
+ </string>
+ <string name="CertInvalidSignature">
+ Podpis certyfikatu zwrócony przez Grid nie mógł zostać zweryfikowany. Proszę skontaktować się z administratorem Grida.
+ </string>
<string name="LoginFailedNoNetwork">
Błąd sieci: Brak połączenia z siecią, sprawdź status swojego połączenia internetowego.
</string>
@@ -215,7 +233,7 @@
Kliknij by uruchomić secondlife:// command
</string>
<string name="CurrentURL" value=" Obecny Adres: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[PRICE]-"/>
+ <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teleportuj do
</string>
@@ -246,6 +264,9 @@
<string name="BUTTON_CLOSE_WIN">
Zamknij (Ctrl+W)
</string>
+ <string name="BUTTON_CLOSE_CHROME">
+ Zamknij
+ </string>
<string name="BUTTON_RESTORE">
Odzyskaj
</string>
@@ -273,6 +294,9 @@
<string name="ReleaseNotes">
O Tej Wersji
</string>
+ <string name="RELEASE_NOTES_BASE_URL">
+ http://wiki.secondlife.com/wiki/Release_Notes/
+ </string>
<string name="LoadingData">
Ładowanie danych...
</string>
@@ -285,6 +309,9 @@
<string name="GroupNameNone">
(brak danych)
</string>
+ <string name="AvalineCaller">
+ Avaline Caller [ORDER]
+ </string>
<string name="AssetErrorNone">
OK
</string>
@@ -705,6 +732,12 @@
<string name="land_type_unknown">
(nieznane)
</string>
+ <string name="Estate / Full Region">
+ Majątek / Region
+ </string>
+ <string name="Mainland / Full Region">
+ Mainland / Region
+ </string>
<string name="all_files">
Wszystkie Pliki
</string>
@@ -810,9 +843,51 @@
<string name="invalid">
niewłaściwa funkcja
</string>
+ <string name="none">
+ żadne
+ </string>
+ <string name="shirt_not_worn">
+ Koszula niezałożona
+ </string>
+ <string name="pants_not_worn">
+ Spodnie niezałożone
+ </string>
+ <string name="shoes_not_worn">
+ Buty niezałożone
+ </string>
+ <string name="socks_not_worn">
+ Skarpetki niezałożone
+ </string>
+ <string name="jacket_not_worn">
+ Kurtka niezałożona
+ </string>
+ <string name="gloves_not_worn">
+ Rękawiczki niezałożone
+ </string>
+ <string name="undershirt_not_worn">
+ Podkoszulek niezałożony
+ </string>
+ <string name="underpants_not_worn">
+ Bielizna niezałożona
+ </string>
+ <string name="skirt_not_worn">
+ Spódnica niezałożona
+ </string>
+ <string name="alpha_not_worn">
+ Alpha niezałożone
+ </string>
+ <string name="tattoo_not_worn">
+ Tatuaż niezałożony
+ </string>
+ <string name="invalid_not_worn">
+ nieważny
+ </string>
<string name="NewWearable">
Nowa [WEARABLE_ITEM]
</string>
+ <string name="CreateNewWearable">
+ Stwórz [WEARABLE_TYPE]
+ </string>
<string name="next">
Następne
</string>
@@ -880,7 +955,10 @@
Wybierz ESC by powrócić do trybu widoku normalne
</string>
<string name="InventoryNoMatchingItems">
- Obiektu nie znaleziono w Szafie. Spróbuj [secondlife:///app/search/groups &quot;Search&quot;].
+ Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/all/[SEARCH_TERM] Szukaj].
+ </string>
+ <string name="PlacesNoMatchingItems">
+ Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/places/[SEARCH_TERM] Szukaj].
</string>
<string name="FavoritesNoMatchingItems">
Przeciągnij landmark tutaj aby dodać go do swoich ulubionych.
@@ -910,6 +988,7 @@
<string name="Wave" value=" Wave"/>
<string name="HelloAvatar" value=" Witaj, Awatarze!"/>
<string name="ViewAllGestures" value=" Zobacz Wszystkie &gt;&gt;"/>
+ <string name="GetMoreGestures" value="Więcej gesturek &gt;&gt;"/>
<string name="Animations" value=" Animacje,"/>
<string name="Calling Cards" value=" Wizytówki,"/>
<string name="Clothing" value=" Ubrania,"/>
@@ -986,9 +1065,6 @@
<string name="InvFolder Gestures">
Gesturki
</string>
- <string name="InvFolder Favorite">
- Ulubione
- </string>
<string name="InvFolder Current Outfit">
Obecne Ubranie
</string>
@@ -1506,32 +1582,44 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD Dolna P Strona
</string>
+ <string name="Bad attachment point">
+ Nieprawidłowy punkt załączenia
+ </string>
<string name="CursorPos">
Linia [LINE], Kolumna [COLUMN]
</string>
<string name="PanelDirCountFound">
[COUNT] odnalezionych
</string>
- <string name="PanelContentsNewScript">
- Nowy Skrypt
- </string>
<string name="PanelContentsTooltip">
Zawartość obiektu
</string>
+ <string name="PanelContentsNewScript">
+ Nowy Skrypt
+ </string>
<string name="BusyModeResponseDefault">
Rezydent, do którego wysłałeś wiadomość prywatną znajduje się w trybie pracy. Oznacza to, iż Twoja wiadomość zostanie zapisana do przeglądnięcia poźniej.
</string>
+ <string name="NoOutfits">
+ Nie posiadasz żadnych strojów. Spróbuj [secondlife:///app/search/all/ Szukaj]
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/all/[SEARCH_TERM] Szukaj].
+ </string>
<string name="MuteByName">
- (według nazwy)
+ (Nazwa)
</string>
<string name="MuteAgent">
(Rezydent)
</string>
<string name="MuteObject">
- (obiekt)
+ (Obiekt)
</string>
<string name="MuteGroup">
- (grupę)
+ (Grupę)
+ </string>
+ <string name="MuteExternal">
+ (Zewnętrzne)
</string>
<string name="RegionNoCovenant">
Brak umowy dla tego majątku.
@@ -1539,9 +1627,7 @@
<string name="RegionNoCovenantOtherOwner">
Brak umowy dla tego majątku. Każda posiadłość w tym majątku została sprzedana przez Właściciela majątku nie Linden Lab. Skontaktuj się z właścicielem majątku w celu uzuskania szczegółów sprzedaży.
</string>
- <string name="covenant_last_modified">
- Ostatnia Modyfikacja:
- </string>
+ <string name="covenant_last_modified" value="Ostatnio modyfikowano:"/>
<string name="none_text" value=" (żadne) "/>
<string name="never_text" value=" (nigdy) "/>
<string name="GroupOwned">
@@ -3218,6 +3304,15 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj się z [SUPPORT_SITE].
<string name="LocationCtrlComboBtnTooltip">
Historia odwiedzonych miejsc
</string>
+ <string name="LocationCtrlAdultIconTooltip">
+ Region Adult
+ </string>
+ <string name="LocationCtrlModerateIconTooltip">
+ Region Moderate
+ </string>
+ <string name="LocationCtrlGeneralIconTooltip">
+ Region
+ </string>
<string name="UpdaterWindowTitle">
[APP_NAME] Aktualizacja
</string>
@@ -3248,6 +3343,12 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj się z [SUPPORT_SITE].
<string name="UpdaterFailStartTitle">
Uruchomienie klienta nie powiodło się
</string>
+ <string name="ItemsComingInTooFastFrom">
+ [APP_NAME]: Obiekty ładują się zbyt szybko od [FROM_NAME], automatyczny podgląd jest wyłączony na [TIME] sekund
+ </string>
+ <string name="ItemsComingInTooFast">
+ [APP_NAME]: Obiekty ładują się zbyt szybko, automatyczny podgląd jest wyłączony na [TIME] sekund
+ </string>
<string name="IM_logging_string">
-- Zapisywanie logów rozmowy aktywowane --
</string>
@@ -3275,11 +3376,17 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj się z [SUPPORT_SITE].
<string name="IM_moderator_label">
(Moderator)
</string>
- <string name="started_call">
- Rozpoczęta rozmowa głosowa
+ <string name="answered_call">
+ Twoja rozmowa głosowa została odebrana
+ </string>
+ <string name="you_started_call">
+ Rozmowa głosowa została rozpoczęta
</string>
- <string name="joined_call">
- Dołączył do rozmowy głosowej
+ <string name="you_joined_call">
+ Dołączyłeś/Dołączyłaś do rozmowy głosowej
+ </string>
+ <string name="name_started_call">
+ [NAME] zaczyna rozmowę głosową
</string>
<string name="ringing-im">
Rozmowa głosowa...
@@ -3356,12 +3463,21 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj się z [SUPPORT_SITE].
<string name="unread_chat_multiple">
[SOURCES] powiedział/a coś nowego
</string>
+ <string name="session_initialization_timed_out_error">
+ Inicjalizacja sesji wygasła
+ </string>
+ <string name="voice_morphing_url">
+ http://secondlife.com/landing/voicemorphing
+ </string>
<string name="paid_you_ldollars">
[NAME] zapłacił Ci L$[AMOUNT]
</string>
<string name="you_paid_ldollars">
Zapłacono [NAME] [AMOUNT]L$ [REASON].
</string>
+ <string name="you_paid_ldollars_no_info">
+ Zapłacono L$[AMOUNT].
+ </string>
<string name="you_paid_ldollars_no_reason">
Zapłacono [NAME] [AMOUNT]L$.
</string>
@@ -3472,4 +3588,125 @@ Raport o Nadużyciu
<string name="Contents">
Zawartość
</string>
+ <string name="Gesture">
+ Gesturki
+ </string>
+ <string name="Male Gestures">
+ Gesturki dla mężczyzn
+ </string>
+ <string name="Female Gestures">
+ Gesturki dla kobiet
+ </string>
+ <string name="Other Gestures">
+ Inne gesturki
+ </string>
+ <string name="Speech Gestures">
+ Gesturki przemówienia
+ </string>
+ <string name="Common Gestures">
+ Gesturki
+ </string>
+ <string name="Male - Excuse me">
+ Mężczyzna - Excuse me
+ </string>
+ <string name="Male - Get lost">
+ Mężczyzna - Get lost
+ </string>
+ <string name="Male - Blow kiss">
+ Mężczyzna - Blow kiss
+ </string>
+ <string name="Male - Boo">
+ Mężczyzna - Boo
+ </string>
+ <string name="Male - Bored">
+ Mężczyzna - Znudzony
+ </string>
+ <string name="Male - Hey">
+ Mężczyzna - Hey
+ </string>
+ <string name="Male - Laugh">
+ Mężczyzna - Śmiech
+ </string>
+ <string name="Male - Repulsed">
+ Mężczyzna - Odrzucenie
+ </string>
+ <string name="Male - Shrug">
+ Mężczyzna - Wzruszenie ramionami
+ </string>
+ <string name="Male - Stick tougue out">
+ Mężczyzna - Pokaż język
+ </string>
+ <string name="Male - Wow">
+ Mężczyzna - Wow
+ </string>
+ <string name="Female - Excuse me">
+ Kobieta - Excuse me
+ </string>
+ <string name="Female - Get lost">
+ Kobieta - Get lost
+ </string>
+ <string name="Female - Blow kiss">
+ Kobieta - Blow kiss
+ </string>
+ <string name="Female - Boo">
+ Kobieta - Boo
+ </string>
+ <string name="Female - Bored">
+ Kobieta - Znudzona
+ </string>
+ <string name="Female - Hey">
+ Kobieta - Hey
+ </string>
+ <string name="Female - Laugh">
+ Kobieta - Śmiech
+ </string>
+ <string name="Female - Repulsed">
+ Kobieta - Odrzucenie
+ </string>
+ <string name="Female - Shrug">
+ Kobieta - Wzruszenie ramionami
+ </string>
+ <string name="Female - Stick tougue out">
+ Kobieta - Pokaż język
+ </string>
+ <string name="Female - Wow">
+ Kobieta - Wow
+ </string>
+ <string name="AvatarBirthDateFormat">
+ [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]
+ </string>
+ <string name="DefaultMimeType">
+ żadne/żadne
+ </string>
+ <string name="texture_load_dimensions_error">
+ Nie można załadować zdjęcia większego niż [WIDTH]*[HEIGHT]
+ </string>
+ <string name="words_separator" value=","/>
+ <string name="server_is_down">
+ Pomimo naszych najlepszych starań wystąpił niespodziewany problem.
+
+ Proszę sprawdzić czy na stronie status.secondlifegrid.net nie zostały umieszczone informacje o rozpoznanych problemach serwera.
+ Jeśli problemy będą występowały nadal, proszę sprawdź sieć i ustawienia firewall.
+ </string>
+ <string name="dateTimeWeekdaysNames">
+ Niedziela:Poniedziałek:Wtorek:Środa:Czwartek:Piątek:Sobota
+ </string>
+ <string name="dateTimeWeekdaysShortNames">
+ Niedz.:Pon.:Wt.:Śr.:Czw.:Pt.:Sob.
+ </string>
+ <string name="dateTimeMonthNames">
+ Styczeń:Luty:Marzec:Kwiecień:Maj:Czerwiec:Lipiec:Sierpień:Wrzesień:Październik:Listopad:Grudzień
+ </string>
+ <string name="dateTimeMonthShortNames">
+ St.:Lt.:Mrz.:Kw.:Maj:Cz.:Lp.:Sie.:Wrz.:Li.:Paź.:Gru.
+ </string>
+ <string name="dateTimeDayFormat">
+ [MDAY]
+ </string>
+ <string name="dateTimeAM">
+ AM
+ </string>
+ <string name="dateTimePM">
+ PM
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
index 364638780a..a01bee94a1 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="gesture_preview">
<floater.string name="step_anim">
- Selecionar animação:
+ Executar animação:
</floater.string>
<floater.string name="step_sound">
- Selecionar animação:
+ Executar som:
</floater.string>
<floater.string name="step_chat">
- Diga por bate-papo:
+ Executar bate-papo:
</floater.string>
<floater.string name="step_wait">
- Espere:
+ Pausa
</floater.string>
<floater.string name="stop_txt">
Parar
@@ -31,11 +31,11 @@
Gatilho:
</text>
<text name="replace_text" tool_tip="Substituir a(s) palavra(s) de gatilho por estas palavras. Por exemplo, o gatilho &apos;oi&apos; substituído por &apos;olá&apos;, mudará a conversa de &apos;Eu digo oi&apos; para &apos;Eu digo olá&apos; e também executando o gesto!">
- Substituir por:
+ Trocar por:
</text>
- <line_editor name="replace_editor" tool_tip="Substituir a(s) palavra(s) gatilho por estas palavras.Por exemplo, o gatilho &apos;oi&apos; substituído por &apos;olá&apos;, mudará a conversa de &apos;Eu digo oi&apos; para &apos;Eu digo olá&apos; e também executando o gesto!"/>
+ <line_editor name="replace_editor" tool_tip="Substituir a(s) palavra(s) gatilho por estas palavras. Por exemplo, o gatilho &apos;oi&apos; substituído por &apos;olá&apos;, mudará a conversa de &apos;Eu digo oi&apos; para &apos;Eu digo olá&apos; e também executando o gesto!"/>
<text name="key_label">
- Tecla de Atalho:
+ Atalho:
</text>
<combo_box label="Nenhum" left="116" name="modifier_combo" width="76"/>
<combo_box label="Nenhum" left_delta="80" name="key_combo" width="76"/>
@@ -55,16 +55,16 @@
(opções)
</text>
<radio_group name="animation_trigger_type">
- <radio_item label="OK" name="start"/>
- <radio_item label="Pare" name="stop"/>
+ <radio_item label="Iniciar" name="start"/>
+ <radio_item label="Parar" name="stop"/>
</radio_group>
<check_box bottom_delta="34" label="até que as animações estejam concluídas" name="wait_anim_check"/>
<check_box bottom_delta="-30" label="segundos:" name="wait_time_check"/>
<line_editor left_delta="130" name="wait_time_editor"/>
<text name="help_label">
- Se não incluir etapas de espera, todas as etapas ocorrem ao mesmo tempo.
+ Se não incluir uma pausa, todas as etapas ocorrem ao mesmo tempo.
</text>
- <check_box label="Ativar" name="active_check" tool_tip="Gestos ativos podem ser gatilhados escrevendo suas frases de gatilho no chat ou através de suas teclas de atalho. Gestos normalmente ficam inativos quando existe um conflito nas teclas de atalho."/>
+ <check_box label="Ativar" name="active_check" tool_tip="Gestos podem ser ativados escrevendo suas frases de gatilho no chat ou teclando o atalho. Gestos normalmente ficam inativos quando existe um conflito nas teclas de atalho."/>
<button label="Prévia" name="preview_btn"/>
<button label="Salvar" name="save_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_publish_classified.xml b/indra/newview/skins/default/xui/pt/floater_publish_classified.xml
index 988f8f2ce1..de3417ea14 100644
--- a/indra/newview/skins/default/xui/pt/floater_publish_classified.xml
+++ b/indra/newview/skins/default/xui/pt/floater_publish_classified.xml
@@ -5,7 +5,7 @@
Lembre-se, o pagamento do anúncio não é reembolsável
</text>
- <spinner label="Preço do anúncio:" name="price_for_listing" tool_tip="Preço do anúncio." value="50"/>
+ <spinner label="Preço: L$" name="price_for_listing" tool_tip="Preço do anúncio." value="50"/>
<text name="l$_text" value="L$"/>
<text name="more_info_text">
Mais informações (link para ajuda com anúncios)
diff --git a/indra/newview/skins/default/xui/pt/floater_tools.xml b/indra/newview/skins/default/xui/pt/floater_tools.xml
index dbc8b3ffbe..e70bd0575e 100644
--- a/indra/newview/skins/default/xui/pt/floater_tools.xml
+++ b/indra/newview/skins/default/xui/pt/floater_tools.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="toolbox floater" short_title="BUILD TOOLS" title="" width="288">
<floater.string name="status_rotate">
- Arrastar as bandas coloridas para girar o objeto
+ Arrastar as faixas coloridas para girar o objeto
</floater.string>
<floater.string name="status_scale">
Clicar e arrastar para esticar o lado selecionado
@@ -13,13 +13,13 @@
Clicar e reter para modificar a terra
</floater.string>
<floater.string name="status_camera">
- Clique e arraste para mexer a câmera
+ Clicar e arrastar para mover a câmera
</floater.string>
<floater.string name="status_grab">
- Arraste para mexer, Ctrl para levantar, Ctrl+Shift para girar
+ Arrastar para mexer, Ctrl para levantar, Ctrl+Shift para girar
</floater.string>
<floater.string name="status_place">
- Clique no mundo para construir
+ Clicar em um lugar para construir
</floater.string>
<floater.string name="status_selectland">
Clicar e arrastar para selecionar a terra
@@ -45,7 +45,7 @@
<button label="" label_selected="" name="button create" tool_tip="Criar"/>
<button label="" label_selected="" name="button land" tool_tip="Terra"/>
<text name="text status" width="280">
- Arraste para mover, shift+Arrastar para Copiar
+ Arrastar para mover, shift+Arrastar para copiar
</text>
<radio_group name="focus_radio_group">
<radio_item label="Zoom" name="radio zoom"/>
@@ -58,10 +58,10 @@
<radio_item label="Spin (Ctrl+Shift)" name="radio spin"/>
</radio_group>
<radio_group name="edit_radio_group">
- <radio_item label="Movimentar" name="radio position"/>
+ <radio_item label="Mover" name="radio position"/>
<radio_item label="Rotacionar (Ctrl)" name="radio rotate"/>
- <radio_item label="Stretch (Ctrl+Shift)" name="radio stretch"/>
- <radio_item label="Face selecionada" name="radio select face"/>
+ <radio_item label="Esticar (Ctrl+Shift)" name="radio stretch"/>
+ <radio_item label="Selecionar face" name="radio select face"/>
</radio_group>
<check_box label="Editar partes linkadas" name="checkbox edit linked parts"/>
<text name="RenderingCost" tool_tip="Mostra o cálculo do custo de renderização do objeto">
@@ -73,10 +73,10 @@
</text>
<check_box initial_value="true" label="Esticar texturas" name="checkbox stretch textures"/>
<check_box initial_value="true" label="Mostrar na grade" name="checkbox snap to grid"/>
- <combo_box name="combobox grid mode" tool_tip="Selecione o tipo de régua da grade onde o objeto será colocado">
- <combo_box.item label="Grid SL" name="World"/>
- <combo_box.item label="Grid local" name="Local"/>
- <combo_box.item label="Grid de referência" name="Reference"/>
+ <combo_box name="combobox grid mode" tool_tip="Selecione a régua da grade onde o objeto será colocado">
+ <combo_box.item label="Grade SL" name="World"/>
+ <combo_box.item label="Local" name="Local"/>
+ <combo_box.item label="Referência" name="Reference"/>
</combo_box>
<button label="Opções..." label_selected="Opções..." name="Options..." tool_tip="Mais opções de grade"/>
<button label="" label_selected="" name="ToolCube" tool_tip="Cubo"/>
@@ -99,12 +99,12 @@
<check_box initial_value="true" label="Copiar parte central" name="checkbox copy centers"/>
<check_box label="Girar cópia" name="checkbox copy rotates"/>
<radio_group name="land_radio_group">
- <radio_item label="Selecionar Terra" name="radio select land"/>
+ <radio_item label="Selecionar terra" name="radio select land"/>
<radio_item label="Aplainar" name="radio flatten"/>
- <radio_item label="Subir" name="radio raise"/>
+ <radio_item label="Elevar" name="radio raise"/>
<radio_item label="Abaixar" name="radio lower"/>
- <radio_item label="Suavizar" name="radio smooth"/>
- <radio_item label="Endurecer" name="radio noise"/>
+ <radio_item label="Alisar" name="radio smooth"/>
+ <radio_item label="Irregularizar" name="radio noise"/>
<radio_item label="Reverter" name="radio revert"/>
</radio_group>
<text name="Bulldozer:">
@@ -144,7 +144,7 @@
Você não pode modificar estes objetos
</panel.string>
<panel.string name="text modify warning">
- Selecione o objeto intereiro para configurar as autorizações
+ Selecione o objeto inteiro para configurar as autorizações
</panel.string>
<panel.string name="Cost Default">
Preço: L$
@@ -156,10 +156,10 @@
Preço unitário: L$
</panel.string>
<panel.string name="Cost Mixed">
- Preço Misturado
+ Preço misto
</panel.string>
<panel.string name="Sale Mixed">
- Venda Misturada
+ Venda mista
</panel.string>
<text name="Name:">
Nome:
@@ -193,7 +193,7 @@
<combo_box.item label="Tocar (padrão)" name="Touch/grab(default)"/>
<combo_box.item label="Sentar no objeto" name="Sitonobject"/>
<combo_box.item label="Comprar objeto" name="Buyobject"/>
- <combo_box.item label="Pagar Objeto" name="Payobject"/>
+ <combo_box.item label="Pagar objeto" name="Payobject"/>
<combo_box.item label="Abrir" name="Open"/>
<combo_box.item label="Zoom" name="Zoom"/>
</combo_box>
@@ -358,7 +358,7 @@
</panel>
<panel label="Recursos" name="Features">
<text name="select_single" width="272">
- Selecione apenas uma primitiva para editar suas características.
+ Selecione apenas um prim para editar suas características.
</text>
<text name="edit_object">
Editar características do Objeto:
@@ -480,7 +480,7 @@
<button label="Sobre terrenos" label_selected="Sobre terrenos" name="button about land"/>
<check_box label="Mostrar donos" name="checkbox show owners" tool_tip="Colorir lotes de acordo com seus donos: Green = Sua terra Aqua = Terra do seu grupo Red = Possuída por outros Yellow = À venda Purple = A leilão Grey = Pública"/>
<text name="label_parcel_modify">
- Modificar Lote
+ Modificar lote
</text>
<button label="Subdividir" label_selected="Subdividir" name="button subdivide land"/>
<button label="Juntar" label_selected="Juntar" name="button join land"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_voice_effect.xml b/indra/newview/skins/default/xui/pt/floater_voice_effect.xml
index b9f9677833..cb9b3c8c0d 100644
--- a/indra/newview/skins/default/xui/pt/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/pt/floater_voice_effect.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater label="Lugares" name="voice_effects" title="DISTORCENDO VOZ">
+<floater label="Lugares" name="voice_effects" title="EFEITOS DE VOZ">
<string name="no_voice_effect">
(Não distorcer voz)
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml
index 3952b80269..77d0c787e7 100644
--- a/indra/newview/skins/default/xui/pt/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/pt/floater_world_map.xml
@@ -20,13 +20,13 @@
</text>
<check_box label="Terra à Venda" name="land_for_sale_chk"/>
<text name="land_sale_label">
- Venda de terreno
+ Terreno à venda
</text>
<text name="by_owner_label">
- o proprietário
+ pelo dono
</text>
<text name="auction_label">
- leilão de terrenos
+ leilão
</text>
<button label="Voltar ao meu início" label_selected="Voltar ao meu início" name="Go Home" tool_tip="Teletransportar para meu início"/>
<text name="Home_label">
@@ -37,7 +37,7 @@
</text>
<check_box label="PG" name="event_chk"/>
<text name="pg_label">
- Público geral
+ Geral
</text>
<check_box label="Mature" name="events_mature_chk"/>
<text name="events_mature_label">
diff --git a/indra/newview/skins/default/xui/pt/menu_cof_clothing.xml b/indra/newview/skins/default/xui/pt/menu_cof_clothing.xml
index a58353f14e..051323ae6a 100644
--- a/indra/newview/skins/default/xui/pt/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/pt/menu_cof_clothing.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Clothing">
<menu_item_call label="Tirar" name="take_off"/>
- <menu_item_call label="Subir um nível" name="move_up"/>
- <menu_item_call label="Baixar um nível" name="move_down"/>
<menu_item_call label="Editar" name="edit"/>
+ <menu_item_call label="Trocar" name="replace"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index aa195e5739..1ee197ce30 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -16,7 +16,7 @@
<menu label="Novas roupas" name="New Clothes">
<menu_item_call label="Nova camisa" name="New Shirt"/>
<menu_item_call label="Nova calça" name="New Pants"/>
- <menu_item_call label="Novos calçados" name="New Shoes"/>
+ <menu_item_call label="Novos sapatos" name="New Shoes"/>
<menu_item_call label="Novas meias" name="New Socks"/>
<menu_item_call label="Nova jaqueta" name="New Jacket"/>
<menu_item_call label="Nova saia" name="New Skirt"/>
@@ -47,8 +47,8 @@
<menu_item_call label="Teletransporte" name="Landmark Open"/>
<menu_item_call label="Abrir" name="Animation Open"/>
<menu_item_call label="Abrir" name="Sound Open"/>
- <menu_item_call label="Substituir equipamento" name="Replace Outfit"/>
- <menu_item_call label="Adicionar ao equipamento" name="Add To Outfit"/>
+ <menu_item_call label="Substituir look" name="Replace Outfit"/>
+ <menu_item_call label="Adicionar a look" name="Add To Outfit"/>
<menu_item_call label="Tirar do look atual" name="Remove From Outfit"/>
<menu_item_call label="Encontrar original" name="Find Original"/>
<menu_item_call label="Remover item" name="Purge Item"/>
@@ -75,12 +75,11 @@
<menu_item_call label="Ativar" name="Activate"/>
<menu_item_call label="Desativar" name="Deactivate"/>
<menu_item_call label="Salvar como" name="Save As"/>
- <menu_item_call label="Retirar de si mesmo" name="Detach From Yourself"/>
- <menu_item_call label="Vestir objeto" name="Object Wear"/>
+ <menu_item_call label="Tirar de si mesmo" name="Detach From Yourself"/>
+ <menu_item_call label="Vestir" name="Wearable And Object Wear"/>
<menu label="Anexar a" name="Attach To"/>
<menu label="Anexar ao HUD" name="Attach To HUD"/>
<menu_item_call label="Editar" name="Wearable Edit"/>
- <menu_item_call label="Vestir" name="Wearable Wear"/>
<menu_item_call label="Adicionar" name="Wearable Add"/>
<menu_item_call label="Tirar" name="Take Off"/>
<menu_item_call label="--Sem opções--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml
index 8bae7afddc..a3e62924ec 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml
@@ -6,9 +6,10 @@
<menu_item_call label="Mostrar filtros" name="show_filters"/>
<menu_item_call label="Restabelecer filtros" name="reset_filters"/>
<menu_item_call label="Fechar todas as pastas" name="close_folders"/>
- <menu_item_call label="Esvaziar lixeira" name="empty_trash"/>
<menu_item_call label="Esvaziar achados e perdidos" name="empty_lostnfound"/>
<menu_item_call label="Salvar textura como" name="Save Texture As"/>
+ <menu_item_call label="Compartilhar" name="Share"/>
<menu_item_call label="Encontrar original" name="Find Original"/>
<menu_item_call label="Encontrar todos os links" name="Find All Links"/>
+ <menu_item_call label="Esvaziar lixeira" name="empty_trash"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_outfit_gear.xml b/indra/newview/skins/default/xui/pt/menu_outfit_gear.xml
index eb1c026708..11b3e653c6 100644
--- a/indra/newview/skins/default/xui/pt/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/pt/menu_outfit_gear.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Outfit">
<menu_item_call label="Vestir - Substituir look atual" name="wear"/>
+ <menu_item_call label="Vestir - Adicionar ao look atual" name="wear_add"/>
<menu_item_call label="Tirar - Tirar do look atual" name="take_off"/>
<menu label="Roupas novas" name="New Clothes">
<menu_item_call label="Nova camisa" name="New Shirt"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml
index 1874837d65..f8e8a33521 100644
--- a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Trocar" name="wear"/>
+ <menu_item_call label="Trocar" name="wear_replace"/>
+ <menu_item_call label="Vestir" name="wear_wear"/>
<menu_item_call label="Adicionar" name="wear_add"/>
<menu_item_call label="Tirar / Separar" name="take_off_or_detach"/>
<menu_item_call label="Separar" name="detach"/>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index 1e517a5dc5..5ab5de59d9 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -355,6 +355,10 @@ Tem certeza de que quer prosseguir?
Excluir destaque &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Apagar"/>
</notification>
+ <notification name="DeleteOutfits">
+ Excluir look(s) selecionado(s)?
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
+ </notification>
<notification name="PromptGoToEventsPage">
Ir até a página web de enventos [SECOND_LIFE] ?
<url name="url">
@@ -2022,11 +2026,6 @@ Inclua um link para facilitar o acesso para visitantes. Teste o link na barra de
Fazendo o upload das fotos do site da web e do mundo...
(Leva cerca de 5 minutos)
</notification>
- <notification name="UploadConfirmation">
- O upload custa L$ [AMOUNT].
-Deseja continuar?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Upload"/>
- </notification>
<notification name="UploadPayment">
Você paga L$[AMOUNT] para fazer o upload.
</notification>
@@ -2443,9 +2442,6 @@ Do objeto: [OBJECTNAME], dono: [NAME]?
<notification name="FailedToFindWearable">
Falhou ao procurar [TYPE] nomeado [DESC] no banco de dados.
</notification>
- <notification name="ShareToWebFailed">
- Falha de upload da imagem na web.
- </notification>
<notification name="InvalidWearable">
O item que você está tentando usar tem um recurso que seu Visualizador não consegue ler. Atualize o [APP_NAME] para poder vestir esse item.
</notification>
diff --git a/indra/newview/skins/default/xui/pt/panel_landmark_info.xml b/indra/newview/skins/default/xui/pt/panel_landmark_info.xml
index 6196c06d09..39c19a22d4 100644
--- a/indra/newview/skins/default/xui/pt/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/pt/panel_landmark_info.xml
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="landmark_info">
- <string name="title_create_landmark" value="Criar Landmark"/>
- <string name="title_edit_landmark" value="Editar Landmark"/>
- <string name="title_landmark" value="Landmark"/>
- <string name="not_available" value="(N\A)"/>
+ <string name="title_create_landmark" value="Criar marco"/>
+ <string name="title_edit_landmark" value="Editar marco"/>
+ <string name="title_landmark" value="Marco"/>
+ <string name="not_available" value="(N/A)"/>
<string name="unknown" value="(desconhecido)"/>
<string name="public" value="(público)"/>
<string name="server_update_text">
Informação do lugar não disponível sem atualização do servidor.
</string>
<string name="server_error_text">
- Informações sobre esta localização não está disponível neste momento, por favor, tente novamente mais tarde.
+ No momento não há informações sobre este lugar; por favor tente novamente mais tarde.
</string>
<string name="server_forbidden_text">
- Informações sobre esta localização está indisponível devido a restrições de acesso. Por favor, verifique as permissões com o proprietário da parcela.
+ Os dados deste lugar não estão indisponíveis devido a restrições de acesso. Verifique as permissões com o proprietário do terreno ou parcela.
</string>
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
<button name="back_btn" tool_tip="Atrás"/>
- <text name="title" value="Perfil do Lugar"/>
+ <text name="title" value="Perfil do lugar"/>
<scroll_container name="place_scroll">
<panel name="scrolling_panel">
<text name="maturity_value" value="desconhecido"/>
@@ -31,7 +31,7 @@
<panel name="landmark_edit_panel">
<text name="title_label" value="Título:"/>
<text name="notes_label" value="Minhas notas:"/>
- <text name="folder_label" value="Localização da Landmark:"/>
+ <text name="folder_label" value="Localização do marco:"/>
</panel>
</panel>
</scroll_container>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
index 74aec1cbd2..12c57411db 100644
--- a/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
@@ -34,8 +34,16 @@
</layout_panel>
</layout_stack>
</layout_panel>
- <layout_panel name="add_wearables_panel"/>
+ <layout_panel name="add_wearables_panel">
+ <button label="Vestir" name="plus_btn"/>
+ </layout_panel>
</layout_stack>
+ <panel name="no_add_wearables_button_bar">
+ <button name="shop_btn_1" tool_tip="Visite o SL Marketplace. Ou selecione algum artigo do seu look e clique aqui para ver outros artigos parecidos"/>
+ </panel>
+ <panel name="add_wearables_button_bar">
+ <button name="shop_btn_2" tool_tip="Visite o SL Marketplace. Ou selecione algum artigo do seu look e clique aqui para ver outros artigos parecidos"/>
+ </panel>
<panel name="save_revert_button_bar">
<button label="Salvar" name="save_btn"/>
<button label="Desfazer mudanças" name="revert_btn" tool_tip="Voltar à versão salva anterior"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
index f4b680fd8f..96f4d60957 100644
--- a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Coisas" name="Outfits">
+ <panel.string name="wear_outfit_tooltip">
+ Vestir look selecionado
+ </panel.string>
+ <panel.string name="wear_items_tooltip">
+ Vestir itens selecionados
+ </panel.string>
<tab_container name="appearance_tabs">
<panel label="MEUS LOOKS" name="outfitslist_tab"/>
- <inventory_panel label="EM USO" name="cof_tab"/>
+ <panel label="EM USO" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
- <dnd_button name="trash_btn" tool_tip="Excluir look selecionado"/>
<button label="Salvar como" name="save_btn"/>
<button label="Vestir" name="wear_btn" tool_tip="Vestir look selecionado"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_list.xml b/indra/newview/skins/default/xui/pt/panel_outfits_list.xml
new file mode 100644
index 0000000000..2b2e7c1dbf
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_list.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
+ <button name="trash_btn" tool_tip="Excluir o look selecionado"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml
new file mode 100644
index 0000000000..9224ec4742
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Wearing">
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_place_profile.xml b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
index 03f997f31b..554c4d897d 100644
--- a/indra/newview/skins/default/xui/pt/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
@@ -36,7 +36,7 @@
Dados sobre o local não disponíveis no momento. Favor tentar mais tarde.
</string>
<string name="server_forbidden_text">
- Dados sobre o local controlados por lista de acesso. Verifique se você está autorizado a acessá-los com o dono do lote.
+ Dados sobre o local controlados por lista de acesso. Verifique se você está autorizado a acessá-los com o dono do lote.
</string>
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
@@ -53,18 +53,18 @@
<text name="rating_label" value="Classificação:"/>
<text name="rating_value" value="desconhecido"/>
<text name="voice_label" value="Voz:"/>
- <text name="voice_value" value="Ligar"/>
+ <text name="voice_value" value="Ligado"/>
<text name="fly_label" value="Voar:"/>
- <text name="fly_value" value="Ligar"/>
+ <text name="fly_value" value="Ligado"/>
<text name="push_label" value="Empurrar:"/>
- <text name="push_value" value="Desligar"/>
+ <text name="push_value" value="Desligado"/>
<text name="build_label" value="Construir:"/>
- <text name="build_value" value="Ligar"/>
+ <text name="build_value" value="Ligado"/>
<text name="scripts_label" value="Scripts:"/>
- <text name="scripts_value" value="Ligar"/>
+ <text name="scripts_value" value="Ligado"/>
<text name="damage_label" value="Dano:"/>
- <text name="damage_value" value="Desligar"/>
- <button label="Sobre terrenos" name="about_land_btn"/>
+ <text name="damage_value" value="Desligado"/>
+ <button label="Sobre o terreno" name="about_land_btn"/>
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Região">
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml
index 0cf2b7a4af..ba4ebdb9bf 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml
@@ -21,6 +21,6 @@
Localização dos logs:
</text>
<line_editor left="278" name="log_path_string" right="-20"/>
- <button label="Navegar" label_selected="Navegar" name="log_path_button" width="120"/>
- <button label="Lista dos bloqueados" name="block_list"/>
+ <button label="Procurar" label_selected="Procurar" name="log_path_button" width="120"/>
+ <button label="Lista de bloqueados" name="block_list"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/role_actions.xml b/indra/newview/skins/default/xui/pt/role_actions.xml
index 2e6e4dd133..88fd4b3ca8 100644
--- a/indra/newview/skins/default/xui/pt/role_actions.xml
+++ b/indra/newview/skins/default/xui/pt/role_actions.xml
@@ -2,7 +2,7 @@
<role_actions>
<action_set description="Esta habilidades incluem poderes de adicionar ou remover membros do grupo e permitir que novos membros se juntem sem um convite." name="Membership">
<action description="Convidar pessoas para este grupo" longdescription="Em Membros &gt; Cargos, use o botão &apos;Convidar&apos; para convidar pessoas para entrar no grupo." name="member invite"/>
- <action description="Expulsar membros deste grupo" longdescription="Em Membros &gt; Cargos, use o botão &apos;Ejetar&apos; para tirar pessoas do grupo. Proprietários podem expulsar qualquer pessoa, menos outro proprietário. Se você não é Proprietário, um membro só pode ser expulso se tiver cargo &apos;Todos&apos; e nenhum outro cargo. Para destituir um membro de seu cargo, você precisa ter a função &apos;Destituir membro com cargo&apos;." name="member eject"/>
+ <action description="Expulsar membros deste grupo" longdescription="Em Membros &gt; Cargos, use o botão &apos;Ejetar&apos; para tirar pessoas do grupo. Proprietários podem expulsar qualquer pessoa, menos outro proprietário. Se você não é Proprietário, um membro só pode ser expulso se tiver cargo &apos;Todos&apos; e nenhum outro cargo. Para destituir um membro de seu cargo, você precisa ter a função &apos;Destituir membro com cargo&apos;." name="member eject"/>
<action description="Alterna entre &apos;Inscrições abertas&apos; e &apos;Taxa de associação&apos;." longdescription="Ative &apos;Inscrições abertas&apos; para que novos membros entrem no grupo sem convite, mude a &apos;Taxa de associação&apos; na seção Geral." name="member options"/>
</action_set>
<action_set description="Estas habilidades incluem poderes de adicionar, remover e mudar funções do grupo; adicionar e remover membros em funções e designar habilidades a funções." name="Roles">
@@ -18,7 +18,7 @@
<action description="Mudar apresentação, insígnia, &apos;Publicar na web&apos;, e quais membros estão publicamente visíveis em Informações do Grupo." longdescription="Modificar o estatuto, símbolo e exibição nos resultados de busca. Use a seção Geral." name="group change identity"/>
</action_set>
<action_set description="Estas funções incluem poderes de transferir, vender e modificar os terrenos do grupo. Para acessar a janela &apos;Sobre terrenos&apos;, clique no chão com o botão direito e selecione &apos;Sobre terrenos&apos;. Ou clique no ícone &apos;i&apos; da barra de navegação." name="Parcel Management">
- <action description="Transferir e comprar terreno para o grupo" longdescription="Transfere e compre terreno para o grupo. É feito em Sobre o terreno &gt; aba Geral." name="land deed"/>
+ <action description="Transferir e comprar terreno para o grupo" longdescription="Transfere e compre terreno para o grupo. É feito em Sobre o terreno &gt; aba Geral." name="land deed"/>
<action description="Abandonar terreno para Governador Linden" longdescription="Abandone terreno para Governador Linden. *AVISO* Qualquer membro em uma função com esta habilidade pode abandonar o terreno pertencente ao grupo em Sobre o terreno &gt; aba Geral, revertendo à posse Linden sem uma venda! Certifique-se de saber o que está fazendo antes de designar esta habilidade." name="land release"/>
<action description="Definir terreno para informação de venda" longdescription="Defina informações de venda para terreno. *AVISO* Qualquer membro em uma função com esta habilidade pode vender terrenos pertencentes ao grupo em Sobre o terreno &gt; aba Geral como quiser! Certifique-se de sabe o que está fazendo antes de designar esta habilidade." name="land set sale info"/>
<action description="Subdividir e unir parcelas" longdescription="Juntar ou dividir lotes. Clique no chão com o botão direito, selecione &apos;Editar terreno&apos; e arraste o mouse sobre o terreno para ver as opções. Para dividir um terreno, selecione a área a ser dividida e clique em &apos;Dividir&apos;. Para juntar terrenos, selecione dois ou mais lotes adjacentes e clique em &apos;Juntar&apos;." name="land divide join"/>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
index 8189da5efb..8e880588e9 100644
--- a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
@@ -15,6 +15,12 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
+ <panel.string name="origin_inventory">
+ (Inventário)
+ </panel.string>
+ <panel.string name="origin_inworld">
+ (Inworld)
+ </panel.string>
<text name="title" value="Perfil do item"/>
<text name="origin" value="(Inventário)"/>
<panel label="">
@@ -35,9 +41,7 @@
<text name="LabelAcquiredTitle">
Adquirido:
</text>
- <text name="LabelAcquiredDate">
- Quarta 24 de Maio 12:50:46 2006
- </text>
+ <text name="LabelAcquiredDate"/>
<panel name="perms_inv">
<text name="perm_modify">
Você pode:
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml
index 9193730018..dd65810b22 100644
--- a/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml
@@ -37,7 +37,7 @@
Venda mista
</panel.string>
<text name="title" value="Perfil do objeto"/>
- <text name="where" value="(inworld)"/>
+ <text name="where" value="(Inworld)"/>
<panel label="" name="properties_panel">
<text name="Name:">
Nome:
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index ecdbf7b624..95ad41743e 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -236,7 +236,7 @@
Clique para ativar no secondlife:// comando
</string>
<string name="CurrentURL" value="URL atual: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[PRICE]-"/>
+ <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teletransportar para
</string>
@@ -1588,21 +1588,30 @@
<string name="ATTACH_HUD_BOTTOM_RIGHT">
HUD direito inferior
</string>
+ <string name="Bad attachment point">
+ Ponto de encaixe inválido
+ </string>
<string name="CursorPos">
Linha [LINE], Coluna [COLUMN]
</string>
<string name="PanelDirCountFound">
[COUNT] encontrado
</string>
- <string name="PanelContentsNewScript">
- Novo Script
- </string>
<string name="PanelContentsTooltip">
Conteúdo do objeto
</string>
+ <string name="PanelContentsNewScript">
+ Novo Script
+ </string>
<string name="BusyModeResponseDefault">
O residente para o qual escreveu está no modo &apos;ocupado&apos;, ou seja, ele prefere não receber nada no momento. Sua mensagem será exibida como uma MI mais tarde.
</string>
+ <string name="NoOutfits">
+ Você ainda não tem nenhum look. Tente fazer uma [secondlife:///app/search/groups Busca].
+ </string>
+ <string name="NoOutfitsTabsMatched">
+ Não encontrou o que procura? Tente buscar no [secondlife:///app/search/people/[SEARCH_TERM] Search].
+ </string>
<string name="MuteByName">
(por nome)
</string>