From 2bd790daaab9603dc61b8cd431b2e5d65f91ef79 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Sat, 12 Feb 2011 06:30:19 -0500 Subject: STORM-990 The arrow in the bottom right of the Landmark panel points down --- indra/newview/skins/default/xui/en/panel_places.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_places.xml b/indra/newview/skins/default/xui/en/panel_places.xml index d9c357f277..d907b5f7ec 100644 --- a/indra/newview/skins/default/xui/en/panel_places.xml +++ b/indra/newview/skins/default/xui/en/panel_places.xml @@ -214,7 +214,9 @@ background_visible="true" Date: Sat, 12 Feb 2011 06:50:01 -0500 Subject: STORM-990 Slight change to up-selected button --- indra/newview/skins/default/xui/en/panel_places.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_places.xml b/indra/newview/skins/default/xui/en/panel_places.xml index d907b5f7ec..e4074a56c2 100644 --- a/indra/newview/skins/default/xui/en/panel_places.xml +++ b/indra/newview/skins/default/xui/en/panel_places.xml @@ -216,7 +216,7 @@ background_visible="true" height="23" image_disabled="ComboButton_UpOff" image_unselected="ComboButton_UpOff" - image_selected="ComboButton_Up_On_Selected" + image_selected="ComboButton_UpSelected" layout="topleft" mouse_opaque="false" name="overflow_btn" -- cgit v1.2.3 From 1bb46c7384f6532da8f0315f61b8613bd0b9b717 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 16 Feb 2011 17:02:06 -0800 Subject: SOCIAL-544 PARTIAL move skylight skin to viewer repo --- indra/newview/skins/minimal/colors.xml | 6 + .../newview/skins/minimal/textures/arrow_keys.png | Bin 0 -> 6558 bytes .../textures/bottomtray/button_separator.png | Bin 0 -> 153 bytes .../minimal/textures/login_teleport_background.jpg | Bin 0 -> 130026 bytes indra/newview/skins/minimal/textures/sl_logo.png | Bin 0 -> 4542 bytes indra/newview/skins/minimal/textures/textures.xml | 7 + .../skins/minimal/xui/en/floater_camera.xml | 257 +++++++++ .../skins/minimal/xui/en/floater_help_browser.xml | 52 ++ .../skins/minimal/xui/en/floater_media_browser.xml | 205 ++++++++ .../skins/minimal/xui/en/floater_nearby_chat.xml | 52 ++ .../skins/minimal/xui/en/inspect_avatar.xml | 135 +++++ .../skins/minimal/xui/en/inspect_object.xml | 116 ++++ indra/newview/skins/minimal/xui/en/main_view.xml | 236 +++++++++ .../minimal/xui/en/menu_add_wearable_gear.xml | 2 + .../skins/minimal/xui/en/menu_attachment_other.xml | 35 ++ .../skins/minimal/xui/en/menu_attachment_self.xml | 2 + .../skins/minimal/xui/en/menu_avatar_icon.xml | 2 + .../skins/minimal/xui/en/menu_avatar_other.xml | 25 + .../skins/minimal/xui/en/menu_avatar_self.xml | 2 + .../skins/minimal/xui/en/menu_bottomtray.xml | 2 + .../skins/minimal/xui/en/menu_cof_attachment.xml | 2 + .../skins/minimal/xui/en/menu_cof_body_part.xml | 2 + .../skins/minimal/xui/en/menu_cof_clothing.xml | 2 + .../newview/skins/minimal/xui/en/menu_cof_gear.xml | 2 + indra/newview/skins/minimal/xui/en/menu_edit.xml | 90 ++++ .../skins/minimal/xui/en/menu_favorites.xml | 2 + .../skins/minimal/xui/en/menu_gesture_gear.xml | 2 + .../skins/minimal/xui/en/menu_group_plus.xml | 2 + .../skins/minimal/xui/en/menu_hide_navbar.xml | 2 + .../skins/minimal/xui/en/menu_im_well_button.xml | 2 + .../skins/minimal/xui/en/menu_imchiclet_adhoc.xml | 2 + .../skins/minimal/xui/en/menu_imchiclet_group.xml | 2 + .../skins/minimal/xui/en/menu_imchiclet_p2p.xml | 2 + .../minimal/xui/en/menu_inspect_avatar_gear.xml | 2 + .../minimal/xui/en/menu_inspect_object_gear.xml | 2 + .../minimal/xui/en/menu_inspect_self_gear.xml | 2 + .../minimal/xui/en/menu_inv_offer_chiclet.xml | 2 + .../skins/minimal/xui/en/menu_inventory.xml | 2 + .../skins/minimal/xui/en/menu_inventory_add.xml | 2 + .../minimal/xui/en/menu_inventory_gear_default.xml | 2 + indra/newview/skins/minimal/xui/en/menu_land.xml | 2 + .../newview/skins/minimal/xui/en/menu_landmark.xml | 2 + indra/newview/skins/minimal/xui/en/menu_login.xml | 2 + .../newview/skins/minimal/xui/en/menu_mini_map.xml | 2 + indra/newview/skins/minimal/xui/en/menu_navbar.xml | 2 + .../skins/minimal/xui/en/menu_nearby_chat.xml | 2 + .../xui/en/menu_notification_well_button.xml | 2 + indra/newview/skins/minimal/xui/en/menu_object.xml | 40 ++ .../skins/minimal/xui/en/menu_object_icon.xml | 2 + .../skins/minimal/xui/en/menu_outfit_gear.xml | 2 + .../skins/minimal/xui/en/menu_outfit_tab.xml | 2 + .../skins/minimal/xui/en/menu_participant_list.xml | 2 + .../xui/en/menu_people_friends_view_sort.xml | 2 + .../skins/minimal/xui/en/menu_people_groups.xml | 2 + .../xui/en/menu_people_groups_view_sort.xml | 2 + .../skins/minimal/xui/en/menu_people_nearby.xml | 2 + .../xui/en/menu_people_nearby_multiselect.xml | 2 + .../xui/en/menu_people_nearby_view_sort.xml | 2 + .../xui/en/menu_people_recent_view_sort.xml | 2 + indra/newview/skins/minimal/xui/en/menu_picks.xml | 2 + .../skins/minimal/xui/en/menu_picks_plus.xml | 2 + indra/newview/skins/minimal/xui/en/menu_place.xml | 2 + .../skins/minimal/xui/en/menu_place_add_button.xml | 2 + .../minimal/xui/en/menu_places_gear_folder.xml | 2 + .../minimal/xui/en/menu_places_gear_landmark.xml | 2 + .../skins/minimal/xui/en/menu_profile_overflow.xml | 2 + .../skins/minimal/xui/en/menu_save_outfit.xml | 2 + .../skins/minimal/xui/en/menu_script_chiclet.xml | 2 + indra/newview/skins/minimal/xui/en/menu_slurl.xml | 2 + .../minimal/xui/en/menu_teleport_history_gear.xml | 2 + .../minimal/xui/en/menu_teleport_history_item.xml | 2 + .../minimal/xui/en/menu_teleport_history_tab.xml | 2 + .../skins/minimal/xui/en/menu_text_editor.xml | 2 + .../skins/minimal/xui/en/menu_topinfobar.xml | 2 + .../skins/minimal/xui/en/menu_url_agent.xml | 2 + .../skins/minimal/xui/en/menu_url_group.xml | 2 + .../newview/skins/minimal/xui/en/menu_url_http.xml | 2 + .../skins/minimal/xui/en/menu_url_inventory.xml | 2 + .../newview/skins/minimal/xui/en/menu_url_map.xml | 2 + .../skins/minimal/xui/en/menu_url_objectim.xml | 2 + .../skins/minimal/xui/en/menu_url_parcel.xml | 2 + .../skins/minimal/xui/en/menu_url_slapp.xml | 2 + .../skins/minimal/xui/en/menu_url_slurl.xml | 2 + .../skins/minimal/xui/en/menu_url_teleport.xml | 2 + indra/newview/skins/minimal/xui/en/menu_viewer.xml | 71 +++ .../minimal/xui/en/menu_wearable_list_item.xml | 2 + .../skins/minimal/xui/en/menu_wearing_gear.xml | 2 + .../skins/minimal/xui/en/menu_wearing_tab.xml | 2 + .../minimal/xui/en/notification_visibility.xml | 32 ++ .../skins/minimal/xui/en/panel_bottomtray.xml | 412 +++++++++++++++ .../minimal/xui/en/panel_im_control_panel.xml | 27 + indra/newview/skins/minimal/xui/en/panel_login.xml | 188 +++++++ .../skins/minimal/xui/en/panel_navigation_bar.xml | 97 ++++ .../minimal/xui/en/panel_prim_media_controls.xml | 581 +++++++++++++++++++++ .../skins/minimal/xui/en/panel_progress.xml | 21 + 95 files changed, 2825 insertions(+) create mode 100644 indra/newview/skins/minimal/colors.xml create mode 100644 indra/newview/skins/minimal/textures/arrow_keys.png create mode 100644 indra/newview/skins/minimal/textures/bottomtray/button_separator.png create mode 100644 indra/newview/skins/minimal/textures/login_teleport_background.jpg create mode 100644 indra/newview/skins/minimal/textures/sl_logo.png create mode 100644 indra/newview/skins/minimal/textures/textures.xml create mode 100644 indra/newview/skins/minimal/xui/en/floater_camera.xml create mode 100644 indra/newview/skins/minimal/xui/en/floater_help_browser.xml create mode 100644 indra/newview/skins/minimal/xui/en/floater_media_browser.xml create mode 100644 indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml create mode 100644 indra/newview/skins/minimal/xui/en/inspect_avatar.xml create mode 100644 indra/newview/skins/minimal/xui/en/inspect_object.xml create mode 100644 indra/newview/skins/minimal/xui/en/main_view.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_attachment_other.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_attachment_self.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_other.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_self.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_bottomtray.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_edit.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_favorites.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_group_plus.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_im_well_button.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory_add.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_land.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_landmark.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_login.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_mini_map.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_navbar.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_object.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_object_icon.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_participant_list.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_groups.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_picks.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_picks_plus.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_place.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_place_add_button.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_save_outfit.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_slurl.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_text_editor.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_topinfobar.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_agent.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_group.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_http.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_inventory.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_map.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_objectim.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_parcel.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_slapp.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_slurl.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_url_teleport.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_viewer.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml create mode 100644 indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml create mode 100644 indra/newview/skins/minimal/xui/en/notification_visibility.xml create mode 100644 indra/newview/skins/minimal/xui/en/panel_bottomtray.xml create mode 100644 indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml create mode 100644 indra/newview/skins/minimal/xui/en/panel_login.xml create mode 100644 indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml create mode 100644 indra/newview/skins/minimal/xui/en/panel_prim_media_controls.xml create mode 100644 indra/newview/skins/minimal/xui/en/panel_progress.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/colors.xml b/indra/newview/skins/minimal/colors.xml new file mode 100644 index 0000000000..097a298ce5 --- /dev/null +++ b/indra/newview/skins/minimal/colors.xml @@ -0,0 +1,6 @@ + + + + diff --git a/indra/newview/skins/minimal/textures/arrow_keys.png b/indra/newview/skins/minimal/textures/arrow_keys.png new file mode 100644 index 0000000000..f19af59251 Binary files /dev/null and b/indra/newview/skins/minimal/textures/arrow_keys.png differ diff --git a/indra/newview/skins/minimal/textures/bottomtray/button_separator.png b/indra/newview/skins/minimal/textures/bottomtray/button_separator.png new file mode 100644 index 0000000000..71ed25f931 Binary files /dev/null and b/indra/newview/skins/minimal/textures/bottomtray/button_separator.png differ diff --git a/indra/newview/skins/minimal/textures/login_teleport_background.jpg b/indra/newview/skins/minimal/textures/login_teleport_background.jpg new file mode 100644 index 0000000000..43bf0a58f4 Binary files /dev/null and b/indra/newview/skins/minimal/textures/login_teleport_background.jpg differ diff --git a/indra/newview/skins/minimal/textures/sl_logo.png b/indra/newview/skins/minimal/textures/sl_logo.png new file mode 100644 index 0000000000..71830e7451 Binary files /dev/null and b/indra/newview/skins/minimal/textures/sl_logo.png differ diff --git a/indra/newview/skins/minimal/textures/textures.xml b/indra/newview/skins/minimal/textures/textures.xml new file mode 100644 index 0000000000..432b2c20c8 --- /dev/null +++ b/indra/newview/skins/minimal/textures/textures.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/floater_camera.xml b/indra/newview/skins/minimal/xui/en/floater_camera.xml new file mode 100644 index 0000000000..62276199e5 --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_camera.xml @@ -0,0 +1,257 @@ + + + + Rotate Camera Around Focus + + + Zoom Camera Towards Focus + + + Move Camera Up and Down, Left and Right + + + Camera modes + + + Orbit Zoom Pan + + + Preset Views + + + View Object + + + + + + + + + Front View + + + + + + + + Side View + + + + + + + + Rear View + + + + + + + + Object View + + + + + + + + Mouselook View + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml b/indra/newview/skins/minimal/xui/en/floater_help_browser.xml new file mode 100644 index 0000000000..eddfe41c25 --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_help_browser.xml @@ -0,0 +1,52 @@ + + + + Loading... + + + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/floater_media_browser.xml b/indra/newview/skins/minimal/xui/en/floater_media_browser.xml new file mode 100644 index 0000000000..5ea33f0a8f --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_media_browser.xml @@ -0,0 +1,205 @@ + + + + http://www.secondlife.com + + + http://support.secondlife.com + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml new file mode 100644 index 0000000000..74ac885202 --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml @@ -0,0 +1,52 @@ + + + + + diff --git a/indra/newview/skins/minimal/xui/en/inspect_avatar.xml b/indra/newview/skins/minimal/xui/en/inspect_avatar.xml new file mode 100644 index 0000000000..efc31e5d43 --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/inspect_avatar.xml @@ -0,0 +1,135 @@ + + + + + +[AGE] + + +[SL_PROFILE] + + + + This is my second life description and I really think it is great. + + + + + + + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml new file mode 100644 index 0000000000..53def54aca --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml @@ -0,0 +1,27 @@ + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/panel_login.xml b/indra/newview/skins/minimal/xui/en/panel_login.xml new file mode 100644 index 0000000000..74f985b9ec --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/panel_login.xml @@ -0,0 +1,188 @@ + + + + http://join.secondlife.com/ + + + http://secondlife.com/app/login/ + + + http://secondlife.eniac15.lindenlab.com/reg-in-client/ + + + http://secondlife.com/account/request.php + + + + + + +Username: + + + + + + + Password: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://www.secondlife.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/panel_progress.xml b/indra/newview/skins/minimal/xui/en/panel_progress.xml new file mode 100644 index 0000000000..03e4ee5aed --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/panel_progress.xml @@ -0,0 +1,21 @@ + + + + -- cgit v1.2.3 From 7f53c0934af677d26b2e584155b77930a2c7a666 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine Date: Tue, 22 Feb 2011 18:46:00 +0200 Subject: STORM-28 FIXED Added the ability to send agent's own calling card to others. - Added creating own calling card for the user to be able to share it with other residents. - Moved calling cards synchronization with friends list to the viewer start up. Previously synchronized upon opening the Friends tab in People side panel. - Calling cards for non-friends are not removed upon calling cards synchronization with friends list. - Enabled "Share" menu item for calling cards in inventory. --- indra/newview/llfriendcard.cpp | 85 +++++++++++----------------------- indra/newview/llfriendcard.h | 13 ------ indra/newview/llinventoryfunctions.cpp | 3 -- indra/newview/llpanelpeople.cpp | 29 +++++++++--- 4 files changed, 49 insertions(+), 81 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp index e9f1e3bc22..70e789f490 100644 --- a/indra/newview/llfriendcard.cpp +++ b/indra/newview/llfriendcard.cpp @@ -28,6 +28,7 @@ #include "llfriendcard.h" +#include "llagent.h" #include "llavatarnamecache.h" #include "llinventory.h" #include "llinventoryfunctions.h" @@ -290,58 +291,6 @@ void LLFriendCardsManager::syncFriendCardsFolders() boost::bind(&LLFriendCardsManager::ensureFriendsFolderExists, this)); } -void LLFriendCardsManager::collectFriendsLists(folderid_buddies_map_t& folderBuddiesMap) const -{ - folderBuddiesMap.clear(); - - static bool syncronize_friends_folders = true; - if (syncronize_friends_folders) - { - // Checks whether "Friends" and "Friends/All" folders exist in "Calling Cards" folder, - // fetches their contents if needed and synchronizes it with buddies list. - // If the folders are not found they are created. - LLFriendCardsManager::instance().syncFriendCardsFolders(); - syncronize_friends_folders = false; - } - - - LLInventoryModel::cat_array_t* listFolders; - LLInventoryModel::item_array_t* items; - - // get folders in the Friend folder. Items should be NULL due to Cards should be in lists. - gInventory.getDirectDescendentsOf(findFriendFolderUUIDImpl(), listFolders, items); - - if (NULL == listFolders) - return; - - LLInventoryModel::cat_array_t::const_iterator itCats; // to iterate Friend Lists (categories) - LLInventoryModel::item_array_t::const_iterator itBuddy; // to iterate Buddies in each List - LLInventoryModel::cat_array_t* fakeCatsArg; - for (itCats = listFolders->begin(); itCats != listFolders->end(); ++itCats) - { - if (items) - items->clear(); - - // *HACK: Only Friends/All content will be shown for now - // *TODO: Remove this hack, implement sorting if it will be needded by spec. - if ((*itCats)->getUUID() != findFriendAllSubfolderUUIDImpl()) - continue; - - gInventory.getDirectDescendentsOf((*itCats)->getUUID(), fakeCatsArg, items); - - if (NULL == items) - continue; - - uuid_vec_t buddyUUIDs; - for (itBuddy = items->begin(); itBuddy != items->end(); ++itBuddy) - { - buddyUUIDs.push_back((*itBuddy)->getCreatorUUID()); - } - - folderBuddiesMap.insert(make_pair((*itCats)->getUUID(), buddyUUIDs)); - } -} - /************************************************************************/ /* Private Methods */ @@ -499,23 +448,43 @@ void LLFriendCardsManager::syncFriendsFolder() LLAvatarTracker::buddy_map_t all_buddies; LLAvatarTracker::instance().copyBuddyList(all_buddies); - // 1. Remove Friend Cards for non-friends + // 1. Check if own calling card exists LLInventoryModel::cat_array_t cats; LLInventoryModel::item_array_t items; - gInventory.collectDescendents(findFriendAllSubfolderUUIDImpl(), cats, items, LLInventoryModel::EXCLUDE_TRASH); + LLUUID friends_all_folder_id = findFriendAllSubfolderUUIDImpl(); + gInventory.collectDescendents(friends_all_folder_id, cats, items, LLInventoryModel::EXCLUDE_TRASH); + bool own_callingcard_found = false; LLInventoryModel::item_array_t::const_iterator it; for (it = items.begin(); it != items.end(); ++it) { - lldebugs << "Check if buddy is in list: " << (*it)->getName() << " " << (*it)->getCreatorUUID() << llendl; - if (NULL == get_ptr_in_map(all_buddies, (*it)->getCreatorUUID())) + if ((*it)->getCreatorUUID() == gAgentID) { - lldebugs << "NONEXISTS, so remove it" << llendl; - removeFriendCardFromInventory((*it)->getCreatorUUID()); + own_callingcard_found = true; + break; } } + // Create own calling card if it was not found in Friends/All folder + if (!own_callingcard_found) + { + LLAvatarName av_name; + LLAvatarNameCache::get( gAgentID, &av_name ); + + create_inventory_item(gAgentID, + gAgent.getSessionID(), + friends_all_folder_id, + LLTransactionID::tnull, + av_name.getCompleteName(), + gAgentID.asString(), + LLAssetType::AT_CALLINGCARD, + LLInventoryType::IT_CALLINGCARD, + NOT_WEARABLE, + PERM_MOVE | PERM_TRANSFER, + NULL); + } + // 2. Add missing Friend Cards for friends LLAvatarTracker::buddy_map_t::const_iterator buddy_it = all_buddies.begin(); llinfos << "try to build friends, count: " << all_buddies.size() << llendl; diff --git a/indra/newview/llfriendcard.h b/indra/newview/llfriendcard.h index b7f0bada14..48a9f70079 100644 --- a/indra/newview/llfriendcard.h +++ b/indra/newview/llfriendcard.h @@ -79,19 +79,6 @@ public: */ void syncFriendCardsFolders(); - /*! - * \brief - * Collects folders' IDs with the buddies' IDs in the Inventory Calling Card/Friends folder. - * - * \param folderBuddiesMap - * map into collected data will be put. It will be cleared before adding new data. - * - * Each item in the out map is a pair where first is an LLViewerInventoryCategory UUID, - * second is a vector with UUID of Avatars from this folder. - * - */ - void collectFriendsLists(folderid_buddies_map_t& folderBuddiesMap) const; - private: typedef boost::function callback_t; diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 61d0a150b7..ba9bea02b9 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -483,9 +483,6 @@ bool LLInventoryCollectFunctor::itemTransferCommonlyAllowed(const LLInventoryIte switch(item->getType()) { - case LLAssetType::AT_CALLINGCARD: - return false; - break; case LLAssetType::AT_OBJECT: case LLAssetType::AT_BODYPART: case LLAssetType::AT_CLOTHING: diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index b07a46a222..b52f33ec3b 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -384,6 +384,16 @@ private: { lldebugs << "Inventory changed: " << mask << llendl; + static bool synchronize_friends_folders = true; + if (synchronize_friends_folders) + { + // Checks whether "Friends" and "Friends/All" folders exist in "Calling Cards" folder, + // fetches their contents if needed and synchronizes it with buddies list. + // If the folders are not found they are created. + LLFriendCardsManager::instance().syncFriendCardsFolders(); + synchronize_friends_folders = false; + } + // *NOTE: deleting of InventoryItem is performed via moving to Trash. // That means LLInventoryObserver::STRUCTURE is present in MASK instead of LLInventoryObserver::REMOVE if ((CALLINGCARD_ADDED & mask) == CALLINGCARD_ADDED) @@ -750,18 +760,23 @@ void LLPanelPeople::updateFriendList() all_friendsp.clear(); online_friendsp.clear(); - LLFriendCardsManager::folderid_buddies_map_t listMap; + uuid_vec_t buddies_uuids; + LLAvatarTracker::buddy_map_t::const_iterator buddies_iter; + + // Fill the avatar list with friends UUIDs + for (buddies_iter = all_buddies.begin(); buddies_iter != all_buddies.end(); ++buddies_iter) + { + buddies_uuids.push_back(buddies_iter->first); + } - // *NOTE: For now collectFriendsLists returns data only for Friends/All folder. EXT-694. - LLFriendCardsManager::instance().collectFriendsLists(listMap); - if (listMap.size() > 0) + if (buddies_uuids.size() > 0) { - lldebugs << "Friends Cards were found, count: " << listMap.begin()->second.size() << llendl; - all_friendsp = listMap.begin()->second; + lldebugs << "Friends added to the list: " << buddies_uuids.size() << llendl; + all_friendsp = buddies_uuids; } else { - lldebugs << "Friends Cards were not found" << llendl; + lldebugs << "No friends found" << llendl; } LLAvatarTracker::buddy_map_t::const_iterator buddy_it = all_buddies.begin(); -- cgit v1.2.3 From 6214772d9faadda3c3b024d13be2bab3c38a6394 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 22 Feb 2011 19:23:44 -0800 Subject: SOCIAL-545 WIP Figure out how to configure skylight-specific settings while retaining relevant user settings (login account name, etc.) --- indra/newview/app_settings/settings_minimal.xml | 612 ++++++++++++++++++++++++ 1 file changed, 612 insertions(+) create mode 100644 indra/newview/app_settings/settings_minimal.xml (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml new file mode 100644 index 0000000000..4420fd97fb --- /dev/null +++ b/indra/newview/app_settings/settings_minimal.xml @@ -0,0 +1,612 @@ + + + CacheValidateCounter + + Comment + Used to distribute cache validation + Type + U32 + Value + 1 + + ChannelBottomPanelMargin + + Comment + Space from a lower toast to the Bottom Tray + Type + S32 + Value + 2 + + ClickActionBuyEnabled + + Comment + Enable click to buy actions in tool pie menu + Type + Boolean + Value + 0 + + ClickActionPayEnabled + + Comment + Enable click to pay actions in tool pie menu + Type + Boolean + Value + 0 + + CurrentGrid + + Comment + Currently Selected Grid + Type + String + Value + util.agni.lindenlab.com + + DestinationGuideURL + + Comment + Destination guide contents + Type + String + Value + http://interest.secondlife.com/viewer/guide + + DisableExternalBrowser + + Comment + Disable opening an external browser. + Type + Boolean + Value + 1 + + DisableTextHyperlinkActions + + Comment + Disable highlighting and linking of URLs in XUI text boxes + Type + Boolean + Value + 1 + + EnableGrab + + Comment + Use Ctrl+mouse to grab and manipulate objects + Type + Boolean + Value + 0 + + EnableMouselook + + Comment + Allow first person perspective and mouse control of camera + Type + Boolean + Value + 0 + + EnableVoiceChat + + Comment + Enable talking to other residents with a microphone + Type + Boolean + Value + 0 + + HelpURLFormat + + Comment + URL pattern for help page; arguments will be encoded; see llviewerhelp.cpp:buildHelpURL for arguments + Type + String + Value + http://interest.secondlife.com/static/viewer/howto/index.html + + LocalCacheVersion + + Comment + Version number of cache + Type + S32 + Value + 7 + + LocalFileSystemBrowsingEnabled + + Comment + Enable/disable access to the local file system via the file picker + Type + Boolean + Value + 0 + + MigrateCacheDirectory + + Comment + Check for old version of disk cache to migrate to current location + Type + Boolean + Value + 0 + + NumSessions + + Comment + Number of successful logins to Second Life + Type + S32 + Value + 2 + + PreferredMaturity + + Comment + Setting for the user's preferred maturity level (consts in indra_constants.h) + Type + U32 + Value + 21 + + ProbeHardwareOnStartup + + Comment + Query current hardware configuration on application startup + Type + Boolean + Value + 0 + + QAMode + + Comment + Enable Testing Features. + Type + Boolean + Value + 1 + + QuitAfterSecondsOfAFK + + Comment + The duration allowed after being AFK before quitting. + Type + F32 + Value + 600 + + QuitOnLoginActivated + + Comment + Quit if login page is activated (used when auto login is on and users must not be able to login manually) + Type + Boolean + Value + 1 + + RenderAnisotropic + + Comment + Render textures using anisotropic filtering + Type + Boolean + Value + 1 + + RenderAvatarCloth + + Comment + Controls if avatars use wavy cloth + Type + Boolean + Value + 0 + + RenderAvatarLODFactor + + Comment + Controls level of detail of avatars (multiplier for current screen area when calculated level of detail) + Type + F32 + Value + 1 + + RenderDeferredSSAO + + Comment + Execute screen space ambient occlusion shader in deferred renderer. + Type + Boolean + Value + 0 + + RenderDelayVBUpdate + + Comment + Delay vertex buffer updates until just before rendering + Type + Boolean + Value + 0 + + RenderFarClip + + Comment + Distance of far clip plane from camera (meters) + Type + F32 + Value + 128 + + RenderParcelSelection + + Comment + Display selected parcel outline + Type + Boolean + Value + 0 + + RenderQualityPerformance + + Comment + Which graphics settings you've chosen + Type + U32 + Value + 2 + + RenderShadowDetail + + Comment + Detail of shadows. + Type + S32 + Value + 0 + + RenderTerrainDetail + + Comment + Detail applied to terrain texturing (0 = none, 1 or 2 = full) + Type + S32 + Value + 1 + + RenderTerrainLODFactor + + Comment + Controls level of detail of terrain (multiplier for current screen area when calculated level of detail) + Type + F32 + Value + 2 + + RenderTrackerBeacon + + Comment + Display tracking arrow and beacon to target avatar, teleport destination + Type + Boolean + Value + 0 + + RenderVolumeLODFactor + + Comment + Controls level of detail of primitives (multiplier for current screen area when calculated level of detail) + Type + F32 + Value + 1.125 + + ShowScriptErrors + + Comment + Show script errors + Type + Boolean + Value + 0 + + ShowScriptErrorsLocation + + Comment + Show script error in chat or window + Type + S32 + Value + 0 + + SkinCurrent + + Comment + The currently selected skin. + Type + String + Value + minimal + + TextureMemory + + Comment + Amount of memory to use for textures in MB (0 = autodetect) + Type + S32 + Value + 256 + + UseExternalBrowser + + Comment + Use default browser when opening web pages instead of in-world browser. + Type + Boolean + Value + 0 + + VFSOldSize + + Comment + [DO NOT MODIFY] Controls resizing of local file cache + Type + U32 + Value + 102 + + VectorizePerfTest + + Comment + Test SSE/vectorization performance and choose fastest version. + Type + Boolean + Value + 0 + + VectorizeSkin + + Comment + Enable vector operations for avatar skinning. + Type + Boolean + Value + 0 + + VertexShaderEnable + + Comment + Enable/disable all GLSL shaders (debug) + Type + Boolean + Value + 1 + + VoiceCallsRejectAll + + Comment + Silently reject all incoming voice calls. + Type + Boolean + Value + 1 + + VoiceDisableMic + + Comment + Completely disable the ability to open the mic. + Type + Boolean + Value + 1 + + WLSkyDetail + + Comment + Controls vertex detail on the WindLight sky. Lower numbers will give better performance and uglier skies. + Type + U32 + Value + 48 + + WindowFullScreen + + Comment + SL viewer window full screen + Type + Boolean + Value + 1 + + WindowHeight + + Comment + SL viewer window height + Type + S32 + Value + 642 + + TextureMemory + + Comment + Amount of memory to use for textures in MB (0 = autodetect) + Persist + 1 + Type + S32 + Value + 512 + + NoHardwareProbe + + Comment + Disable hardware probe. + Persist + 1 + Type + Boolean + Value + 1 + + ScriptsCanShowUI + + Comment + Allow LSL calls (such as LLMapDestination) to spawn viewer UI + Persist + 1 + Type + Boolean + Value + 0 + + ThrottleBandwidthKBPS + + Comment + Maximum allowable downstream bandwidth (kilo bits per second) + Persist + 1 + Type + F32 + Value + 1500.0 + + XferThrottle + + Comment + Maximum allowable downstream bandwidth for asset transfers (bits per second) + Persist + 1 + Type + F32 + Value + 450000.0 + + ChatFontSize + + Comment + Size of chat text in chat console (0 = small, 1 = big, 2 = extra large) + Persist + 1 + Type + S32 + Value + 1 + + CacheSize + + Comment + Controls amount of hard drive space reserved for local file caching in MB + Persist + 1 + Type + U32 + Value + 1024 + + MediaControlFadeTime + + Comment + Amount of time (in seconds) that the media control fades + Persist + 1 + Type + F32 + Value + 0 + + MediaControlTimeout + + Comment + Amount of time (in seconds) for media controls to fade with no mouse activity + Persist + 1 + Type + F32 + Value + 0 + + MediaShowOutsideParcel + + Comment + Whether or not to show media from outside the current parcel + Persist + 1 + Type + Boolean + Value + 0 + + MediaShowWithinParcel + + Comment + Whether or not to show media within the current parcel + Persist + 1 + Type + Boolean + Value + 0 + + AudioStreamingMedia + + Comment + Enable streaming + Persist + 1 + Type + Boolean + Value + 0 + + AvatarPickerHintTimeout + + Comment + Number of seconds to wait before telling resident about avatar picker. + Persist + 1 + Type + F32 + Value + 0.0 + + RenderShowGroupTitleAll + + Comment + Show group titles in name labels + Persist + 1 + Type + Boolean + Value + 0 + + AvatarPickerURL + + Comment + Avatar picker contents + Persist + 1 + Type + String + Value + http://interest.secondlife.com/static/viewer/avatar + + AutoLogin + + Comment + Login automatically using last username/password combination + Persist + 0 + Type + Boolean + Value + 1 + + + -- cgit v1.2.3 From 3968bf45a6a39fb1a2e9dc340984b1bb01af9615 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 22 Feb 2011 19:27:08 -0800 Subject: removed useless autologin setting --- indra/newview/app_settings/settings_minimal.xml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 4420fd97fb..2424da7624 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -1,5 +1,5 @@ - + CacheValidateCounter Comment @@ -597,16 +597,5 @@ Value http://interest.secondlife.com/static/viewer/avatar - AutoLogin - - Comment - Login automatically using last username/password combination - Persist - 0 - Type - Boolean - Value - 1 - -- cgit v1.2.3 From 5aa43e4f3e30d81fb518783189b3258e67b4620a Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 22 Feb 2011 19:30:50 -0800 Subject: SOCIAL-545 WIP Figure out how to configure skylight-specific settings while retaining relevant user settings (login account name, etc.) converted settings_file.xml to use param block descriptions for easier modification added session settings file and user session settings file for per-session config overrides --- indra/newview/app_settings/cmd_line.xml | 18 +++ indra/newview/app_settings/settings.xml | 26 ++- indra/newview/app_settings/settings_files.xml | 212 ++++++++----------------- indra/newview/llappviewer.cpp | 219 +++++++++++++++++--------- indra/newview/llappviewer.h | 2 +- 5 files changed, 254 insertions(+), 223 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml index e4ac455e7c..89e5949fbe 100644 --- a/indra/newview/app_settings/cmd_line.xml +++ b/indra/newview/app_settings/cmd_line.xml @@ -261,6 +261,24 @@ + sessionsettings + + desc + Specify the filename of a configuration file that contains temporary per-session configuration overrides. + count + 1 + + + + usersessionsettings + + desc + Specify the filename of a configuration file that contains temporary per-session configuration user overrides. + count + 1 + + + login desc diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 6630d8f400..1bcc988e5c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -11473,7 +11473,7 @@ Type F32 Value - 3.0 + 3 InterpolationPhaseOut @@ -11484,7 +11484,7 @@ Type F32 Value - 1.0 + 1 VerboseLogs @@ -12366,5 +12366,27 @@ Value name + SessionSettingsFile + + Comment + Settings that are a applied per session (not saved). + Persist + 0 + Type + String + Value + + + UserSessionSettingsFile + + Comment + User settings that are a applied per session (not saved). + Persist + 0 + Type + String + Value + + diff --git a/indra/newview/app_settings/settings_files.xml b/indra/newview/app_settings/settings_files.xml index aa5b301959..079a54f957 100644 --- a/indra/newview/app_settings/settings_files.xml +++ b/indra/newview/app_settings/settings_files.xml @@ -1,148 +1,64 @@ - - - Locations - - - Comment - List location from which to load files, and the rules about loading those files. - Persist - 0 - Type - LLSD - Value - - Default - - PathIndex - 2 - Files - - Global - - Name - settings.xml - Requirement - 1 - - PerAccount - - Name - settings_per_account.xml - Requirement - 1 - - CrashSettings - - Name - settings_crash_behavior.xml - Requirement - 1 - - Warnings - - Name - ignorable_dialogs.xml - Requirement - 1 - - - - User - - PathIndex - 1 - Files - - Global - - Name - settings.xml - NameFromSetting - ClientSettingsFile - - CrashSettings - - Name - settings_crash_behavior.xml - - Warnings - - Name - ignorable_dialogs.xml - NameFromSetting - WarningSettingsFile - - - - Account - - PathIndex - 3 - Files - - PerAccount - - Name - settings_per_account.xml - NameFromSetting - PerAccountSettingsFile - - - - DefaultSkin - - PathIndex - 17 - Files - - Skinning - - Name - colors.xml - - - - CurrentSkin - - PathIndex - 10 - Files - - Skinning - - Name - colors.xml - - - - UserSkin - - PathIndex - 14 - Files - - Skinning - - Name - colors.xml - NameFromSetting - SkinningSettingsFile - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index a23f809b71..c285ddc2f6 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -337,6 +337,46 @@ void init_default_trans_args() const char *VFS_DATA_FILE_BASE = "data.db2.x."; const char *VFS_INDEX_FILE_BASE = "index.db2.x."; + +struct SettingsFile : public LLInitParam::Block +{ + Mandatory name; + Optional file_name; + Optional required, + persistent; + Optional file_name_setting; + + SettingsFile() + : name("name"), + file_name("file_name"), + required("required", false), + persistent("persistent", true), + file_name_setting("file_name_setting") + {} +}; + +struct SettingsGroup : public LLInitParam::Block +{ + Mandatory name; + Mandatory path_index; + Multiple files; + + SettingsGroup() + : name("name"), + path_index("path_index"), + files("file") + {} +}; + +struct SettingsFiles : public LLInitParam::Block +{ + Multiple groups; + + SettingsFiles() + : groups("group") + {} +}; + static std::string gWindowTitle; LLAppViewer::LLUpdaterInfo *LLAppViewer::sUpdaterInfo = NULL ; @@ -594,7 +634,8 @@ LLAppViewer::LLAppViewer() : mRandomizeFramerate(LLCachedControl(gSavedSettings,"Randomize Framerate", FALSE)), mPeriodicSlowFrame(LLCachedControl(gSavedSettings,"Periodic Slow Frame", FALSE)), mFastTimerLogThread(NULL), - mUpdater(new LLUpdaterService()) + mUpdater(new LLUpdaterService()), + mSettingsLocationList(NULL) { if(NULL != sInstance) { @@ -610,6 +651,8 @@ LLAppViewer::LLAppViewer() : LLAppViewer::~LLAppViewer() { + delete mSettingsLocationList; + LLLoginInstance::instance().setUpdaterService(0); destroyMainloopTimeout(); @@ -1879,85 +1922,72 @@ bool LLAppViewer::initLogging() bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, bool set_defaults) { - // Find and vet the location key. - if(!mSettingsLocationList.has(location_key)) + if (!mSettingsLocationList) { - llerrs << "Requested unknown location: " << location_key << llendl; - return false; + llerrs << "Invalid settings location list" << llendl; } - LLSD location = mSettingsLocationList.get(location_key); - - if(!location.has("PathIndex")) - { - llerrs << "Settings location is missing PathIndex value. Settings cannot be loaded." << llendl; - return false; - } - ELLPath path_index = (ELLPath)(location.get("PathIndex").asInteger()); - if(path_index <= LL_PATH_NONE || path_index >= LL_PATH_LAST) + LLControlGroup* global_settings = LLControlGroup::getInstance(sGlobalSettingsName); + for(LLInitParam::ParamIterator::const_iterator it = mSettingsLocationList->groups.begin(), end_it = mSettingsLocationList->groups.end(); + it != end_it; + ++it) { - llerrs << "Out of range path index in app_settings/settings_files.xml" << llendl; - return false; - } - - // Iterate through the locations list of files. - LLSD files = location.get("Files"); - for(LLSD::map_iterator itr = files.beginMap(); itr != files.endMap(); ++itr) - { - std::string settings_group = (*itr).first; - llinfos << "Attempting to load settings for the group " << settings_group - << " - from location " << location_key << llendl; + if (it->name() != location_key) continue; - if(!LLControlGroup::getInstance(settings_group)) + ELLPath path_index = (ELLPath)it->path_index(); + if(path_index <= LL_PATH_NONE || path_index >= LL_PATH_LAST) { - llwarns << "No matching settings group for name " << settings_group << llendl; - continue; + llerrs << "Out of range path index in app_settings/settings_files.xml" << llendl; + return false; } - LLSD file = (*itr).second; - - std::string full_settings_path; - if(file.has("NameFromSetting")) + LLInitParam::ParamIterator::const_iterator file_it, end_file_it; + for (file_it = it->files.begin(), end_file_it = it->files.end(); + file_it != end_file_it; + ++file_it) { - std::string custom_name_setting = file.get("NameFromSetting"); - // *NOTE: Regardless of the group currently being lodaed, - // this setting is always read from the Global settings. - if(LLControlGroup::getInstance(sGlobalSettingsName)->controlExists(custom_name_setting)) + llinfos << "Attempting to load settings for the group " << file_it->name() + << " - from location " << location_key << llendl; + + LLControlGroup* settings_group = LLControlGroup::getInstance(file_it->name); + if(!settings_group) { - std::string file_name = - LLControlGroup::getInstance(sGlobalSettingsName)->getString(custom_name_setting); - full_settings_path = file_name; + llwarns << "No matching settings group for name " << file_it->name() << llendl; + continue; } - } - if(full_settings_path.empty()) - { - std::string file_name = file.get("Name"); - full_settings_path = gDirUtilp->getExpandedFilename(path_index, file_name); - } + std::string full_settings_path; - int requirement = 0; - if(file.has("Requirement")) - { - requirement = file.get("Requirement").asInteger(); - } - - if(!LLControlGroup::getInstance(settings_group)->loadFromFile(full_settings_path, set_defaults)) - { - if(requirement == 1) + if (file_it->file_name_setting.isProvided() + && global_settings->controlExists(file_it->file_name_setting)) { - llwarns << "Error: Cannot load required settings file from: " - << full_settings_path << llendl; - return false; + full_settings_path = global_settings->getString(file_it->file_name_setting); } else { - llinfos << "Cannot load " << full_settings_path << " - No settings found." << llendl; + full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, file_it->file_name()); + } + + if(!settings_group->loadFromFile(full_settings_path, set_defaults, file_it->persistent)) + { + if(file_it->required) + { + llwarns << "Error: Cannot load required settings file from: " + << full_settings_path << llendl; + return false; + } + else + { + if (!full_settings_path.empty()) + { + llinfos << "Cannot load " << full_settings_path << " - No settings found." << llendl; + } + } + } + else + { + llinfos << "Loaded settings file " << full_settings_path << llendl; } - } - else - { - llinfos << "Loaded settings file " << full_settings_path << llendl; } } @@ -1967,18 +1997,25 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, std::string LLAppViewer::getSettingsFilename(const std::string& location_key, const std::string& file) { - if(mSettingsLocationList.has(location_key)) + for(LLInitParam::ParamIterator::const_iterator it = mSettingsLocationList->groups.begin(), end_it = mSettingsLocationList->groups.end(); + it != end_it; + ++it) { - LLSD location = mSettingsLocationList.get(location_key); - if(location.has("Files")) + if (it->name() == location_key) { - LLSD files = location.get("Files"); - if(files.has(file) && files[file].has("Name")) + LLInitParam::ParamIterator::const_iterator file_it, end_file_it; + for (file_it = it->files.begin(), end_file_it = it->files.end(); + file_it != end_file_it; + ++file_it) { - return files.get(file).get("Name").asString(); + if (file_it->name() == file) + { + return file_it->file_name; + } } } } + return std::string(); } @@ -1991,14 +2028,29 @@ bool LLAppViewer::initConfiguration() { //Load settings files list std::string settings_file_list = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "settings_files.xml"); - LLControlGroup settings_control("SettingsFiles"); - llinfos << "Loading settings file list " << settings_file_list << llendl; - if (0 == settings_control.loadFromFile(settings_file_list)) + //LLControlGroup settings_control("SettingsFiles"); + //llinfos << "Loading settings file list " << settings_file_list << llendl; + //if (0 == settings_control.loadFromFile(settings_file_list)) + //{ + // llerrs << "Cannot load default configuration file " << settings_file_list << llendl; + //} + + LLXMLNodePtr root; + BOOL success = LLXMLNode::parseFile(settings_file_list, root, NULL); + if (!success) { llerrs << "Cannot load default configuration file " << settings_file_list << llendl; } - mSettingsLocationList = settings_control.getLLSD("Locations"); + mSettingsLocationList = new SettingsFiles(); + + LLXUIParser parser; + parser.readXUI(root, *mSettingsLocationList, settings_file_list); + + if (!mSettingsLocationList->validateBlock()) + { + llerrs << "Invalid settings file list " << settings_file_list << llendl; + } // The settings and command line parsing have a fragile // order-of-operation: @@ -2105,6 +2157,29 @@ bool LLAppViewer::initConfiguration() << user_settings_filename << llendl; } + if (clp.hasOption("sessionsettings")) + { + std::string session_settings_filename = + gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, + clp.getOption("sessionsettings")[0]); + gSavedSettings.setString("SessionSettingsFile", session_settings_filename); + llinfos << "Using session settings filename: " + << session_settings_filename << llendl; + } + loadSettingsFromDirectory("Session"); + + if (clp.hasOption("usersessionsettings")) + { + std::string user_session_settings_filename = + gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, + clp.getOption("usersessionsettings")[0]); + gSavedSettings.setString("UserSessionSettingsFile", user_session_settings_filename); + llinfos << "Using user session settings filename: " + << user_session_settings_filename << llendl; + + } + loadSettingsFromDirectory("UserSession"); + // - load overrides from user_settings loadSettingsFromDirectory("User"); // - apply command line settings diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index a18e6cbb02..0226211735 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -253,7 +253,7 @@ private: bool mQuitRequested; // User wants to quit, may have modified documents open. bool mLogoutRequestSent; // Disconnect message sent to simulator, no longer safe to send messages to the sim. S32 mYieldTime; - LLSD mSettingsLocationList; + struct SettingsFiles* mSettingsLocationList; LLWatchdogTimeout* mMainloopTimeout; -- cgit v1.2.3 From a8891d6ce0f34119e3b11a4b37824be42db22834 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 11:00:21 -0800 Subject: SOCIAL-545 FIX Figure out how to configure skylight-specific settings added comments and cleaned up code --- indra/newview/llappviewer.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index c285ddc2f6..2000ed9201 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1,4 +1,4 @@ -/** + /** * @file llappviewer.cpp * @brief The LLAppViewer class definitions * @@ -1932,6 +1932,7 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, it != end_it; ++it) { + // skip settings groups that aren't the one we requested if (it->name() != location_key) continue; ELLPath path_index = (ELLPath)it->path_index(); @@ -1961,33 +1962,35 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, if (file_it->file_name_setting.isProvided() && global_settings->controlExists(file_it->file_name_setting)) { + // try to find filename stored in file_name_setting control full_settings_path = global_settings->getString(file_it->file_name_setting); } else { + // by default, use specified file name full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, file_it->file_name()); } - if(!settings_group->loadFromFile(full_settings_path, set_defaults, file_it->persistent)) - { + if(settings_group->loadFromFile(full_settings_path, set_defaults, file_it->persistent)) + { // success! + llinfos << "Loaded settings file " << full_settings_path << llendl; + } + else + { // failed to load if(file_it->required) { - llwarns << "Error: Cannot load required settings file from: " - << full_settings_path << llendl; + llerrs << "Error: Cannot load required settings file from: " << full_settings_path << llendl; return false; } else { + // only complain if we actually have a filename at this point if (!full_settings_path.empty()) { llinfos << "Cannot load " << full_settings_path << " - No settings found." << llendl; } } } - else - { - llinfos << "Loaded settings file " << full_settings_path << llendl; - } } } -- cgit v1.2.3 From 5b90db03d720ca7aed354e43651b9495fb58d04f Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Wed, 23 Feb 2011 18:51:29 -0500 Subject: STORM-1020 It is sometimes necessary to press ALT+CTRL+D twice to get the Debug menu on the login screen --- indra/newview/llstartup.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 0eac7d5e2a..bf712d619d 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -775,6 +775,7 @@ bool idle_startup() gViewerWindow->setNormalControlsVisible( FALSE ); gLoginMenuBarView->setVisible( TRUE ); gLoginMenuBarView->setEnabled( TRUE ); + show_debug_menus(); // Hide the splash screen LLSplashScreen::hide(); -- cgit v1.2.3 From e37efc9a857ae17fdb66443778965a50a2500516 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 15:56:50 -0800 Subject: SOCIAL-545 FIX Figure out how to configure skylight-specific settings removed extraneous configuration variables --- indra/newview/app_settings/settings_minimal.xml | 285 ------------------------ 1 file changed, 285 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 2424da7624..315c811280 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -1,14 +1,5 @@ - CacheValidateCounter - - Comment - Used to distribute cache validation - Type - U32 - Value - 1 - ChannelBottomPanelMargin Comment @@ -36,15 +27,6 @@ Value 0 - CurrentGrid - - Comment - Currently Selected Grid - Type - String - Value - util.agni.lindenlab.com - DestinationGuideURL Comment @@ -108,15 +90,6 @@ Value http://interest.secondlife.com/static/viewer/howto/index.html - LocalCacheVersion - - Comment - Version number of cache - Type - S32 - Value - 7 - LocalFileSystemBrowsingEnabled Comment @@ -126,24 +99,6 @@ Value 0 - MigrateCacheDirectory - - Comment - Check for old version of disk cache to migrate to current location - Type - Boolean - Value - 0 - - NumSessions - - Comment - Number of successful logins to Second Life - Type - S32 - Value - 2 - PreferredMaturity Comment @@ -153,24 +108,6 @@ Value 21 - ProbeHardwareOnStartup - - Comment - Query current hardware configuration on application startup - Type - Boolean - Value - 0 - - QAMode - - Comment - Enable Testing Features. - Type - Boolean - Value - 1 - QuitAfterSecondsOfAFK Comment @@ -180,114 +117,6 @@ Value 600 - QuitOnLoginActivated - - Comment - Quit if login page is activated (used when auto login is on and users must not be able to login manually) - Type - Boolean - Value - 1 - - RenderAnisotropic - - Comment - Render textures using anisotropic filtering - Type - Boolean - Value - 1 - - RenderAvatarCloth - - Comment - Controls if avatars use wavy cloth - Type - Boolean - Value - 0 - - RenderAvatarLODFactor - - Comment - Controls level of detail of avatars (multiplier for current screen area when calculated level of detail) - Type - F32 - Value - 1 - - RenderDeferredSSAO - - Comment - Execute screen space ambient occlusion shader in deferred renderer. - Type - Boolean - Value - 0 - - RenderDelayVBUpdate - - Comment - Delay vertex buffer updates until just before rendering - Type - Boolean - Value - 0 - - RenderFarClip - - Comment - Distance of far clip plane from camera (meters) - Type - F32 - Value - 128 - - RenderParcelSelection - - Comment - Display selected parcel outline - Type - Boolean - Value - 0 - - RenderQualityPerformance - - Comment - Which graphics settings you've chosen - Type - U32 - Value - 2 - - RenderShadowDetail - - Comment - Detail of shadows. - Type - S32 - Value - 0 - - RenderTerrainDetail - - Comment - Detail applied to terrain texturing (0 = none, 1 or 2 = full) - Type - S32 - Value - 1 - - RenderTerrainLODFactor - - Comment - Controls level of detail of terrain (multiplier for current screen area when calculated level of detail) - Type - F32 - Value - 2 - RenderTrackerBeacon Comment @@ -297,15 +126,6 @@ Value 0 - RenderVolumeLODFactor - - Comment - Controls level of detail of primitives (multiplier for current screen area when calculated level of detail) - Type - F32 - Value - 1.125 - ShowScriptErrors Comment @@ -333,15 +153,6 @@ Value minimal - TextureMemory - - Comment - Amount of memory to use for textures in MB (0 = autodetect) - Type - S32 - Value - 256 - UseExternalBrowser Comment @@ -351,42 +162,6 @@ Value 0 - VFSOldSize - - Comment - [DO NOT MODIFY] Controls resizing of local file cache - Type - U32 - Value - 102 - - VectorizePerfTest - - Comment - Test SSE/vectorization performance and choose fastest version. - Type - Boolean - Value - 0 - - VectorizeSkin - - Comment - Enable vector operations for avatar skinning. - Type - Boolean - Value - 0 - - VertexShaderEnable - - Comment - Enable/disable all GLSL shaders (debug) - Type - Boolean - Value - 1 - VoiceCallsRejectAll Comment @@ -405,55 +180,6 @@ Value 1 - WLSkyDetail - - Comment - Controls vertex detail on the WindLight sky. Lower numbers will give better performance and uglier skies. - Type - U32 - Value - 48 - - WindowFullScreen - - Comment - SL viewer window full screen - Type - Boolean - Value - 1 - - WindowHeight - - Comment - SL viewer window height - Type - S32 - Value - 642 - - TextureMemory - - Comment - Amount of memory to use for textures in MB (0 = autodetect) - Persist - 1 - Type - S32 - Value - 512 - - NoHardwareProbe - - Comment - Disable hardware probe. - Persist - 1 - Type - Boolean - Value - 1 - ScriptsCanShowUI Comment @@ -498,17 +224,6 @@ Value 1 - CacheSize - - Comment - Controls amount of hard drive space reserved for local file caching in MB - Persist - 1 - Type - U32 - Value - 1024 - MediaControlFadeTime Comment -- cgit v1.2.3 From ce975c7572b8253beb07662cddff913b7eabc1e3 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Wed, 23 Feb 2011 18:58:28 -0500 Subject: STORM-1020 Use tabs instead of spaces in fix. --- indra/newview/llstartup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index bf712d619d..f8f9f3ab86 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -775,7 +775,7 @@ bool idle_startup() gViewerWindow->setNormalControlsVisible( FALSE ); gLoginMenuBarView->setVisible( TRUE ); gLoginMenuBarView->setEnabled( TRUE ); - show_debug_menus(); + show_debug_menus(); // Hide the splash screen LLSplashScreen::hide(); -- cgit v1.2.3 From aabcabb60bd093e42d6416498c88eda25a8d9b7e Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:35:44 -0800 Subject: added minimal skin XUI files to project --- indra/newview/CMakeLists.txt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index af6beacdfa..4acffeb66b 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1303,17 +1303,13 @@ set(viewer_XUI_FILES ) file(GLOB DEFAULT_XUI_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/*.xml) + ${CMAKE_CURRENT_SOURCE_DIR}/skins/*/xui/en/*.xml) list(APPEND viewer_XUI_FILES ${DEFAULT_XUI_FILE_GLOB_LIST}) file(GLOB DEFAULT_WIDGET_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/widgets/*.xml) + ${CMAKE_CURRENT_SOURCE_DIR}/skins/*/xui/en/widgets/*.xml) list(APPEND viewer_XUI_FILES ${DEFAULT_WIDGET_FILE_GLOB_LIST}) -file(GLOB SILVER_XUI_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/*.xml) -list(APPEND viewer_XUI_FILES ${SILVER_XUI_FILE_GLOB_LIST}) - # Cannot append empty lists in CMake, wait until we have files here. #file(GLOB SILVER_WIDGET_FILE_GLOB_LIST # ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/widgets/*.xml) -- cgit v1.2.3 From f6f392babea8bbf748587c3a8ffe99e598b1a7df Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:36:55 -0800 Subject: SOCIAL-545 FIX Figure out how to configure skylight-specific settings sessionsettingsfile and usersessionsettingsfile are allowed to persist, so we can change them from the login screen --- indra/newview/app_settings/settings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1bcc988e5c..0d7437ed1c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12371,7 +12371,7 @@ Comment Settings that are a applied per session (not saved). Persist - 0 + 1 Type String Value @@ -12382,7 +12382,7 @@ Comment User settings that are a applied per session (not saved). Persist - 0 + 1 Type String Value -- cgit v1.2.3 From 0747341f97a9aec61038de8d2bbe28e7909f5aca Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:39:08 -0800 Subject: SOCIAL-547 WIP Add skin selection dropdown to login screen load session settings after loading user settings so user settings can change the session settings file also don't hardcode file path for session settings files, use path configured in settings_files.xml --- indra/newview/llappviewer.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 2000ed9201..62f52e4b05 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1964,6 +1964,11 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, { // try to find filename stored in file_name_setting control full_settings_path = global_settings->getString(file_it->file_name_setting); + if (!gDirUtilp->fileExists(full_settings_path)) + { + // search in default path + full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, full_settings_path); + } } else { @@ -2160,11 +2165,12 @@ bool LLAppViewer::initConfiguration() << user_settings_filename << llendl; } + // - load overrides from user_settings + loadSettingsFromDirectory("User"); + if (clp.hasOption("sessionsettings")) { - std::string session_settings_filename = - gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, - clp.getOption("sessionsettings")[0]); + std::string session_settings_filename = clp.getOption("sessionsettings")[0]; gSavedSettings.setString("SessionSettingsFile", session_settings_filename); llinfos << "Using session settings filename: " << session_settings_filename << llendl; @@ -2173,9 +2179,7 @@ bool LLAppViewer::initConfiguration() if (clp.hasOption("usersessionsettings")) { - std::string user_session_settings_filename = - gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, - clp.getOption("usersessionsettings")[0]); + std::string user_session_settings_filename = clp.getOption("usersessionsettings")[0]; gSavedSettings.setString("UserSessionSettingsFile", user_session_settings_filename); llinfos << "Using user session settings filename: " << user_session_settings_filename << llendl; @@ -2183,8 +2187,6 @@ bool LLAppViewer::initConfiguration() } loadSettingsFromDirectory("UserSession"); - // - load overrides from user_settings - loadSettingsFromDirectory("User"); // - apply command line settings clp.notify(); -- cgit v1.2.3 From f8678c27b2dfbdba1610b0284aa978139cb72bff Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:40:10 -0800 Subject: SOCIAL-547 WIP Add skin selection dropdown to login screen add confirmation dialog to mode change --- indra/newview/llpanellogin.cpp | 25 +++++++++++++++++++++++++ indra/newview/llpanellogin.h | 2 ++ 2 files changed, 27 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 8d3b1fd7a0..3ca61b0aab 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -214,6 +214,8 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, } updateLocationCombo(false); + gSavedSettings.getControl("SessionSettingsFile")->getSignal()->connect(boost::bind(&onModeChange)); + LLComboBox* server_choice_combo = sInstance->getChild("server_combo"); server_choice_combo->setCommitCallback(onSelectServer, NULL); server_choice_combo->setFocusLostCallback(boost::bind(onServerComboLostFocus, _1)); @@ -1156,3 +1158,26 @@ void LLPanelLogin::updateLoginPanelLinks() sInstance->getChildView("create_new_account_text")->setVisible( system_grid); sInstance->getChildView("forgot_password_text")->setVisible( system_grid); } + +//static +void LLPanelLogin::onModeChange() +{ + LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&onModeChangeConfirm, _1, _2)); +} + +//static +void LLPanelLogin::onModeChangeConfirm(const LLSD& notification, const LLSD& response) +{ + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + switch (option) + { + case 0: + LLAppViewer::instance()->requestQuit(); + break; + case 1: + // do nothing + break; + default: + break; + } +} \ No newline at end of file diff --git a/indra/newview/llpanellogin.h b/indra/newview/llpanellogin.h index 1ef6539ecc..1430bec832 100644 --- a/indra/newview/llpanellogin.h +++ b/indra/newview/llpanellogin.h @@ -98,6 +98,8 @@ private: static void onServerComboLostFocus(LLFocusableElement*); static void updateServerCombo(); static void updateStartSLURL(); + static void onModeChange(); + static void onModeChangeConfirm(const LLSD& notification, const LLSD& response); static void updateLoginPanelLinks(); -- cgit v1.2.3 From 9ef646a8de73ad4fa3d59bea3f3cef66aad073d1 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:40:38 -0800 Subject: SOCIAL-547 WIP Add skin selection dropdown to login screen enable confirmation dialog in basic skin --- indra/newview/skins/minimal/xui/en/notification_visibility.xml | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/notification_visibility.xml b/indra/newview/skins/minimal/xui/en/notification_visibility.xml index 9740474d37..4a808b19b7 100644 --- a/indra/newview/skins/minimal/xui/en/notification_visibility.xml +++ b/indra/newview/skins/minimal/xui/en/notification_visibility.xml @@ -27,6 +27,7 @@ + -- cgit v1.2.3 From 7a69d736b5e9e725cda9e9892b37d112883fd835 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:41:03 -0800 Subject: SOCIAL-547 WIP Add skin selection dropdown to login screen add skin chooser to login screen --- indra/newview/skins/default/xui/en/panel_login.xml | 40 ++++++-- indra/newview/skins/minimal/xui/en/panel_login.xml | 110 ++++++++++++--------- 2 files changed, 96 insertions(+), 54 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 806182bcb4..9782c23751 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -47,8 +47,8 @@ auto_resize="false" follows="left|bottom" name="login" layout="topleft" -width="695" -min_width="695" +width="705" +min_width="705" user_resize="false" height="80"> + + Mode: + + + + + Start at: @@ -136,7 +162,7 @@ control_name="NextLoginLocation" max_chars="128" top_pad="0" name="start_location_combo" - width="170"> + width="165"> http://join.secondlife.com/ - - http://secondlife.com/app/login/ - - + http://secondlife.eniac15.lindenlab.com/reg-in-client/ +name="login_html" +start_url="" +top="0" +height="600" + width="980" /> @@ -126,63 +122,83 @@ label="Remember password" font="SansSerifSmall" height="15" left_pad="18" - name="start_location_text" + name="mode_selection_text" top="20" width="130"> - Start at: + Mode: - + max_chars="128" + top_pad="0" + control_name="SessionSettingsFile" + name="mode_combo" + width="120"> + label="Basic (Default)" + name="Basic" + value="settings_minimal.xml" /> + label="Advanced" + name="Advanced" + value="" /> - + + Sign up + + + Forgot your username or password? + + Need help logging in? + -- cgit v1.2.3 From 0a05dff824beee98ded1ee1427597dbe30b630ea Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:41:17 -0800 Subject: SOCIAL-547 WIP Add skin selection dropdown to login screen add confirmation dialog to mode change --- indra/newview/skins/default/xui/en/notifications.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index f008042a81..412349a0d1 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6714,6 +6714,17 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' + + Changing modes requires you to quit and restart. + + - Your CPU speed does not meet the minimum requirements. -- cgit v1.2.3 From f3238a700eb387dc87d75c2ee0032ecad9e29b54 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:41:46 -0800 Subject: remove skylight progress screen and unused skylight textures --- .../minimal/textures/login_teleport_background.jpg | Bin 130026 -> 0 bytes indra/newview/skins/minimal/textures/sl_logo.png | Bin 4542 -> 0 bytes indra/newview/skins/minimal/textures/textures.xml | 2 -- indra/newview/skins/minimal/xui/en/main_view.xml | 9 +-------- .../skins/minimal/xui/en/panel_progress.xml | 21 --------------------- 5 files changed, 1 insertion(+), 31 deletions(-) delete mode 100644 indra/newview/skins/minimal/textures/login_teleport_background.jpg delete mode 100644 indra/newview/skins/minimal/textures/sl_logo.png delete mode 100644 indra/newview/skins/minimal/xui/en/panel_progress.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/textures/login_teleport_background.jpg b/indra/newview/skins/minimal/textures/login_teleport_background.jpg deleted file mode 100644 index 43bf0a58f4..0000000000 Binary files a/indra/newview/skins/minimal/textures/login_teleport_background.jpg and /dev/null differ diff --git a/indra/newview/skins/minimal/textures/sl_logo.png b/indra/newview/skins/minimal/textures/sl_logo.png deleted file mode 100644 index 71830e7451..0000000000 Binary files a/indra/newview/skins/minimal/textures/sl_logo.png and /dev/null differ diff --git a/indra/newview/skins/minimal/textures/textures.xml b/indra/newview/skins/minimal/textures/textures.xml index 432b2c20c8..8dd56e20d8 100644 --- a/indra/newview/skins/minimal/textures/textures.xml +++ b/indra/newview/skins/minimal/textures/textures.xml @@ -1,7 +1,5 @@  - - diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index 88f06d9e63..629496db81 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -121,14 +121,7 @@ left="0" mouse_opaque="false" name="world_view_rect" - width="500"> - - + width="500"/> - - - -- cgit v1.2.3 From 73dda9419055a3ab37e0310032e65c780d0fb8b3 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:42:50 -0800 Subject: SOCIAL-551 WIP Add buttons to open people and profile windows add URL accessor for web content floaters --- indra/newview/llfloaterwebcontent.cpp | 5 +++++ indra/newview/llfloaterwebcontent.h | 1 + 2 files changed, 6 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 058567492b..bcbb01ab1d 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -400,3 +400,8 @@ void LLFloaterWebContent::onPopExternal() LLWeb::loadURLExternal( url ); }; } + +std::string LLFloaterWebContent::getURL() const +{ + return mAddressCombo->getValue().asString(); +} diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h index ecc7e970d8..6c934158d0 100644 --- a/indra/newview/llfloaterwebcontent.h +++ b/indra/newview/llfloaterwebcontent.h @@ -65,6 +65,7 @@ public: void onClickStop(); void onEnterAddress(); void onPopExternal(); + std::string getURL() const; private: void open_media(const std::string& media_url, const std::string& target); -- cgit v1.2.3 From cc337162e3dec52e57e8dee6b564b7d186b9de4b Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:43:06 -0800 Subject: SOCIAL-551 WIP Add buttons to open people and profile windows add people and profile buttons to bottom tray --- .../skins/minimal/xui/en/panel_bottomtray.xml | 50 ++++++++++++++++++---- 1 file changed, 41 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index 6c33a8f930..e9478c6465 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -223,10 +223,42 @@ min_height="28" min_width="65" mouse_opaque="false" - name="help_panel" + name="people_panel" top_delta="0" user_resize="false" - width="85"> + width="105"> + + + + + + width="100"> + function="ToggleAgentProfile" + parameter="agent"/> - Date: Wed, 23 Feb 2011 16:43:36 -0800 Subject: SOCIAL-551 WIP Add buttons to open people and profile windows added LLAvatarActions::profileVisible and hideProfile --- indra/newview/llavataractions.cpp | 33 ++++++++++++++++++++++++++++++++- indra/newview/llavataractions.h | 2 ++ 2 files changed, 34 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index f3f0cde221..014a387276 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -47,6 +47,7 @@ #include "llfloatergroups.h" #include "llfloaterreg.h" #include "llfloaterpay.h" +#include "llfloaterwebcontent.h" #include "llfloaterworldmap.h" #include "llgiveinventory.h" #include "llinventorybridge.h" @@ -315,7 +316,7 @@ void LLAvatarActions::showProfile(const LLUUID& id) std::string agent_name = LLCacheName::buildUsername(full_name); llinfos << "opening web profile for " << agent_name << llendl; std::string url = getProfileURL(agent_name); - LLWeb::loadWebURLInternal(url); + LLWeb::loadWebURLInternal(url, "", id.asString()); } else { @@ -336,6 +337,36 @@ void LLAvatarActions::showProfile(const LLUUID& id) } } +//static +bool LLAvatarActions::profileVisible(const LLUUID& id) +{ + LLFloaterWebContent *browser = dynamic_cast (LLFloaterReg::findInstance("web_content", id.asString())); + if (browser) + { + // PROFILES: open in webkit window + std::string full_name; + if (gCacheName->getFullName(id,full_name)) + { + std::string agent_name = LLCacheName::buildUsername(full_name); + llinfos << "opening web profile for " << agent_name << llendl; + std::string url = getProfileURL(agent_name); + return url == browser->getURL(); + } + } + return false; +} + + +//static +void LLAvatarActions::hideProfile(const LLUUID& id) +{ + LLFloaterWebContent *browser = dynamic_cast (LLFloaterReg::findInstance("web_content", id.asString())); + if (browser) + { + browser->closeFloater(); + } +} + // static void LLAvatarActions::showOnMap(const LLUUID& id) { diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h index 2db2918eed..956fed7461 100644 --- a/indra/newview/llavataractions.h +++ b/indra/newview/llavataractions.h @@ -93,6 +93,8 @@ public: * Show avatar profile. */ static void showProfile(const LLUUID& id); + static void hideProfile(const LLUUID& id); + static bool profileVisible(const LLUUID& id); /** * Show avatar on world map. -- cgit v1.2.3 From 20ad5181babd7662bddf95b94bb25cc522d6186d Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:44:04 -0800 Subject: SOCIAL-551 WIP Add buttons to open people and profile windows bottom tray button now toggles profile window --- indra/newview/llbottomtray.cpp | 3 +++ indra/newview/llviewermenu.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 35e4548483..da636068dc 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -38,7 +38,9 @@ #include "lltexteditor.h" // newview includes +#include "llagent.h" #include "llagentcamera.h" +#include "llavataractions.h" #include "llchiclet.h" #include "llfloatercamera.h" #include "llhints.h" @@ -812,6 +814,7 @@ void LLBottomTray::draw() LLRect rect = mLandingTab->calcScreenRect(); mImageDragIndication->draw(rect.mLeft - w/2, rect.getHeight(), w, h); } + getChild("show_profile_btn")->setToggleState(LLAvatarActions::profileVisible(gAgent.getID())); } bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7cc04e0338..dd6b034dc8 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5788,6 +5788,44 @@ class LLShowAgentProfile : public view_listener_t } }; +class LLToggleAgentProfile : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + LLUUID agent_id; + if (userdata.asString() == "agent") + { + agent_id = gAgent.getID(); + } + else if (userdata.asString() == "hit object") + { + LLViewerObject* objectp = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); + if (objectp) + { + agent_id = objectp->getID(); + } + } + else + { + agent_id = userdata.asUUID(); + } + + LLVOAvatar* avatar = find_avatar_from_object(agent_id); + if (avatar) + { + if (!LLAvatarActions::profileVisible(avatar->getID())) + { + LLAvatarActions::showProfile(avatar->getID()); + } + else + { + LLAvatarActions::hideProfile(avatar->getID()); + } + } + return true; + } +}; + class LLLandEdit : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -8184,6 +8222,7 @@ void initialize_menus() view_listener_t::addMenu(new LLShowHelp(), "ShowHelp"); view_listener_t::addMenu(new LLPromptShowURL(), "PromptShowURL"); view_listener_t::addMenu(new LLShowAgentProfile(), "ShowAgentProfile"); + view_listener_t::addMenu(new LLToggleAgentProfile(), "ToggleAgentProfile"); view_listener_t::addMenu(new LLToggleControl(), "ToggleControl"); view_listener_t::addMenu(new LLCheckControl(), "CheckControl"); view_listener_t::addMenu(new LLGoToObject(), "GoToObject"); -- cgit v1.2.3 From c1c6914f5d8126398a72c05f0d28975ce48717de Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 23 Feb 2011 16:44:20 -0800 Subject: SOCIAL-551 WIP Add buttons to open people and profile windows remove dock button from undocked sidetray UI --- .../minimal/xui/en/panel_side_tray_tab_caption.xml | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml new file mode 100644 index 0000000000..c8b0af154c --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml @@ -0,0 +1,37 @@ + + + + + -- cgit v1.2.3 From 598ee92b0e43748f065b82aa33404550c32dc3c4 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 11:06:42 -0800 Subject: SOCIAL-551 WIP Add buttons to open people and profile windows bring back sidetray container in minimal skin --- indra/newview/skins/minimal/xui/en/main_view.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index 629496db81..1fadd2d550 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -161,6 +161,16 @@ + Date: Thu, 24 Feb 2011 11:48:26 -0800 Subject: unbork linux build --- indra/newview/llpanellogin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 3ca61b0aab..903cf4780d 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -1180,4 +1180,4 @@ void LLPanelLogin::onModeChangeConfirm(const LLSD& notification, const LLSD& res default: break; } -} \ No newline at end of file +} -- cgit v1.2.3 From 8be54fc52ee5970d21388447fe699454f38baf20 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:33:57 -0800 Subject: SOCIAL-551 WIP add buttons to open people and profile windows added option OpenSidePanelsInFloaters to always undock side panel content also set default configuration to basic --- indra/newview/app_settings/settings.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0d7437ed1c..71ff7177ee 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12375,7 +12375,7 @@ Type String Value - + settings_minimal.xml UserSessionSettingsFile @@ -12388,5 +12388,16 @@ Value + OpenSidePanelsInFloaters + + Comment + If true, will always open side panel contents in a floater. + Persist + 1 + Type + Boolean + Value + 0 + -- cgit v1.2.3 From 7f448b02c0d88131bf607afc5b1c8102ef311be9 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:34:21 -0800 Subject: SOCIAL-551 WIP add buttons to open people and profile windows basic configuration has OpenSidePanelsInFloaters turned on --- indra/newview/app_settings/settings_minimal.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 315c811280..b399716313 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -312,5 +312,16 @@ Value http://interest.secondlife.com/static/viewer/avatar + OpenSidePanelsInFloaters + + Comment + If true, will always open side panel contents in a floater. + Persist + 1 + Type + Boolean + Value + 1 + -- cgit v1.2.3 From 874da4cde8914de81992505ade8bc7f106a6019a Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:37:06 -0800 Subject: SOCIAL-551 WIP add buttons to open people and profile windows ShowSideTrayPanel action can now toggle undocked panels OpenSidePanelsInFloaters works now Clossing a sidepanel floater will not return contents to side tray close button enabled in minimal skin for side panel floaters --- indra/newview/llfloatersidetraytab.cpp | 6 + indra/newview/llfloatersidetraytab.h | 2 + indra/newview/llsidetray.cpp | 89 +++++++++-- indra/newview/llsidetray.h | 6 +- indra/newview/llviewermenu.cpp | 19 ++- .../skins/minimal/xui/en/floater_web_content.xml | 172 +++++++++++++++++++++ 6 files changed, 269 insertions(+), 25 deletions(-) create mode 100644 indra/newview/skins/minimal/xui/en/floater_web_content.xml (limited to 'indra/newview') diff --git a/indra/newview/llfloatersidetraytab.cpp b/indra/newview/llfloatersidetraytab.cpp index f13b4db3a0..94407e6da0 100644 --- a/indra/newview/llfloatersidetraytab.cpp +++ b/indra/newview/llfloatersidetraytab.cpp @@ -30,6 +30,7 @@ // newview includes #include "lltransientfloatermgr.h" +#include "llsidetray.h" LLFloaterSideTrayTab::LLFloaterSideTrayTab(const LLSD& key, const Params& params) : LLFloater(key, params) @@ -43,3 +44,8 @@ LLFloaterSideTrayTab::~LLFloaterSideTrayTab() { LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this); } + +void LLFloaterSideTrayTab::onClose(bool app_quitting) +{ + LLSideTray::getInstance()->setTabDocked(getName(), true); +} diff --git a/indra/newview/llfloatersidetraytab.h b/indra/newview/llfloatersidetraytab.h index e47f82e8ba..89f2444a0e 100644 --- a/indra/newview/llfloatersidetraytab.h +++ b/indra/newview/llfloatersidetraytab.h @@ -42,6 +42,8 @@ class LLFloaterSideTrayTab : public LLFloater public: LLFloaterSideTrayTab(const LLSD& key, const Params& params = getDefaultParams()); ~LLFloaterSideTrayTab(); + + void onClose(bool app_quitting); }; #endif // LL_LLFLOATERSIDETRAYTAB_H diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index eb537c7d7b..1fc34bd681 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -629,8 +629,16 @@ LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel std::string tab_name = tab->getName(); + bool tab_attached = isTabAttached(tab_name); + + if (tab_attached && gSavedSettings.getBOOL("OpenSidePanelsInFloaters")) + { + tab->toggleTabDocked(); + tab_attached = false; + } + // Select tab and expand Side Tray only when a tab is attached. - if (isTabAttached(tab_name)) + if (tab_attached) { selectTabByName(tab_name); if (mCollapsed) @@ -641,14 +649,7 @@ LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); if (!floater_tab) return NULL; - // Restore the floater if it was minimized. - if (floater_tab->isMinimized()) - { - floater_tab->setMinimized(FALSE); - } - - // Send the floater to the front. - floater_tab->setFrontmost(); + floater_tab->openFloater(panel_name); } LLSideTrayPanelContainer* container = dynamic_cast(view->getParent()); @@ -1161,23 +1162,43 @@ void LLSideTray::reshape(S32 width, S32 height, BOOL called_from_parent) */ LLPanel* LLSideTray::showPanel (const std::string& panel_name, const LLSD& params) { + LLPanel* new_panel = NULL; + // Look up the tab in the list of detached tabs. child_vector_const_iter_t child_it; for ( child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) { - LLPanel* panel = openChildPanel(*child_it, panel_name, params); - if (panel) return panel; - } + new_panel = openChildPanel(*child_it, panel_name, params); + if (new_panel) break; + } // Look up the tab in the list of attached tabs. for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLPanel* panel = openChildPanel(*child_it, panel_name, params); - if (panel) return panel; + { + new_panel = openChildPanel(*child_it, panel_name, params); + if (new_panel) break; + } + + return new_panel; +} + +void LLSideTray::hidePanel(const std::string& panel_name) +{ + LLPanel* panelp = getPanel(panel_name); + if (panelp) + { + if(isTabAttached(panel_name)) + { + collapseSideBar(); + } + else + { + LLFloaterReg::hideInstance("side_bar_tab", panel_name); + } } - return NULL; } + void LLSideTray::togglePanel(LLPanel* &sub_panel, const std::string& panel_name, const LLSD& params) { if(!sub_panel) @@ -1267,6 +1288,42 @@ bool LLSideTray::isPanelActive(const std::string& panel_name) return (panel->getName() == panel_name); } +void LLSideTray::setTabDocked(const std::string& tab_name, bool dock) +{ + LLSideTrayTab* tab = getTab(tab_name); + if (!tab) + { // not a docked tab, look through detached tabs + for(child_vector_iter_t tab_it = mDetachedTabs.begin(), tab_end_it = mDetachedTabs.end(); + tab_it != tab_end_it; + ++tab_it) + { + if ((*tab_it)->getName() == tab_name) + { + tab = *tab_it; + break; + } + } + + } + + if (tab) + { + bool tab_attached = isTabAttached(tab_name); + LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); + if (!floater_tab) return; + + if (dock && !tab_attached) + { + tab->dock(floater_tab); + } + else if (!dock && tab_attached) + { + tab->undock(floater_tab); + } + } +} + + void LLSideTray::updateSidetrayVisibility() { // set visibility of parent container based on collapsed state diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index 184d78845f..2516b5689f 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -97,6 +97,8 @@ public: */ LLPanel* showPanel (const std::string& panel_name, const LLSD& params = LLSD()); + void hidePanel (const std::string& panel_name); + /** * Toggling Side Tray tab which contains "sub_panel" child of "panel_name" panel. * If "sub_panel" is not visible Side Tray is opened to display it, @@ -112,6 +114,8 @@ public: LLPanel* getActivePanel (); bool isPanelActive (const std::string& panel_name); + void setTabDocked(const std::string& tab_name, bool dock); + /* * get the panel of given type T (don't show it or do anything else with it) */ @@ -215,7 +219,7 @@ private: if (LLSideTray::instanceCreated()) LLSideTray::getInstance()->setEnabled(FALSE); } - + private: LLPanel* mButtonsPanel; typedef std::map button_map_t; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index dd6b034dc8..02ef1e4e50 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5651,15 +5651,18 @@ class LLShowSidetrayPanel : public view_listener_t bool handleEvent(const LLSD& userdata) { std::string panel_name = userdata.asString(); - // Toggle the panel - if (!LLSideTray::getInstance()->isPanelActive(panel_name)) - { - // LLFloaterInventory::showAgentInventory(); - LLSideTray::getInstance()->showPanel(panel_name, LLSD()); - } - else + + LLPanel* panel = LLSideTray::getInstance()->getPanel(panel_name); + if (panel) { - LLSideTray::getInstance()->collapseSideBar(); + if (panel->isInVisibleChain()) + { + LLSideTray::getInstance()->hidePanel(panel_name); + } + else + { + LLSideTray::getInstance()->showPanel(panel_name); + } } return true; } diff --git a/indra/newview/skins/minimal/xui/en/floater_web_content.xml b/indra/newview/skins/minimal/xui/en/floater_web_content.xml new file mode 100644 index 0000000000..4a13339ee4 --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_web_content.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 83e92c6190e0832f85c40e79883e8b1607ad8db2 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:37:30 -0800 Subject: SOCIAL-551 WIP add buttons to open people and profile windows people button now toggles according to people window visibility --- indra/newview/llbottomtray.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index da636068dc..3d61e13f02 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -46,6 +46,7 @@ #include "llhints.h" #include "llimfloater.h" // for LLIMFloater #include "llnearbychatbar.h" +#include "llsidetray.h" #include "llspeakbutton.h" #include "llsplitbutton.h" #include "llsyswellwindow.h" @@ -815,6 +816,17 @@ void LLBottomTray::draw() mImageDragIndication->draw(rect.mLeft - w/2, rect.getHeight(), w, h); } getChild("show_profile_btn")->setToggleState(LLAvatarActions::profileVisible(gAgent.getID())); + + LLPanel* panel = LLSideTray::getInstance()->getPanel("panel_people"); + if (panel && panel->isInVisibleChain()) + { + getChild("show_people_button")->setToggleState(true); + } + else + { + getChild("show_people_button")->setToggleState(false); + } + } bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) -- cgit v1.2.3 From fd8dff8a448e7d2125a9b91351efb7d69e10e0a3 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:38:29 -0800 Subject: SOCIAL-551 WIP add buttons to open people and profile windows detecting if a profile window is visible now relies on the key the window was opened with and not the current url of that window this way you can navigate away from your profile and still close the window with the profile button removed unused getURL() function --- indra/newview/llavataractions.cpp | 14 +------------- indra/newview/llfloaterwebcontent.cpp | 5 ----- indra/newview/llfloaterwebcontent.h | 1 - 3 files changed, 1 insertion(+), 19 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 014a387276..afa8b62c74 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -341,19 +341,7 @@ void LLAvatarActions::showProfile(const LLUUID& id) bool LLAvatarActions::profileVisible(const LLUUID& id) { LLFloaterWebContent *browser = dynamic_cast (LLFloaterReg::findInstance("web_content", id.asString())); - if (browser) - { - // PROFILES: open in webkit window - std::string full_name; - if (gCacheName->getFullName(id,full_name)) - { - std::string agent_name = LLCacheName::buildUsername(full_name); - llinfos << "opening web profile for " << agent_name << llendl; - std::string url = getProfileURL(agent_name); - return url == browser->getURL(); - } - } - return false; + return browser && browser->isShown(); } diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index bcbb01ab1d..058567492b 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -400,8 +400,3 @@ void LLFloaterWebContent::onPopExternal() LLWeb::loadURLExternal( url ); }; } - -std::string LLFloaterWebContent::getURL() const -{ - return mAddressCombo->getValue().asString(); -} diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h index 6c934158d0..ecc7e970d8 100644 --- a/indra/newview/llfloaterwebcontent.h +++ b/indra/newview/llfloaterwebcontent.h @@ -65,7 +65,6 @@ public: void onClickStop(); void onEnterAddress(); void onPopExternal(); - std::string getURL() const; private: void open_media(const std::string& media_url, const std::string& target); -- cgit v1.2.3 From 098145b15570b2f5b0358edc329d4852f226eba0 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:39:19 -0800 Subject: SOCIAL-551 WIP add buttons to open people and profile windows people button now shows people window --- indra/newview/skins/minimal/xui/en/main_view.xml | 39 +++++++++------------- .../skins/minimal/xui/en/panel_bottomtray.xml | 5 +-- 2 files changed, 19 insertions(+), 25 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index 1fadd2d550..85e1045357 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -40,16 +40,7 @@ tab_stop="false" name="hud" width="1024"> - - + width="1024"> - - - + + + + + + function="ShowSidetrayPanel" + parameter="panel_people" /> Date: Thu, 24 Feb 2011 18:40:10 -0800 Subject: SOCIAL-551 FIX add buttons to open people and profile windows close button enabled in minimal skin for side panel floaters removed redundant heading from torn off side panel floaters --- .../skins/minimal/xui/en/floater_side_bar_tab.xml | 10 ++++++++ .../minimal/xui/en/panel_side_tray_tab_caption.xml | 28 +--------------------- 2 files changed, 11 insertions(+), 27 deletions(-) create mode 100644 indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml b/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml new file mode 100644 index 0000000000..83b1260620 --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml @@ -0,0 +1,10 @@ + + + diff --git a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml index c8b0af154c..9f2f41ba31 100644 --- a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml +++ b/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml @@ -3,35 +3,9 @@ background_visible="true" bottom="0" follows="left|top|right" - height="30" + height="5" width="333" layout="topleft" left="0" name="sidetray_tab_panel"> - - -- cgit v1.2.3 From e0b75fd528390277e265aae810a9bf5a1b595405 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:41:06 -0800 Subject: SOCIAL-555 WIP back quit confirmation notification flagged various notification as "failure" notifications that should be shown in minimal skin --- indra/newview/skins/default/xui/en/notifications.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 412349a0d1..58b50dfec1 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -163,8 +163,9 @@ No tutorial is currently available. icon="alertmodal.tga" name="LoginFailedNoNetwork" type="alertmodal"> -Could not connect to the [SECOND_LIFE_GRID]. -'[DIAGNOSTIC]' + fail + Could not connect to the [SECOND_LIFE_GRID]. + '[DIAGNOSTIC]' Make sure your Internet connection is working properly. Message Template [PATH] not found. + fail @@ -689,6 +691,7 @@ There was a problem uploading a report screenshot due to the following reason: [ icon="alertmodal.tga" name="MustAgreeToLogIn" type="alertmodal"> + fail You must agree to the Terms of Service to continue logging into [SECOND_LIFE]. @@ -726,6 +729,7 @@ You can not wear that item because it has not yet loaded. Please try again in a icon="alertmodal.tga" name="MustHaveAccountToLogIn" type="alertmodal"> + fail Oops! Something was left blank. You need to enter the Username name of your avatar. @@ -747,6 +751,7 @@ You need an account to enter [SECOND_LIFE]. Would you like to create one now? icon="alertmodal.tga" name="InvalidCredentialFormat" type="alertmodal"> + fail You need to enter either the Username or both the First and Last name of your avatar into the Username field, then login again. -- cgit v1.2.3 From 45fd3e53a1be97927ab81f566a15ef33834ed866 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 18:44:54 -0800 Subject: SOCIAL-555 WIP back quit confirmation notification re-enabled quit confirmation --- indra/newview/skins/minimal/xui/en/notification_visibility.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/notification_visibility.xml b/indra/newview/skins/minimal/xui/en/notification_visibility.xml index 4a808b19b7..97b9141534 100644 --- a/indra/newview/skins/minimal/xui/en/notification_visibility.xml +++ b/indra/newview/skins/minimal/xui/en/notification_visibility.xml @@ -9,7 +9,6 @@ - @@ -24,6 +23,7 @@ + -- cgit v1.2.3 From c373474cd4de4c34ed1d2b766bdde6d9a0c85351 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 19:21:30 -0800 Subject: enabled generic error messages from server for minimal skin --- indra/newview/skins/default/xui/en/notifications.xml | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 58b50dfec1..80b6867807 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -2434,6 +2434,7 @@ Display settings have been set to recommended levels based on your system config name="ErrorMessage" type="alertmodal"> [ERROR_MESSAGE] + fail -- cgit v1.2.3 From 5e0305ce4ce4448a9d2251dd9691f37c7b7945e1 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 19:23:18 -0800 Subject: SOCIAL-577 WIP create streamlined navigation bar made navigation bar appear in basic skin, with simplified UI --- indra/newview/skins/minimal/xui/en/main_view.xml | 3 +- .../skins/minimal/xui/en/panel_navigation_bar.xml | 119 ++++++++++++--------- 2 files changed, 73 insertions(+), 49 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index 85e1045357..6e37266eff 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -23,7 +23,7 @@ orientation="vertical" top="0"> - - - - - - - - - - - - - + -- cgit v1.2.3 From 318842b15871cbee47a944ed243352258211321d Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 24 Feb 2011 19:35:15 -0800 Subject: SOCIAL-552 FIX removed badges from address field in navigation bar --- .../skins/minimal/xui/en/panel_navigation_bar.xml | 44 +++++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml index 3ef5b9b0de..e5548cce5e 100644 --- a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml @@ -86,15 +86,49 @@ width="31" /> name="location_combo" top_delta="0" width="360"> + - + - + + + + + + + Date: Thu, 24 Feb 2011 19:42:28 -0800 Subject: SOCIAL-552 FIX removed badges from address field in navigation bar modified widget template instead of instance --- indra/newview/lllocationinputctrl.cpp | 1 - .../skins/minimal/xui/en/panel_navigation_bar.xml | 44 ------- .../minimal/xui/en/widgets/location_input.xml | 131 +++++++++++++++++++++ 3 files changed, 131 insertions(+), 45 deletions(-) create mode 100644 indra/newview/skins/minimal/xui/en/widgets/location_input.xml (limited to 'indra/newview') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 55164f6094..5c65dcec34 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -211,7 +211,6 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) { // Lets replace default LLLineEditor with LLLocationLineEditor // to make needed escaping while copying and cutting url - this->removeChild(mTextEntry); delete mTextEntry; // Can't access old mTextEntry fields as they are protected, so lets build new params diff --git a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml index e5548cce5e..65d9e8a2ab 100644 --- a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml @@ -86,50 +86,6 @@ width="31" /> name="location_combo" top_delta="0" width="360"> - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 69a84d1e4cd25d6b440cffc1306604c45100475b Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 25 Feb 2011 09:58:56 -0800 Subject: remove flicker from top of world view --- indra/newview/skins/minimal/xui/en/main_view.xml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index 6e37266eff..89afb302a8 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -43,6 +43,7 @@ Date: Fri, 25 Feb 2011 11:09:11 -0800 Subject: SOCIAL-575 FIX Side panel displayed in Minimal skin on first launch --- indra/newview/llstartup.cpp | 3 --- 1 file changed, 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 0eac7d5e2a..57314f14a8 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1703,9 +1703,6 @@ bool idle_startup() // Set the show start location to true, now that the user has logged // on with this install. gSavedSettings.setBOOL("ShowStartLocation", TRUE); - - LLSideTray::getInstance()->showPanel("panel_home", LLSD()); - } // We're successfully logged in. -- cgit v1.2.3 From 87a0aaa7d8365035951c069a69994dbaeb688a87 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 25 Feb 2011 11:22:35 -0800 Subject: fixed some layout on basic mode login screen --- indra/newview/skins/minimal/xui/en/panel_login.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/panel_login.xml b/indra/newview/skins/minimal/xui/en/panel_login.xml index 8865f8fbc8..9b07051d81 100644 --- a/indra/newview/skins/minimal/xui/en/panel_login.xml +++ b/indra/newview/skins/minimal/xui/en/panel_login.xml @@ -47,8 +47,8 @@ auto_resize="false" follows="left|bottom" name="login" layout="topleft" -width="695" -min_width="695" +width="570" +min_width="570" user_resize="false" height="80"> -- cgit v1.2.3 From 9d6a79efed0809a2d47cbcadc6c338b3a3f8ce92 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 25 Feb 2011 11:28:54 -0800 Subject: SOCIAL-557 FIX Enable clickable URLS also killed forced bandwidth throttle settings from skylight --- indra/newview/CMakeLists.txt | 1 + indra/newview/app_settings/settings_minimal.xml | 31 ------------------------- 2 files changed, 1 insertion(+), 31 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 4acffeb66b..0308a59658 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1339,6 +1339,7 @@ set(viewer_APPSETTINGS_FILES app_settings/settings_crash_behavior.xml app_settings/settings_files.xml app_settings/settings_per_account.xml + app_settings/settings_minimal.xml app_settings/std_bump.ini app_settings/trees.xml app_settings/ultra_graphics.xml diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index b399716313..62b314d167 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -45,15 +45,6 @@ Value 1 - DisableTextHyperlinkActions - - Comment - Disable highlighting and linking of URLs in XUI text boxes - Type - Boolean - Value - 1 - EnableGrab Comment @@ -191,28 +182,6 @@ Value 0 - ThrottleBandwidthKBPS - - Comment - Maximum allowable downstream bandwidth (kilo bits per second) - Persist - 1 - Type - F32 - Value - 1500.0 - - XferThrottle - - Comment - Maximum allowable downstream bandwidth for asset transfers (bits per second) - Persist - 1 - Type - F32 - Value - 450000.0 - ChatFontSize Comment -- cgit v1.2.3 From 5663ef405d3340a542bb4ecb6375f3d54966490a Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 25 Feb 2011 13:09:59 -0800 Subject: added close button for avatar picker and destination guide --- .../skins/minimal/textures/bottomtray/close_off.png | Bin 0 -> 3184 bytes .../skins/minimal/textures/bottomtray/close_over.png | Bin 0 -> 3173 bytes .../skins/minimal/textures/bottomtray/close_press.png | Bin 0 -> 3259 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_off.png create mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_over.png create mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_press.png (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_off.png b/indra/newview/skins/minimal/textures/bottomtray/close_off.png new file mode 100644 index 0000000000..241a24bde9 Binary files /dev/null and b/indra/newview/skins/minimal/textures/bottomtray/close_off.png differ diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_over.png b/indra/newview/skins/minimal/textures/bottomtray/close_over.png new file mode 100644 index 0000000000..4630cb6dd6 Binary files /dev/null and b/indra/newview/skins/minimal/textures/bottomtray/close_over.png differ diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_press.png b/indra/newview/skins/minimal/textures/bottomtray/close_press.png new file mode 100644 index 0000000000..3ed9c99a26 Binary files /dev/null and b/indra/newview/skins/minimal/textures/bottomtray/close_press.png differ -- cgit v1.2.3 From 31d0bf5ba5dd5e1df6c42dd19ce63ef3978a2f4c Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 25 Feb 2011 13:48:20 -0800 Subject: updates destination guide and avatar picker urls added close button to destination guide and avatar picker --- indra/newview/CMakeLists.txt | 2 ++ indra/newview/app_settings/settings_minimal.xml | 6 ++++-- indra/newview/llviewermenu.cpp | 8 +++++--- indra/newview/llviewermenu.h | 2 ++ indra/newview/llviewerwindow.cpp | 1 + indra/newview/skins/minimal/textures/textures.xml | 3 +++ indra/newview/skins/minimal/xui/en/main_view.xml | 20 ++++++++++++++++---- 7 files changed, 33 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0308a59658..4ed59f039e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1298,6 +1298,8 @@ endif (WINDOWS) set(viewer_XUI_FILES skins/default/colors.xml skins/default/textures/textures.xml + skins/minimal/colors.xml + skins/minimal/textures/textures.xml diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 62b314d167..04712ec30b 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -34,7 +34,7 @@ Type String Value - http://interest.secondlife.com/viewer/guide + http://pdp48.lindenlab.com:8001/viewer/guide/ DisableExternalBrowser @@ -279,7 +279,9 @@ Type String Value - http://interest.secondlife.com/static/viewer/avatar + + http://pdp48.lindenlab.com:8001/static/viewer/avatar/index.html + OpenSidePanelsInFloaters diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 02ef1e4e50..82df525a4f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -843,9 +843,9 @@ class LLAdvancedCheckFeature : public view_listener_t } }; -void LLDestinationAndAvatarShow(const LLSD& value) +void toggle_destination_and_avatar_picker(const LLSD& show) { - S32 panel_idx = value.isDefined() ? value.asInteger() : -1; + S32 panel_idx = show.isDefined() ? show.asInteger() : -1; LLView* container = gViewerWindow->getRootView()->getChildView("avatar_picker_and_destination_guide_container"); LLMediaCtrl* destinations = container->findChild("destination_guide_contents"); LLMediaCtrl* avatar_picker = container->findChild("avatar_picker_contents"); @@ -870,6 +870,8 @@ void LLDestinationAndAvatarShow(const LLSD& value) avatar_picker->setVisible(false); break; } + + gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild("avatar_and_destination_btns")->setValue(show); }; @@ -8246,5 +8248,5 @@ void initialize_menus() view_listener_t::addMenu(new LLToggleUIHints(), "ToggleUIHints"); - commit.add("DestinationAndAvatar.show", boost::bind(&LLDestinationAndAvatarShow, _2)); + commit.add("DestinationAndAvatar.show", boost::bind(&toggle_destination_and_avatar_picker, _2)); } diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index 87cb4efbc4..b4e239b0cd 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -126,6 +126,8 @@ bool enable_pay_object(); bool enable_buy_object(); bool handle_go_to(); +void toggle_destination_and_avatar_picker(const LLSD& show); + // Export to XML or Collada void handle_export_selected( void * ); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 274dbe2cc8..1ce1135b1e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1777,6 +1777,7 @@ void LLViewerWindow::initWorldUI() buttons_panel_container->addChild(buttons_panel); LLView* avatar_picker_destination_guide_container = gViewerWindow->getRootView()->getChild("avatar_picker_and_destination_guide_container"); + avatar_picker_destination_guide_container->getChild("close")->setCommitCallback(boost::bind(toggle_destination_and_avatar_picker, LLSD())); LLMediaCtrl* destinations = avatar_picker_destination_guide_container->findChild("destination_guide_contents"); LLMediaCtrl* avatar_picker = avatar_picker_destination_guide_container->findChild("avatar_picker_contents"); if (destinations) diff --git a/indra/newview/skins/minimal/textures/textures.xml b/indra/newview/skins/minimal/textures/textures.xml index 8dd56e20d8..3e2f5cd397 100644 --- a/indra/newview/skins/minimal/textures/textures.xml +++ b/indra/newview/skins/minimal/textures/textures.xml @@ -2,4 +2,7 @@ + + + diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index 89afb302a8..2a3107398d 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -124,20 +124,20 @@ name="bottom_tray_container" visible="false"/> + - - - - - - - - - - - - - - - - - - - - - - - - - - http://www.secondlife.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/minimal/xui/en/panel_status_bar.xml b/indra/newview/skins/minimal/xui/en/panel_status_bar.xml new file mode 100644 index 0000000000..6ccd0e938d --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/panel_status_bar.xml @@ -0,0 +1,62 @@ + + + + Packet Loss + + + Bandwidth + + + [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] + + + [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] + + + L$ [AMT] + + + + + + + + + + + + + + - - - - - - - - - - - - - - - -- cgit v1.2.3 From 78d3fb317941dc04a3398e4c079083ada967567d Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 28 Feb 2011 17:47:19 -0800 Subject: SOCIAL-607 FIX People Panel is open and there is nobody nearby a message is displayed which directs users toward Search and World Map --- indra/newview/skins/minimal/xui/en/panel_people.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/panel_people.xml b/indra/newview/skins/minimal/xui/en/panel_people.xml index bbc82f032d..9c19e445fe 100644 --- a/indra/newview/skins/minimal/xui/en/panel_people.xml +++ b/indra/newview/skins/minimal/xui/en/panel_people.xml @@ -13,16 +13,16 @@ width="333"> + value="No recent people. Looking for people to hang out with? Try the Destinations button below." /> + value="Didn't find what you're looking for? Try the Destinations button below." /> + value="No one nearby. Looking for people to hang out with? Try the Destinations button below." /> + value="Didn't find what you're looking for? Try the Destinations button below." /> -- cgit v1.2.3 From b68f02fa5433eb5d3dff6edc8941e9fb527678e7 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 28 Feb 2011 17:50:49 -0800 Subject: SOCIAL-607 FIX People Panel is open and there is nobody nearby a message is displayed which directs users toward Search and World Map --- indra/newview/skins/minimal/xui/en/panel_people.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/panel_people.xml b/indra/newview/skins/minimal/xui/en/panel_people.xml index 9c19e445fe..4a72653d76 100644 --- a/indra/newview/skins/minimal/xui/en/panel_people.xml +++ b/indra/newview/skins/minimal/xui/en/panel_people.xml @@ -16,13 +16,13 @@ value="No recent people. Looking for people to hang out with? Try the Destinations button below." /> + value="No recent people with that name." /> + value="No one nearby with that name." /> @@ -31,12 +31,12 @@ value="No friends" /> - Find friends using [secondlife:///app/search/people Search] or right-click on a Resident to add them as a friend. -Looking for people to hang out with? Try the [secondlife:///app/worldmap World Map]. + Right-click on a Resident to add them as a friend. +Looking for people to hang out with? Try the Destinations button below. - Didn't find what you're looking for? Try [secondlife:///app/search/people/[SEARCH_TERM] Search]. + Didn't find what you're looking for? Try the Destinations button below.. Date: Mon, 28 Feb 2011 22:06:21 -0800 Subject: SOCIAL-608 WIP Classified link is available in Basic mode --- indra/newview/app_settings/settings.xml | 33 +++++++++++++++++ indra/newview/app_settings/settings_minimal.xml | 33 +++++++++++++++++ indra/newview/llgroupactions.cpp | 6 ++++ indra/newview/llpanelpicks.cpp | 12 +++++++ indra/newview/llsidetray.cpp | 2 +- .../newview/skins/default/xui/en/notifications.xml | 41 +++++++++++++++++++++- 6 files changed, 125 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ee1d5b140f..011a57c656 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12421,5 +12421,38 @@ Value 0 + EnableClassifieds + + Comment + Enable creation of new classified ads + Persist + 1 + Type + Boolean + Value + 1 + + EnableGroupInfo + + Comment + Enable viewing and editing of group info. + Persist + 1 + Type + Boolean + Value + 1 + + EnablePicks + + Comment + Enable editing of picks + Persist + 1 + Type + Boolean + Value + 1 + diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 64e1563e3c..61ae22cb60 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -248,5 +248,38 @@ Value 1 + EnableClassifieds + + Comment + Enable creation of new classified ads + Persist + 1 + Type + Boolean + Value + 0 + + EnableGroupInfo + + Comment + Enable viewing and editing of group info. + Persist + 1 + Type + Boolean + Value + 0 + + EnablePicks + + Comment + Enable editing of picks + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 5393678a6b..7b7780cba8 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -53,6 +53,12 @@ public: bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) { + if (!LLUI::sSettingGroups["config"]->getBOOL("EnableGroupInfo")) + { + LLNotificationsUtil::add("NoGroupInfo"); + return false; + } + if (tokens.size() < 1) { return false; diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index c4f3866cad..72db138ef0 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -83,6 +83,12 @@ public: bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) { + if (!LLUI::sSettingGroups["config"]->getBOOL("EnablePicks")) + { + LLNotificationsUtil::add("NoPicks"); + return false; + } + // handle app/classified/create urls first if (params.size() == 1 && params[0].asString() == "create") { @@ -189,6 +195,12 @@ public: bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) { + if (!LLUI::sSettingGroups["config"]->getBOOL("EnableClassifieds")) + { + LLNotificationsUtil::add("NoClassifieds"); + return false; + } + // handle app/classified/create urls first if (params.size() == 1 && params[0].asString() == "create") { diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 1fc34bd681..bfdb47dc52 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -631,7 +631,7 @@ LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel bool tab_attached = isTabAttached(tab_name); - if (tab_attached && gSavedSettings.getBOOL("OpenSidePanelsInFloaters")) + if (tab_attached && LLUI::sSettingGroups["config"]->getBOOL("OpenSidePanelsInFloaters")) { tab->toggleTabDocked(); tab_attached = false; diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 12f4a11372..b010f4f99f 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6952,7 +6952,46 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' yestext="Quit" notext="Don't Quit"/> - + + + fail + Creation and editing of Classifieds is only available in Standard mode. Would you like to logout and change modes? + + + + + fail + Group info and editing is only available in Standard mode. Would you like to logout and change modes? + + + + + fail + Creation and editing of Picks is only available in Standard mode. Would you like to logout and change modes? + + + - Your CPU speed does not meet the minimum requirements. -- cgit v1.2.3 From e062a2778b034d2f5df67cc8ec6f98203c6dbf73 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 28 Feb 2011 23:43:05 -0800 Subject: SOCIAL-608 FIX Create Classified link is available in Basic mode SOCIAL-609 FIX Create Pick link is available in Basic mode in the web profile SOCIAL-610 FIX View group info in Viewer sidebar are available in Basic mode --- indra/newview/llgroupactions.cpp | 4 ++-- indra/newview/llpanelpicks.cpp | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 7b7780cba8..6953723f0c 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -55,8 +55,8 @@ public: { if (!LLUI::sSettingGroups["config"]->getBOOL("EnableGroupInfo")) { - LLNotificationsUtil::add("NoGroupInfo"); - return false; + LLNotificationsUtil::add("NoGroupInfo", LLSD(), LLSD(), std::string("ConfirmQuit")); + return true; } if (tokens.size() < 1) diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index 72db138ef0..d27f29ca14 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -70,6 +70,7 @@ static const std::string CLASSIFIED_NAME("classified_name"); static LLRegisterPanelClassWrapper t_panel_picks("panel_picks"); + class LLPickHandler : public LLCommandHandler, public LLAvatarPropertiesObserver { @@ -85,8 +86,8 @@ public: { if (!LLUI::sSettingGroups["config"]->getBOOL("EnablePicks")) { - LLNotificationsUtil::add("NoPicks"); - return false; + LLNotificationsUtil::add("NoPicks", LLSD(), LLSD(), std::string("ConfirmQuit")); + return true; } // handle app/classified/create urls first @@ -197,8 +198,8 @@ public: { if (!LLUI::sSettingGroups["config"]->getBOOL("EnableClassifieds")) { - LLNotificationsUtil::add("NoClassifieds"); - return false; + LLNotificationsUtil::add("NoClassifieds", LLSD(), LLSD(), std::string("ConfirmQuit")); + return true; } // handle app/classified/create urls first -- cgit v1.2.3 From a10cdd9d57db3a1f44a22d987e2349d2bb0f4808 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 1 Mar 2011 11:20:40 -0800 Subject: updated destination guide and avatar picker urls --- indra/newview/app_settings/settings.xml | 6 +++--- indra/newview/app_settings/settings_minimal.xml | 22 ---------------------- 2 files changed, 3 insertions(+), 25 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 011a57c656..b71b9d06ff 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -617,7 +617,7 @@ Type String Value - http://interest.secondlife.com/viewer/avatar + http://lecs-static-secondlife-com.s3.amazonaws.com/viewer/avatars.html AvatarBakedTextureUploadTimeout @@ -2566,7 +2566,7 @@ Type String Value - http://www.secondlife.com + http://lecs-static-secondlife-com.s3.amazonaws.com/viewer/guide.html DisableCameraConstraints @@ -12364,7 +12364,7 @@ Type String Value - settings_minimal.xml + UserSessionSettingsFile diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 61ae22cb60..12727b0b96 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -27,15 +27,6 @@ Value 0 - DestinationGuideURL - - Comment - Destination guide contents - Type - String - Value - http://pdp48.lindenlab.com:8001/viewer/guide/ - EnableGrab Comment @@ -188,19 +179,6 @@ Value 0 - AvatarPickerURL - - Comment - Avatar picker contents - Persist - 1 - Type - String - Value - - http://pdp48.lindenlab.com:8001/static/viewer/avatar/index.html - - OpenSidePanelsInFloaters Comment -- cgit v1.2.3 From f23a2ae92fddea845171f7b8597271d988105198 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 1 Mar 2011 11:21:52 -0800 Subject: SOCIAL-611 FIX Freeze and Eject do not work in minimal skin from avatar context me --- .../newview/skins/default/xui/en/notifications.xml | 397 ++++++++++++++------- .../minimal/xui/en/notification_visibility.xml | 4 +- 2 files changed, 265 insertions(+), 136 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index b010f4f99f..9553679c0e 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -104,6 +104,7 @@ Your version of [APP_NAME] does not know how to display the notification it just received. Please verify that you have the latest Viewer installed. Error details: The notification called '[_NAME]' was not found in notifications.xml. + fail @@ -116,6 +117,7 @@ Error details: The notification called '[_NAME]' was not found in noti Floater error: Could not find the following controls: [CONTROLS] + fail @@ -126,6 +128,7 @@ Floater error: Could not find the following controls: name="TutorialNotFound" type="alertmodal"> No tutorial is currently available. + fail @@ -154,6 +157,7 @@ No tutorial is currently available. name="BadInstallation" type="alertmodal"> An error occurred while updating [APP_NAME]. Please [http://get.secondlife.com download the latest version] of the Viewer. + fail @@ -200,6 +204,7 @@ Save changes to current clothing/body part? name="CompileQueueSaveText" type="alertmodal"> There was a problem uploading the text for a script due to the following reason: [REASON]. Please try again later. + fail There was a problem uploading the compiled script due to the following reason: [REASON]. Please try again later. + fail There was a problem writing animation data. Please try again later. + fail There was a problem uploading the auction snapshot due to the following reason: [REASON] + fail Unable to view the contents of more than one item at a time. Please select only one object and try again. + fail Save all changes to clothing/body parts? - confirm + Granting modify rights to another Resident allows them to change, delete or take ANY objects you may have in-world. Be VERY careful when handing out this permission. Do you want to grant modify rights for [NAME]? +confirm Granting modify rights to another Resident allows them to change ANY objects you may have in-world. Be VERY careful when handing out this permission. Do you want to grant modify rights for the selected Residents? +confirm Do you want to revoke modify rights for [NAME]? +confirm Do you want to revoke modify rights for the selected Residents? +confirm Unable to create group. [MESSAGE] - fail + @@ -326,7 +341,8 @@ Unable to create group. type="alertmodal"> [NEEDS_APPLY_MESSAGE] [WANT_APPLY_MESSAGE] - confirm + You must specify a subject to send a group notice. - fail + @@ -351,6 +368,7 @@ You are about to add group members to the role of [ROLE_NAME]. Members cannot be removed from that role. The members must resign from the role themselves. Are you sure you want to continue? + confirm You are about to drop your attachment. Are you sure you want to continue? + confirm Joining this group costs L$[COST]. Do you wish to proceed? + confirm funds You are joining group [NAME]. Do you wish to proceed? + confirm Joining this group costs L$[COST]. You do not have enough L$ to join this group. + fail funds @@ -459,6 +481,7 @@ Please invite members within 48 hours. fail For L$[COST] you can enter this land ('[PARCEL_NAME]') for [TIME] hours. Buy a pass? funds + confirm Sale price must be set to more than L$0 if selling to anyone. Please select an individual to sell to if selling for L$0. + fail The selected [LAND_SIZE] m² land is being set for sale. Your selling price will be L$[SALE_PRICE] and will be authorized for sale to [NAME]. + confirm confirm confirm confirm confirm confirm confirm Are you sure you want to return all listed objects back to their owner's inventory? + confirm Are you sure you want to disable all objects in this region? + confirm confirm fail confirm You must be standing inside the land parcel to set its Landing Point. + fail Please enter a valid email address for the recipient(s). + fail Please enter your email address. + fail Email snapshot with the default subject or message? + confirm confirm confirm Delete classified '[NAME]'? There is no reimbursement for fees paid. + confirm You have selected to delete the media associated with this face. Are you sure you want to continue? + confirm Save changes to classified [NAME]? + confirm Insufficient funds to create classified. + fail @@ -836,6 +882,7 @@ Insufficient funds to create classified. name="DeleteAvatarPick" type="alertmodal"> Delete pick <nolink>[PICK]</nolink>? + confirm Delete the selected outfit? + confirm Go to the [SECOND_LIFE] events web page? + confirm http://secondlife.com/events/ @@ -873,6 +922,7 @@ Go to the [SECOND_LIFE] events web page? name="SelectProposalToView" type="alertmodal"> Please select a proposal to view. + fail Please select a history item to view. + fail @@ -3495,6 +3633,7 @@ Sorry, you have to wait longer before you can change your display name. See http://wiki.secondlife.com/wiki/Setting_your_display_name Please try again later. + fail fail The display name you wish to set contains invalid characters. + fail Your display name must contain letters other than punctuation. + fail @@ -3533,6 +3675,7 @@ Please try again later. name="OfferTeleport" type="alertmodal"> Offer a teleport to your location with the following message? + confirm
Join me in [REGION] @@ -3554,6 +3697,7 @@ Join me in [REGION] name="OfferTeleportFromGod" type="alertmodal"> God summon Resident to your location? + confirm Join me in [REGION] @@ -3575,6 +3719,7 @@ Join me in [REGION] name="TeleportFromLandmark" type="alertmodal"> Are you sure you want to teleport to <nolink>[LOCATION]</nolink>? + confirm -Teleport to [PICK]? + Teleport to [PICK]? + confirm Teleport to [CLASSIFIED]? + confirm Teleport to [HISTORY_ENTRY]? + confirm Type a short announcement which will be sent to everyone currently in your estate. + confirm - - - - - - - - - - - - - - - -- cgit v1.2.3 From 3c43ec4a9620fcd433efd8eebf5565b4acc47b6a Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 2 Mar 2011 21:04:30 -0800 Subject: SOCIAL-622 FIX Double clicking on mini map in people panel places a red circle that cannot be removed and tooltip references opening world map --- indra/newview/llnetmap.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp index 25f67afd5d..e29078c545 100644 --- a/indra/newview/llnetmap.cpp +++ b/indra/newview/llnetmap.cpp @@ -904,23 +904,29 @@ BOOL LLNetMap::handleClick(S32 x, S32 y, MASK mask) BOOL LLNetMap::handleDoubleClick(S32 x, S32 y, MASK mask) { LLVector3d pos_global = viewPosToGlobal(x, y); - - // If we're not tracking a beacon already, double-click will set one - if (!LLTracker::isTracking(NULL)) + + bool double_click_teleport = gSavedSettings.getBOOL("DoubleClickTeleport"); + bool double_click_show_world_map = gSavedSettings.getBOOL("DoubleClickShowWorldMap"); + + if (double_click_teleport || double_click_show_world_map) { - LLFloaterWorldMap* world_map = LLFloaterWorldMap::getInstance(); - if (world_map) + // If we're not tracking a beacon already, double-click will set one + if (!LLTracker::isTracking(NULL)) { - world_map->trackLocation(pos_global); + LLFloaterWorldMap* world_map = LLFloaterWorldMap::getInstance(); + if (world_map) + { + world_map->trackLocation(pos_global); + } } } - - if (gSavedSettings.getBOOL("DoubleClickTeleport")) + + if (double_click_teleport) { // If DoubleClickTeleport is on, double clicking the minimap will teleport there gAgent.teleportViaLocationLookAt(pos_global); } - else if (gSavedSettings.getBOOL("DoubleClickShowWorldMap")) + else if (double_click_show_world_map) { LLFloaterReg::showInstance("world_map"); } -- cgit v1.2.3 From 92403b4ea1c02d378a1157e8912f1e3976ba3772 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 2 Mar 2011 21:05:03 -0800 Subject: SOCIAL-593 FIX Profile Window cannot be resized in minimal skin floater view snapping rectangle is now driven by floater_snap_region view --- indra/newview/llbottomtray.cpp | 4 ---- indra/newview/llsidetray.cpp | 11 +---------- indra/newview/llviewerwindow.cpp | 1 + indra/newview/skins/default/xui/en/main_view.xml | 7 +++++++ indra/newview/skins/minimal/xui/en/main_view.xml | 7 +++++++ 5 files changed, 16 insertions(+), 14 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 3d61e13f02..5d5ba03615 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -419,10 +419,6 @@ void LLBottomTray::setVisible(BOOL visible) { LLPanel::setVisible(visible); } - if(visible) - gFloaterView->setSnapOffsetBottom(getRect().getHeight()); - else - gFloaterView->setSnapOffsetBottom(0); } S32 LLBottomTray::notifyParent(const LLSD& info) diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index bfdb47dc52..8aaa7f0e13 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -980,16 +980,7 @@ void LLSideTray::reflectCollapseChange() { updateSidetrayVisibility(); - if(mCollapsed) - { - gFloaterView->setSnapOffsetRight(0); - setFocus(FALSE); - } - else - { - gFloaterView->setSnapOffsetRight(getRect().getWidth()); - setFocus(TRUE); - } + setFocus(!mCollapsed); gFloaterView->refresh(); } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d9c51d03f7..093ce9a67c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1616,6 +1616,7 @@ void LLViewerWindow::initBase() // Constrain floaters to inside the menu and status bar regions. gFloaterView = main_view->getChild("Floater View"); + gFloaterView->setFloaterSnapView(main_view->getChild("floater_snap_region")->getHandle()); gSnapshotFloaterView = main_view->getChild("Snapshot Floater View"); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index d9991fcae9..e5ae0b950a 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -80,6 +80,13 @@ user_resize="false" name="hud container" width="500"> + + Date: Wed, 2 Mar 2011 21:29:36 -0800 Subject: SOCIAL-623 FIX World map accessible from classified and picks in web profile in minimal skin --- indra/newview/app_settings/settings.xml | 17 ++++++++++++++--- indra/newview/app_settings/settings_minimal.xml | 22 ++++++++++++++++++++++ indra/newview/llfloaterworldmap.cpp | 6 ++++++ .../newview/skins/default/xui/en/notifications.xml | 14 ++++++++++++++ 4 files changed, 56 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4fbef050ff..a2459890a1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12435,7 +12435,7 @@ EnableClassifieds Comment - Enable creation of new classified ads + Enable creation of new classified ads from web link Persist 1 Type @@ -12446,7 +12446,7 @@ EnableGroupInfo Comment - Enable viewing and editing of group info. + Enable viewing and editing of group info from web link Persist 1 Type @@ -12457,7 +12457,18 @@ EnablePicks Comment - Enable editing of picks + Enable editing of picks from web link + Persist + 1 + Type + Boolean + Value + 1 + + EnableWorldMap + + Comment + Enable opening world map from web link Persist 1 Type diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index cd0fe9e892..d505d59ec9 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -259,6 +259,17 @@ Value 0 + EnableWorldMap + + Comment + Enable opening world map from web link + Persist + 1 + Type + Boolean + Value + 0 + DoubleClickShowWorldMap Comment @@ -270,5 +281,16 @@ Value 0 + EnableGroupChatPopups + + Comment + Enable Incoming Group Chat Popups + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index 017cd2fc49..e6d91a658d 100755 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -110,6 +110,12 @@ public: bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) { + if (!LLUI::sSettingGroups["config"]->getBOOL("EnableWorldMap")) + { + LLNotificationsUtil::add("NoWorldMap", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); + return true; + } + if (params.size() == 0) { // support the secondlife:///app/worldmap SLapp diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index b0aacb67bf..50193a198b 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7126,6 +7126,20 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' notext="Don't Quit"/> + + fail + confirm + Viewing of the world map is only available in Standard mode. Would you like to logout and change modes? + + + - Your CPU speed does not meet the minimum requirements. -- cgit v1.2.3 From 0d9fa286b87c41c4be75c3011f35cb86145d8def Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 2 Mar 2011 23:57:33 -0800 Subject: SOCIAL-595 FIX Global volume control and the volume control on MOAP no longer have any affect --- indra/newview/viewer_manifest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 338c62b9fb..2b43a5767f 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -330,7 +330,7 @@ class WindowsManifest(ViewerManifest): self.end_prefix() # winmm.dll shim - if self.prefix(src='../media_plugins/winmmshim/%s' % self.args['configuration'], dst="llplugin"): + if self.prefix(src='../media_plugins/winmmshim/%s' % self.args['configuration'], dst=""): self.path("winmm.dll") self.end_prefix() -- cgit v1.2.3 From 0247cd6aebd85d578b14778f20866616ef3ab05f Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Thu, 3 Mar 2011 20:49:42 +0200 Subject: STORM-236 FIXED Allow the "Speak" button to be removed, like other buttons. Cumulative diff of changes made by Wolfpup, Richard and me. Description: * Ability to hide the Speak button with the bottom tray context menu. * Made the chat input resize handle visible, so that the feature is easily discoverable. * Applied Richard's fix to layout panel resizing logic. --- indra/newview/llbottomtray.cpp | 58 +++++++++++++++++---- indra/newview/llbottomtray.h | 8 +++ .../default/textures/bottomtray/ChatBarHandle.png | Bin 0 -> 2808 bytes indra/newview/skins/default/textures/textures.xml | 1 + .../skins/default/xui/en/menu_bottomtray.xml | 12 +++++ .../skins/default/xui/en/panel_bottomtray.xml | 35 ++++++++++--- 6 files changed, 97 insertions(+), 17 deletions(-) create mode 100644 indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png (limited to 'indra/newview') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 35e4548483..4bafe70705 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -67,10 +67,14 @@ BOOL LLBottomtrayButton::handleHover(S32 x, S32 y, MASK mask) { if (mCanDrag) { - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - // pass hover to bottomtray - LLBottomTray::getInstance()->onDraggableButtonHover(screenX, screenY); + // pass hover to bottomtray + S32 screenX, screenY; + localPointToScreen(x, y, &screenX, &screenY); + LLBottomTray::getInstance()->onDraggableButtonHover(screenX, screenY); + + // Reset cursor in case you move your mouse from the drag handle to a button. + getWindow()->setCursor(UI_CURSOR_ARROW); + return TRUE; } else @@ -505,6 +509,22 @@ void LLBottomTray::showSnapshotButton(BOOL visible) setTrayButtonVisibleIfPossible(RS_BUTTON_SNAPSHOT, visible); } +void LLBottomTray::showSpeakButton(bool visible) +{ + setTrayButtonVisible(RS_BUTTON_SPEAK, visible); + + // Adjust other panels. + const S32 panel_width = mSpeakPanel->getRect().getWidth(); + if (visible) + { + processWidthDecreased(-panel_width); + } + else + { + processWidthIncreased(panel_width); + } +} + void LLBottomTray::toggleMovementControls() { if (mMovementButton) @@ -698,6 +718,7 @@ void LLBottomTray::updateButtonsOrdersAfterDnD() if (!landing_state_found) landing_state = RS_BUTTON_SPEAK; mButtonsOrder.insert(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), landing_state), dragged_state); } + // Synchronize button process order with their order resize_state_vec_t::const_iterator it1 = mButtonsOrder.begin(); const resize_state_vec_t::const_iterator it_end1 = mButtonsOrder.end(); @@ -774,11 +795,12 @@ void LLBottomTray::loadButtonsOrder() // placing panels in layout stack according to button order which we loaded in previous for for (resize_state_vec_t::const_reverse_iterator it = mButtonsOrder.rbegin(); it != it_end; ++it, ++i) { - LLPanel* panel_to_move = *it == RS_BUTTON_SPEAK ? mSpeakPanel : mStateProcessedObjectMap[*it]; + LLPanel* panel_to_move = getButtonPanel(*it); mToolbarStack->movePanel(panel_to_move, NULL, true); // prepend } // Nearbychat is not stored in order settings file, but it must be the first of the panels, so moving it // manually here + mToolbarStack->movePanel(getChild("chat_bar_resize_handle_panel"), NULL, true); mToolbarStack->movePanel(mChatBarContainer, NULL, true); } @@ -1273,7 +1295,6 @@ void LLBottomTray::processShrinkButtons(S32& required_width, S32& buttons_freed_ // then shrink Speak button if (required_width < 0) { - S32 panel_min_width = 0; std::string panel_name = mSpeakPanel->getName(); bool success = mToolbarStack->getPanelMinSize(panel_name, &panel_min_width); @@ -1521,13 +1542,13 @@ void LLBottomTray::initResizeStateContainers() // ... and add Speak button because it also can be shrunk. mObjectDefaultWidthMap[RS_BUTTON_SPEAK] = mSpeakPanel->getRect().getWidth(); - } // this method must be called before restoring of the chat entry field on startup // because it resets chatbar's width according to resize logic. void LLBottomTray::initButtonsVisibility() { + setVisibleAndFitWidths(RS_BUTTON_SPEAK, gSavedSettings.getBOOL("EnableVoiceChat")); setVisibleAndFitWidths(RS_BUTTON_GESTURES, gSavedSettings.getBOOL("ShowGestureButton")); setVisibleAndFitWidths(RS_BUTTON_MOVEMENT, gSavedSettings.getBOOL("ShowMoveButton")); setVisibleAndFitWidths(RS_BUTTON_CAMERA, gSavedSettings.getBOOL("ShowCameraButton")); @@ -1540,6 +1561,7 @@ void LLBottomTray::initButtonsVisibility() void LLBottomTray::setButtonsControlsAndListeners() { + gSavedSettings.getControl("EnableVoiceChat")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SPEAK, _2)); gSavedSettings.getControl("ShowGestureButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_GESTURES, _2)); gSavedSettings.getControl("ShowMoveButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_MOVEMENT, _2)); gSavedSettings.getControl("ShowCameraButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_CAMERA, _2)); @@ -1568,8 +1590,7 @@ bool LLBottomTray::toggleShowButton(LLBottomTray::EResizeState button_type, cons void LLBottomTray::setTrayButtonVisible(EResizeState shown_object_type, bool visible) { - llassert(mStateProcessedObjectMap[shown_object_type] != NULL); - LLPanel* panel = mStateProcessedObjectMap[shown_object_type]; + LLPanel* panel = getButtonPanel(shown_object_type); if (NULL == panel) { lldebugs << "There is no object to show for state: " << shown_object_type << llendl; @@ -1592,6 +1613,14 @@ void LLBottomTray::setTrayButtonVisibleIfPossible(EResizeState shown_object_type bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible) { + // The Speak button is treated specially: if voice is enabled, + // the button should be displayed no matter how much space we've got. + if (object_type == RS_BUTTON_SPEAK) + { + showSpeakButton(visible); + return true; + } + LLPanel* cur_panel = mStateProcessedObjectMap[object_type]; if (NULL == cur_panel) { @@ -1695,6 +1724,17 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible return is_set; } +LLPanel* LLBottomTray::getButtonPanel(EResizeState button_type) +{ + if (button_type == RS_BUTTON_SPEAK) + { + return mSpeakPanel; + } + + llassert(mStateProcessedObjectMap[button_type] != NULL); + return mStateProcessedObjectMap[button_type]; +} + void LLBottomTray::showWellButton(EResizeState object_type, bool visible) { llassert( ((RS_NOTIFICATION_WELL | RS_IM_WELL) & object_type) == object_type ); diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index dc98170049..32d4968521 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -116,6 +116,7 @@ public: void showMoveButton(BOOL visible); void showCameraButton(BOOL visible); void showSnapshotButton(BOOL visible); + void showSpeakButton(bool visible); void toggleMovementControls(); void toggleCameraControls(); @@ -390,6 +391,11 @@ private: */ bool setVisibleAndFitWidths(EResizeState object_type, bool visible); + /** + * Get panel containing the given button. + */ + LLPanel* getButtonPanel(EResizeState button_type); + /** * Shows/hides panel with specified well button (IM or Notification) * @@ -410,6 +416,7 @@ private: void processChatbarCustomization(S32 new_width); + /// Buttons automatically hidden due to lack of space. MASK mResizeState; typedef std::map state_object_map_t; @@ -424,6 +431,7 @@ private: * Contains order in which child buttons should be processed in show/hide, extend/shrink methods. */ resize_state_vec_t mButtonsProcessOrder; + /** * Contains order in which child buttons are shown. * It traces order of all bottomtray buttons that may change place via drag'n'drop and should diff --git a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png new file mode 100644 index 0000000000..8b58db0cba Binary files /dev/null and b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 7b3cc7bdfa..cec2942b35 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -115,6 +115,7 @@ with the same filename but different name + diff --git a/indra/newview/skins/default/xui/en/menu_bottomtray.xml b/indra/newview/skins/default/xui/en/menu_bottomtray.xml index 5beafef4e4..1b55fa4fd3 100644 --- a/indra/newview/skins/default/xui/en/menu_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/menu_bottomtray.xml @@ -8,6 +8,18 @@ top="624" visible="false" width="128"> + + + + + + width="310" > + + + + user_resize="false" + width="108"> -- cgit v1.2.3 From 7bdf37f00cae9f2e300a7e1d8981ee0b5757c61d Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 3 Mar 2011 14:22:37 -0500 Subject: storm-1037: remove the "hide url" checkboxes in parcel management --- indra/newview/llfloaterauction.cpp | 4 ++-- indra/newview/llpanellandaudio.cpp | 15 ------------ indra/newview/llpanellandmedia.cpp | 27 +--------------------- indra/newview/llpanelnearbymedia.cpp | 22 ++++++++---------- .../skins/default/xui/da/floater_about_land.xml | 2 -- .../skins/default/xui/de/floater_about_land.xml | 2 -- .../skins/default/xui/en/floater_about_land.xml | 19 --------------- .../skins/default/xui/es/floater_about_land.xml | 2 -- .../skins/default/xui/fr/floater_about_land.xml | 2 -- .../skins/default/xui/it/floater_about_land.xml | 2 -- .../skins/default/xui/ja/floater_about_land.xml | 2 -- .../skins/default/xui/nl/floater_about_land.xml | 2 -- .../skins/default/xui/pl/floater_about_land.xml | 2 -- .../skins/default/xui/pt/floater_about_land.xml | 2 -- 14 files changed, 12 insertions(+), 93 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp index 252c7b51ae..c95b046707 100644 --- a/indra/newview/llfloaterauction.cpp +++ b/indra/newview/llfloaterauction.cpp @@ -351,8 +351,8 @@ void LLFloaterAuction::doResetParcel() body["media_height"] = (S32) 0; body["auto_scale"] = (S32) 0; body["media_loop"] = (S32) 0; - body["obscure_media"] = (S32) 0; - body["obscure_music"] = (S32) 0; + body["obscure_media"] = (S32) 0; // OBSOLETE - no longer used + body["obscure_music"] = (S32) 0; // OBSOLETE - no longer used body["media_id"] = LLUUID::null; body["group_id"] = MAINTENANCE_GROUP_ID; // Use maintenance group body["pass_price"] = (S32) 10; // Defaults to $10 diff --git a/indra/newview/llpanellandaudio.cpp b/indra/newview/llpanellandaudio.cpp index 5a943bc61d..f9730d9b71 100644 --- a/indra/newview/llpanellandaudio.cpp +++ b/indra/newview/llpanellandaudio.cpp @@ -91,9 +91,6 @@ BOOL LLPanelLandAudio::postBuild() mMusicURLEdit = getChild("music_url"); childSetCommitCallback("music_url", onCommitAny, this); - mMusicUrlCheck = getChild("hide_music_url"); - childSetCommitCallback("hide_music_url", onCommitAny, this); - return TRUE; } @@ -117,9 +114,6 @@ void LLPanelLandAudio::refresh() mCheckSoundLocal->set( parcel->getSoundLocal() ); mCheckSoundLocal->setEnabled( can_change_media ); - mMusicUrlCheck->set( parcel->getObscureMusic() ); - mMusicUrlCheck->setEnabled( can_change_media ); - bool allow_voice = parcel->getParcelFlagAllowVoice(); LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); @@ -148,13 +142,6 @@ void LLPanelLandAudio::refresh() mCheckParcelEnableVoice->set(allow_voice); mCheckParcelVoiceLocal->set(!parcel->getParcelFlagUseEstateVoiceChannel()); - // don't display urls if you're not able to change it - // much requested change in forums so people can't 'steal' urls - // NOTE: bug#2009 means this is still vunerable - however, bug - // should be closed since this bug opens up major security issues elsewhere. - bool obscure_music = ! can_change_media && parcel->getObscureMusic(); - - mMusicURLEdit->setDrawAsterixes(obscure_music); mMusicURLEdit->setText(parcel->getMusicURL()); mMusicURLEdit->setEnabled( can_change_media ); } @@ -173,7 +160,6 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata) // Extract data from UI BOOL sound_local = self->mCheckSoundLocal->get(); std::string music_url = self->mMusicURLEdit->getText(); - U8 obscure_music = self->mMusicUrlCheck->get(); BOOL voice_enabled = self->mCheckParcelEnableVoice->get(); BOOL voice_estate_chan = !self->mCheckParcelVoiceLocal->get(); @@ -186,7 +172,6 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata) parcel->setParcelFlag(PF_USE_ESTATE_VOICE_CHAN, voice_estate_chan); parcel->setParcelFlag(PF_SOUND_LOCAL, sound_local); parcel->setMusicURL(music_url); - parcel->setObscureMusic(obscure_music); // Send current parcel data upstream to server LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel ); diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp index f17defda55..b3adfac8a2 100644 --- a/indra/newview/llpanellandmedia.cpp +++ b/indra/newview/llpanellandmedia.cpp @@ -68,8 +68,7 @@ LLPanelLandMedia::LLPanelLandMedia(LLParcelSelectionHandle& parcel) mMediaSizeCtrlLabel(NULL), mMediaTextureCtrl(NULL), mMediaAutoScaleCheck(NULL), - mMediaLoopCheck(NULL), - mMediaUrlCheck(NULL) + mMediaLoopCheck(NULL) { } @@ -94,9 +93,6 @@ BOOL LLPanelLandMedia::postBuild() mMediaLoopCheck = getChild("media_loop"); childSetCommitCallback("media_loop", onCommitAny, this ); - mMediaUrlCheck = getChild("hide_media_url"); - childSetCommitCallback("hide_media_url", onCommitAny, this ); - mMediaURLEdit = getChild("media_url"); childSetCommitCallback("media_url", onCommitAny, this ); @@ -153,25 +149,6 @@ void LLPanelLandMedia::refresh() mMediaTypeCombo->setEnabled( can_change_media ); getChild("mime_type")->setValue(mime_type); - mMediaUrlCheck->set( parcel->getObscureMedia() ); - mMediaUrlCheck->setEnabled( can_change_media ); - - // don't display urls if you're not able to change it - // much requested change in forums so people can't 'steal' urls - // NOTE: bug#2009 means this is still vunerable - however, bug - // should be closed since this bug opens up major security issues elsewhere. - bool obscure_media = ! can_change_media && parcel->getObscureMedia(); - - // Special code to disable asterixes for html type - if(mime_type == "text/html") - { - obscure_media = false; - mMediaUrlCheck->set( 0 ); - mMediaUrlCheck->setEnabled( false ); - } - - mMediaURLEdit->setDrawAsterixes( obscure_media ); - mMediaAutoScaleCheck->set( parcel->getMediaAutoScale () ); mMediaAutoScaleCheck->setEnabled ( can_change_media ); @@ -301,7 +278,6 @@ void LLPanelLandMedia::onCommitAny(LLUICtrl*, void *userdata) std::string mime_type = self->getChild("mime_type")->getValue().asString(); U8 media_auto_scale = self->mMediaAutoScaleCheck->get(); U8 media_loop = self->mMediaLoopCheck->get(); - U8 obscure_media = self->mMediaUrlCheck->get(); S32 media_width = (S32)self->mMediaWidthCtrl->get(); S32 media_height = (S32)self->mMediaHeightCtrl->get(); LLUUID media_id = self->mMediaTextureCtrl->getImageAssetID(); @@ -321,7 +297,6 @@ void LLPanelLandMedia::onCommitAny(LLUICtrl*, void *userdata) parcel->setMediaID(media_id); parcel->setMediaAutoScale ( media_auto_scale ); parcel->setMediaLoop ( media_loop ); - parcel->setObscureMedia( obscure_media ); // Send current parcel data upstream to server LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel ); diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp index 14e39f2c48..a7f1ab28fd 100644 --- a/indra/newview/llpanelnearbymedia.cpp +++ b/indra/newview/llpanelnearbymedia.cpp @@ -564,16 +564,14 @@ void LLPanelNearByMedia::refreshParcelItems() if (NULL != mParcelMediaItem) { std::string name, url, tooltip; - if (!LLViewerParcelMgr::getInstance()->getAgentParcel()->getObscureMedia()) + getNameAndUrlHelper(LLViewerParcelMedia::getParcelMedia(), name, url, ""); + if (name.empty() || name == url) { - getNameAndUrlHelper(LLViewerParcelMedia::getParcelMedia(), name, url, ""); - if (name.empty() || name == url) - { - tooltip = url; - } - else { - tooltip = name + " : " + url; - } + tooltip = url; + } + else + { + tooltip = name + " : " + url; } LLViewerMediaImpl *impl = LLViewerParcelMedia::getParcelMedia(); updateListItem(mParcelMediaItem, @@ -611,10 +609,8 @@ void LLPanelNearByMedia::refreshParcelItems() bool is_playing = LLViewerMedia::isParcelAudioPlaying(); std::string url; - if (!LLViewerParcelMgr::getInstance()->getAgentParcel()->getObscureMusic()) - { - url = LLViewerMedia::getParcelAudioURL(); - } + url = LLViewerMedia::getParcelAudioURL(); + updateListItem(mParcelAudioItem, mParcelAudioName, url, diff --git a/indra/newview/skins/default/xui/da/floater_about_land.xml b/indra/newview/skins/default/xui/da/floater_about_land.xml index e80d187335..e78924a1ab 100644 --- a/indra/newview/skins/default/xui/da/floater_about_land.xml +++ b/indra/newview/skins/default/xui/da/floater_about_land.xml @@ -390,7 +390,6 @@ Kun større parceller kan vises i søgning. Hjemmeside: -- cgit v1.2.3 From 211465b77282ec5981f8b052c9ff8d4277a10d5f Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 4 Mar 2011 13:46:57 +0200 Subject: STORM-236 WIP Minor code improvements. - To decrease code duplication: * Added RS_BUTTON_SPEAK to the button->panel mapping (mStateProcessedObjectMap). * Replaces all lookups in mStateProcessedObjectMap with calls to getButtonPanel(). - Added some comments. --- indra/newview/llbottomtray.cpp | 81 +++++++++++++++++++++++++++++------------- indra/newview/llbottomtray.h | 10 ++++++ 2 files changed, 66 insertions(+), 25 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 4bafe70705..7139b0ea0e 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -511,9 +511,10 @@ void LLBottomTray::showSnapshotButton(BOOL visible) void LLBottomTray::showSpeakButton(bool visible) { + // Show/hide the button setTrayButtonVisible(RS_BUTTON_SPEAK, visible); - // Adjust other panels. + // and adjust other panels according to the occupied/freed space. const S32 panel_width = mSpeakPanel->getRect().getWidth(); if (visible) { @@ -687,10 +688,7 @@ void LLBottomTray::updateButtonsOrdersAfterDnD() // (and according to future possible changes in the way button order is saved between sessions). state_object_map_t::const_iterator it = mStateProcessedObjectMap.begin(); state_object_map_t::const_iterator it_end = mStateProcessedObjectMap.end(); - // Speak button is currently the only draggable button not in mStateProcessedObjectMap, - // so if dragged_state is not found in that map, it should be RS_BUTTON_SPEAK. Change this code if any other - // exclusions from mStateProcessedObjectMap will become draggable. - EResizeState dragged_state = RS_BUTTON_SPEAK; + EResizeState dragged_state = RS_NORESIZE; EResizeState landing_state = RS_NORESIZE; bool landing_state_found = false; // Find states for dragged item and landing tab @@ -706,7 +704,17 @@ void LLBottomTray::updateButtonsOrdersAfterDnD() landing_state_found = true; } } - + + if (dragged_state == RS_NORESIZE) + { + llwarns << "Cannot determine what button is being dragged" << llendl; + llassert(dragged_state != RS_NORESIZE); + return; + } + + lldebugs << "Will place " << resizeStateToString(dragged_state) + << " before " << resizeStateToString(landing_state) << llendl; + // Update order of buttons according to drag'n'drop mButtonsOrder.erase(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), dragged_state)); if (!landing_state_found && mLandingTab == getChild(PANEL_CHICLET_NAME)) @@ -715,7 +723,7 @@ void LLBottomTray::updateButtonsOrdersAfterDnD() } else { - if (!landing_state_found) landing_state = RS_BUTTON_SPEAK; + if (!landing_state_found) landing_state = RS_BUTTON_SPEAK; // just a random fallback mButtonsOrder.insert(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), landing_state), dragged_state); } @@ -799,7 +807,7 @@ void LLBottomTray::loadButtonsOrder() mToolbarStack->movePanel(panel_to_move, NULL, true); // prepend } // Nearbychat is not stored in order settings file, but it must be the first of the panels, so moving it - // manually here + // (along with its drag handle) manually here. mToolbarStack->movePanel(getChild("chat_bar_resize_handle_panel"), NULL, true); mToolbarStack->movePanel(mChatBarContainer, NULL, true); } @@ -1200,9 +1208,8 @@ void LLBottomTray::processShowButtons(S32& available_width) bool LLBottomTray::processShowButton(EResizeState shown_object_type, S32& available_width) { lldebugs << "Trying to show object type: " << shown_object_type << llendl; - llassert(mStateProcessedObjectMap[shown_object_type] != NULL); - LLPanel* panel = mStateProcessedObjectMap[shown_object_type]; + LLPanel* panel = getButtonPanel(shown_object_type); if (NULL == panel) { lldebugs << "There is no object to process for state: " << shown_object_type << llendl; @@ -1248,9 +1255,7 @@ void LLBottomTray::processHideButtons(S32& required_width, S32& buttons_freed_wi void LLBottomTray::processHideButton(EResizeState processed_object_type, S32& required_width, S32& buttons_freed_width) { lldebugs << "Trying to hide object type: " << processed_object_type << llendl; - llassert(mStateProcessedObjectMap[processed_object_type] != NULL); - - LLPanel* panel = mStateProcessedObjectMap[processed_object_type]; + LLPanel* panel = getButtonPanel(processed_object_type); if (NULL == panel) { lldebugs << "There is no object to process for state: " << processed_object_type << llendl; @@ -1330,8 +1335,7 @@ void LLBottomTray::processShrinkButtons(S32& required_width, S32& buttons_freed_ void LLBottomTray::processShrinkButton(EResizeState processed_object_type, S32& required_width) { - llassert(mStateProcessedObjectMap[processed_object_type] != NULL); - LLPanel* panel = mStateProcessedObjectMap[processed_object_type]; + LLPanel* panel = getButtonPanel(processed_object_type); if (NULL == panel) { lldebugs << "There is no object to process for type: " << processed_object_type << llendl; @@ -1432,8 +1436,7 @@ void LLBottomTray::processExtendButtons(S32& available_width) void LLBottomTray::processExtendButton(EResizeState processed_object_type, S32& available_width) { - llassert(mStateProcessedObjectMap[processed_object_type] != NULL); - LLPanel* panel = mStateProcessedObjectMap[processed_object_type]; + LLPanel* panel = getButtonPanel(processed_object_type); if (NULL == panel) { lldebugs << "There is no object to process for type: " << processed_object_type << llendl; @@ -1501,6 +1504,7 @@ bool LLBottomTray::canButtonBeShown(EResizeState processed_object_type) const void LLBottomTray::initResizeStateContainers() { // init map with objects should be processed for each type + mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPEAK, getChild("speak_panel"))); mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_GESTURES, getChild("gesture_panel"))); mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_MOVEMENT, getChild("movement_panel"))); mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_CAMERA, getChild("cam_panel"))); @@ -1533,11 +1537,11 @@ void LLBottomTray::initResizeStateContainers() { const EResizeState button_type = *it; // is there an appropriate object? - llassert(mStateProcessedObjectMap.count(button_type) > 0); - if (0 == mStateProcessedObjectMap.count(button_type)) continue; + LLPanel* button_panel = getButtonPanel(button_type); + if (!button_panel) continue; // set default width for it. - mObjectDefaultWidthMap[button_type] = mStateProcessedObjectMap[button_type]->getRect().getWidth(); + mObjectDefaultWidthMap[button_type] = button_panel->getRect().getWidth(); } // ... and add Speak button because it also can be shrunk. @@ -1621,7 +1625,7 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible return true; } - LLPanel* cur_panel = mStateProcessedObjectMap[object_type]; + LLPanel* cur_panel = getButtonPanel(object_type); if (NULL == cur_panel) { lldebugs << "There is no object to process for state: " << object_type << llendl; @@ -1666,7 +1670,7 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible for (; it != it_end; ++it) { - LLPanel * cur_panel = mStateProcessedObjectMap[*it]; + LLPanel* cur_panel = getButtonPanel(*it); sum_of_min_widths += get_panel_min_width(mToolbarStack, cur_panel); sum_of_curr_widths += get_curr_width(cur_panel); } @@ -1726,12 +1730,14 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible LLPanel* LLBottomTray::getButtonPanel(EResizeState button_type) { - if (button_type == RS_BUTTON_SPEAK) + // Don't use the operator[] because it inserts a NULL value if the key is not found. + if (mStateProcessedObjectMap.count(button_type) == 0) { - return mSpeakPanel; + llwarns << "Cannot find a panel for " << resizeStateToString(button_type) << llendl; + llassert(mStateProcessedObjectMap.count(button_type) == 1); + return NULL; } - llassert(mStateProcessedObjectMap[button_type] != NULL); return mStateProcessedObjectMap[button_type]; } @@ -1792,4 +1798,29 @@ void LLBottomTray::processChatbarCustomization(S32 new_width) } } +// static +std::string LLBottomTray::resizeStateToString(EResizeState state) +{ + switch (state) + { + case RS_NORESIZE: return "RS_NORESIZE"; + case RS_CHICLET_PANEL: return "RS_CHICLET_PANEL"; + case RS_CHATBAR_INPUT: return "RS_CHATBAR_INPUT"; + case RS_BUTTON_SNAPSHOT: return "RS_BUTTON_SNAPSHOT"; + case RS_BUTTON_CAMERA: return "RS_BUTTON_CAMERA"; + case RS_BUTTON_MOVEMENT: return "RS_BUTTON_MOVEMENT"; + case RS_BUTTON_GESTURES: return "RS_BUTTON_GESTURES"; + case RS_BUTTON_SPEAK: return "RS_BUTTON_SPEAK"; + case RS_IM_WELL: return "RS_IM_WELL"; + case RS_NOTIFICATION_WELL: return "RS_NOTIFICATION_WELL"; + case RS_BUTTON_BUILD: return "RS_BUTTON_BUILD"; + case RS_BUTTON_SEARCH: return "RS_BUTTON_SEARCH"; + case RS_BUTTON_WORLD_MAP: return "RS_BUTTON_WORLD_MAP"; + case RS_BUTTON_MINI_MAP: return "RS_BUTTON_MINI_MAP"; + case RS_BUTTONS_CAN_BE_HIDDEN: return "RS_BUTTONS_CAN_BE_HIDDEN"; + // No default to track additions. + } + return "UNKNOWN_BUTTON"; +} + //EOF diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 32d4968521..76d80b8e0b 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -393,6 +393,8 @@ private: /** * Get panel containing the given button. + * + * @see mStateProcessedObjectMap */ LLPanel* getButtonPanel(EResizeState button_type); @@ -415,13 +417,21 @@ private: */ void processChatbarCustomization(S32 new_width); + /// Get button name for debugging. + static std::string resizeStateToString(EResizeState state); /// Buttons automatically hidden due to lack of space. MASK mResizeState; + /** + * Mapping of button types to the layout panels the buttons are wrapped in. + * + * Used by getButtonPanel(). + */ typedef std::map state_object_map_t; state_object_map_t mStateProcessedObjectMap; + /// Default (maximum) widths of the layout panels. typedef std::map state_object_width_map_t; state_object_width_map_t mObjectDefaultWidthMap; -- cgit v1.2.3 From 4d8244573c6e71b5780574432c68fd22847daee5 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Fri, 4 Mar 2011 08:46:45 -0500 Subject: STORM-1040 Text that shows what Beacons you are viewing is always in English --- indra/newview/llviewerwindow.cpp | 19 +++++++++++++------ indra/newview/skins/default/xui/en/strings.xml | 9 +++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 0028ced6c8..95acb5f922 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -316,6 +316,13 @@ public: std::string rwind_vector_text; std::string audio_text; + static const std::string beacon_particle = LLTrans::getString("BeaconParticle"); + static const std::string beacon_physical = LLTrans::getString("BeaconPhysical"); + static const std::string beacon_scripted = LLTrans::getString("BeaconScripted"); + static const std::string beacon_scripted_touch = LLTrans::getString("BeaconScriptedTouch"); + static const std::string beacon_sound = LLTrans::getString("BeaconSound"); + static const std::string particle_hiding = LLTrans::getString("ParticleHiding"); + // Draw the statistics in a light gray // and in a thin font mTextColor = LLColor4( 0.86f, 0.86f, 0.86f, 1.f ); @@ -566,33 +573,33 @@ public: { if (LLPipeline::getRenderParticleBeacons(NULL)) { - addText(xpos, ypos, "Viewing particle beacons (blue)"); + addText(xpos, ypos, beacon_particle); ypos += y_inc; } if (LLPipeline::toggleRenderTypeControlNegated((void*)LLPipeline::RENDER_TYPE_PARTICLES)) { - addText(xpos, ypos, "Hiding particles"); + addText(xpos, ypos, particle_hiding); ypos += y_inc; } if (LLPipeline::getRenderPhysicalBeacons(NULL)) { - addText(xpos, ypos, "Viewing physical object beacons (green)"); + addText(xpos, ypos, beacon_physical); ypos += y_inc; } if (LLPipeline::getRenderScriptedBeacons(NULL)) { - addText(xpos, ypos, "Viewing scripted object beacons (red)"); + addText(xpos, ypos, beacon_scripted); ypos += y_inc; } else if (LLPipeline::getRenderScriptedTouchBeacons(NULL)) { - addText(xpos, ypos, "Viewing scripted object with touch function beacons (red)"); + addText(xpos, ypos, beacon_scripted_touch); ypos += y_inc; } if (LLPipeline::getRenderSoundBeacons(NULL)) { - addText(xpos, ypos, "Viewing sound beacons (yellow)"); + addText(xpos, ypos, beacon_sound); ypos += y_inc; } } diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 70a40960a1..be5a38b5f5 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3425,4 +3425,13 @@ Abuse Report Z + + Viewing particle beacons (blue) + Viewing physical object beacons (green) + Viewing scripted object beacons (red) + Viewing scripted object with touch function beacons (red) + Viewing sound beacons (yellow) + Viewing media beacons (white) + Hiding Particles + -- cgit v1.2.3 From ecb693e825339bd69d7b8b531e68fbadce684a07 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Fri, 4 Mar 2011 11:35:50 -0500 Subject: STORM-1040 Added code for media beacons, which are coming in Storm-1019 --- indra/newview/llviewerwindow.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 95acb5f922..62944a22e7 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -321,6 +321,7 @@ public: static const std::string beacon_scripted = LLTrans::getString("BeaconScripted"); static const std::string beacon_scripted_touch = LLTrans::getString("BeaconScriptedTouch"); static const std::string beacon_sound = LLTrans::getString("BeaconSound"); + static const std::string beacon_media = LLTrans::getString("BeaconMedia"); static const std::string particle_hiding = LLTrans::getString("ParticleHiding"); // Draw the statistics in a light gray -- cgit v1.2.3 From 176b025a26e11fa9133a4a4c9fbc2cfa4f7cf616 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 4 Mar 2011 19:10:54 +0200 Subject: STORM-236 WIP Additional fixes. Fixed: * Wrong ability to place a button between the chat input and the drag handle (thanks Wolfpup!). * Broken drag-n-drop cursors. --- indra/newview/llbottomtray.cpp | 15 +++++++++++---- indra/newview/llbottomtray.h | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 7139b0ea0e..d8ec4b605c 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -72,9 +72,6 @@ BOOL LLBottomtrayButton::handleHover(S32 x, S32 y, MASK mask) localPointToScreen(x, y, &screenX, &screenY); LLBottomTray::getInstance()->onDraggableButtonHover(screenX, screenY); - // Reset cursor in case you move your mouse from the drag handle to a button. - getWindow()->setCursor(UI_CURSOR_ARROW); - return TRUE; } else @@ -204,6 +201,7 @@ LLBottomTray::LLBottomTray(const LLSD&) mSpeakBtn(NULL), mNearbyChatBar(NULL), mChatBarContainer(NULL), + mNearbyCharResizeHandlePanel(NULL), mToolbarStack(NULL), mMovementButton(NULL), mResizeState(RS_NORESIZE), @@ -554,6 +552,7 @@ BOOL LLBottomTray::postBuild() LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); mChatBarContainer = getChild("chat_bar_layout_panel"); + mNearbyCharResizeHandlePanel = getChild("chat_bar_resize_handle_panel"); mToolbarStack = getChild("toolbar_stack"); mMovementButton = getChild("movement_btn"); @@ -672,12 +671,20 @@ void LLBottomTray::onDraggableButtonHover(S32 x, S32 y) gViewerWindow->getWindow()->setCursor(UI_CURSOR_NO); } } + else + { + // Reset cursor in case you move your mouse from the drag handle to a button. + getWindow()->setCursor(UI_CURSOR_ARROW); + + } } bool LLBottomTray::isCursorOverDraggableArea(S32 x, S32 y) { + // Draggable area lasts from the nearby chat input resize handle + // to the chiclet area (exlusively). bool result = getRect().pointInRect(x, y); - result = result && mNearbyChatBar->calcScreenRect().mRight < x; + result = result && mNearbyCharResizeHandlePanel->calcScreenRect().mRight < x; result = result && mChicletPanel->calcScreenRect().mRight > x; return result; } diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 76d80b8e0b..04e5f5e9e0 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -469,6 +469,7 @@ protected: LLSpeakButton* mSpeakBtn; LLNearbyChatBar* mNearbyChatBar; LLLayoutPanel* mChatBarContainer; + LLPanel* mNearbyCharResizeHandlePanel; LLLayoutStack* mToolbarStack; LLMenuGL* mBottomTrayContextMenu; LLButton* mCamButton; -- cgit v1.2.3 From c077250ff16aeaf0ec4c036154a427c677e85eb3 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 4 Mar 2011 19:26:07 +0200 Subject: STORM-1016 FIXED Crash after pressing ctrl-shift-w while there is an undocked sidepanel. Reason: The shortcut closes all floaters, including those wrapping undocked sidepanels. The sidepanels get destroyed as well, while they are still referenced by the side tray. Fix: Dock (i.e. move to side tray) the sidepanel before its floater gets destroyed. --- indra/newview/llsidetray.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index eb537c7d7b..6267242e28 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -96,6 +96,7 @@ bool LLSideTray::instanceCreated () class LLSideTrayTab: public LLPanel { + LOG_CLASS(LLSideTrayTab); friend class LLUICtrlFactory; friend class LLSideTray; public: @@ -122,6 +123,8 @@ protected: void undock(LLFloater* floater_tab); LLSideTray* getSideTray(); + + void onFloaterClose(LLSD::Boolean app_quitting); public: virtual ~LLSideTrayTab(); @@ -140,6 +143,8 @@ public: void onOpen (const LLSD& key); void toggleTabDocked(); + void setDocked(bool dock); + bool isDocked() const; BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); @@ -151,6 +156,7 @@ private: std::string mDescription; LLView* mMainPanel; + boost::signals2::connection mFloaterCloseConn; }; LLSideTrayTab::LLSideTrayTab(const Params& p) @@ -271,6 +277,35 @@ void LLSideTrayTab::toggleTabDocked() LLFloaterReg::toggleInstance("side_bar_tab", tab_name); } +// Same as toggleTabDocked() apart from making sure that we do exactly what we want. +void LLSideTrayTab::setDocked(bool dock) +{ + if (isDocked() == dock) + { + llwarns << "Tab " << getName() << " is already " << (dock ? "docked" : "undocked") << llendl; + return; + } + + toggleTabDocked(); +} + +bool LLSideTrayTab::isDocked() const +{ + return dynamic_cast(getParent()) != NULL; +} + +void LLSideTrayTab::onFloaterClose(LLSD::Boolean app_quitting) +{ + // If user presses Ctrl-Shift-W, handle that gracefully by docking all + // undocked tabs before their floaters get destroyed (STORM-1016). + + // Don't dock on quit for the current dock state to be correctly saved. + if (app_quitting) return; + + lldebugs << "Forcibly docking tab " << getName() << llendl; + setDocked(true); +} + BOOL LLSideTrayTab::handleScrollWheel(S32 x, S32 y, S32 clicks) { // Let children handle the event @@ -294,6 +329,7 @@ void LLSideTrayTab::dock(LLFloater* floater_tab) return; } + mFloaterCloseConn.disconnect(); setRect(side_tray->getLocalRect()); reshape(getRect().getWidth(), getRect().getHeight()); @@ -342,6 +378,7 @@ void LLSideTrayTab::undock(LLFloater* floater_tab) } floater_tab->addChild(this); + mFloaterCloseConn = floater_tab->setCloseCallback(boost::bind(&LLSideTrayTab::onFloaterClose, this, _2)); floater_tab->setTitle(mTabTitle); floater_tab->setName(getName()); -- cgit v1.2.3 From 0aaa829b477ed5953bd6783f38112c35154bacc9 Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 4 Mar 2011 15:34:27 -0800 Subject: SOCIAL-510 FIX (#2) SL Profile Pages Seem to be Ignoring Assets (New version of LLQtWebKit and now load CA.pem) See also SOCIAL-569 [VWR-24426] SSL Handshake Failed Error when accessing web-based content on development viewers using recent Webkit 4.7 --- indra/newview/llviewermedia.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index b0da5056f7..78ed35c29a 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -59,6 +59,7 @@ #include "lluuid.h" #include "llkeyboard.h" #include "llmutelist.h" +#include "llappviewer.h" //#include "llfirstuse.h" #include "llwindow.h" @@ -1833,10 +1834,26 @@ bool LLViewerMediaImpl::initializePlugin(const std::string& media_type) media_source->ignore_ssl_cert_errors(true); } - // the correct way to deal with certs it to load ours from CA.pem and append them to the ones - // Qt/WebKit loads from your system location. + + // HACK: This is absurd but it'll do for now until we can + // find out what's wrong with Qt SSL certs +#if (defined(LL_WINDOWS) ) + // Always do this for Windows platforms std::string ca_path = gDirUtilp->getExpandedFilename( LL_PATH_APP_SETTINGS, "CA.pem" ); media_source->addCertificateFilePath( ca_path ); +#elif (defined(LL_DARWIN) ) + // get Mac OS X version numbers + S32 os_major_version = LLAppViewer::instance()->getOSInfo().mMajorVer; + S32 os_minor_version = LLAppViewer::instance()->getOSInfo().mMinorVer; + llinfos << "OS version is " << os_major_version << " --- " << os_minor_version << llendl; + + // Only do this for Leopard (10.5.x) - not Snow Leopard (10.6.x) + if ( os_major_version == 5 ) + { + std::string ca_path = gDirUtilp->getExpandedFilename( LL_PATH_APP_SETTINGS, "CA.pem" ); + media_source->addCertificateFilePath( ca_path ); + } +#endif media_source->proxy_setup(gSavedSettings.getBOOL("BrowserProxyEnabled"), gSavedSettings.getString("BrowserProxyAddress"), gSavedSettings.getS32("BrowserProxyPort")); -- cgit v1.2.3 From cd01bdfffdac92ae7b6098668e187d22b7d823f0 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Fri, 4 Mar 2011 15:57:54 -0800 Subject: SOCIAL-643 As a user, I would like to be able to browse and purchase from the marketplace from within the viewer by logging in only once, and with no appreciable delay --- indra/newview/llviewermedia.cpp | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index b0da5056f7..82c5b8240e 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -59,6 +59,7 @@ #include "lluuid.h" #include "llkeyboard.h" #include "llmutelist.h" +#include "llpanelprofile.h" //#include "llfirstuse.h" #include "llwindow.h" @@ -292,6 +293,43 @@ public: }; +class LLViewerMediaWebProfileResponder : public LLHTTPClient::Responder +{ +LOG_CLASS(LLViewerMediaWebProfileResponder); +public: + LLViewerMediaWebProfileResponder(std::string host) + { + mHost = host; + } + + ~LLViewerMediaWebProfileResponder() + { + } + + /* virtual */ void completedHeader(U32 status, const std::string& reason, const LLSD& content) + { + LL_WARNS("MediaAuth") << "status = " << status << ", reason = " << reason << LL_ENDL; + LL_WARNS("MediaAuth") << content << LL_ENDL; + + std::string cookie = content["set-cookie"].asString(); + + LLViewerMedia::getCookieStore()->setCookiesFromHost(cookie, mHost); + } + + void completedRaw( + U32 status, + const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer) + { + // This is just here to disable the default behavior (attempting to parse the response as llsd). + // We don't care about the content of the response, only the set-cookie header. + } + + std::string mHost; +}; + + LLPluginCookieStore *LLViewerMedia::sCookieStore = NULL; LLURL LLViewerMedia::sOpenIDURL; std::string LLViewerMedia::sOpenIDCookie; @@ -1351,6 +1389,19 @@ void LLViewerMedia::setOpenIDCookie() // *HACK: Doing this here is nasty, find a better way. LLWebSharing::instance().setOpenIDCookie(sOpenIDCookie); + + // Do a web profile get so we can store the cookie + LLSD headers = LLSD::emptyMap(); + headers["Accept"] = "*/*"; + headers["Cookie"] = sOpenIDCookie; + headers["User-Agent"] = getCurrentUserAgent(); + + std::string profile_url = getProfileURL(""); + LLURL raw_profile_url( profile_url.c_str() ); + + LLHTTPClient::get(profile_url, + new LLViewerMediaWebProfileResponder(raw_profile_url.getAuthority()), + headers); } } -- cgit v1.2.3 From 22c75fb3850234588da6cf043b98a450cede3c91 Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 4 Mar 2011 17:05:29 -0800 Subject: SOCIAL-510 FIX (#3) SL Profile Pages Seem to be Ignoring Assets (New CA.pem with Equifax cert in it) See also SOCIAL-569 [VWR-24426] SSL Handshake Failed Error when accessing web-based content on development viewers using recent Webkit 4.7 --- indra/newview/app_settings/CA.pem | 19 +++++++++++++++++++ indra/newview/llviewermedia.cpp | 26 ++++++-------------------- 2 files changed, 25 insertions(+), 20 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/CA.pem b/indra/newview/app_settings/CA.pem index 11825bf906..7cebbf48b2 100644 --- a/indra/newview/app_settings/CA.pem +++ b/indra/newview/app_settings/CA.pem @@ -3895,3 +3895,22 @@ xA39CIJ65Zozs28Eg1aV9/Y+Of7TnWhW+U3J3/wD/GghaAGiKK6vMn9gJBIdBX/9 e6ef37VGyiOEFFjnUIbuk0RWty0orN76q/lI/xjCi15XSA/VSq2j4vmnwfZcPTDu glmQ1A== -----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV +UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy +dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 +MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx +dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f +BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A +cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC +AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ +MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm +aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw +ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj +IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF +MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA +A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y +7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh +1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 +-----END CERTIFICATE----- diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 78ed35c29a..f775337fac 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1834,26 +1834,12 @@ bool LLViewerMediaImpl::initializePlugin(const std::string& media_type) media_source->ignore_ssl_cert_errors(true); } - - // HACK: This is absurd but it'll do for now until we can - // find out what's wrong with Qt SSL certs -#if (defined(LL_WINDOWS) ) - // Always do this for Windows platforms - std::string ca_path = gDirUtilp->getExpandedFilename( LL_PATH_APP_SETTINGS, "CA.pem" ); - media_source->addCertificateFilePath( ca_path ); -#elif (defined(LL_DARWIN) ) - // get Mac OS X version numbers - S32 os_major_version = LLAppViewer::instance()->getOSInfo().mMajorVer; - S32 os_minor_version = LLAppViewer::instance()->getOSInfo().mMinorVer; - llinfos << "OS version is " << os_major_version << " --- " << os_minor_version << llendl; - - // Only do this for Leopard (10.5.x) - not Snow Leopard (10.6.x) - if ( os_major_version == 5 ) - { - std::string ca_path = gDirUtilp->getExpandedFilename( LL_PATH_APP_SETTINGS, "CA.pem" ); - media_source->addCertificateFilePath( ca_path ); - } -#endif + // the correct way to deal with certs it to load ours from CA.pem and append them to the ones + // Qt/WebKit loads from your system location. + // Note: This needs the new CA.pem file with the Equifax Secure Certificate Authority + // cert at the bottom: (MIIDIDCCAomgAwIBAgIENd70zzANBg) + std::string ca_path = gDirUtilp->getExpandedFilename( LL_PATH_APP_SETTINGS, "CA.pem" ); + media_source->addCertificateFilePath( ca_path ); media_source->proxy_setup(gSavedSettings.getBOOL("BrowserProxyEnabled"), gSavedSettings.getString("BrowserProxyAddress"), gSavedSettings.getS32("BrowserProxyPort")); -- cgit v1.2.3 From 6613aebf8802555a47e278d68eef5336763d7d87 Mon Sep 17 00:00:00 2001 From: leyla Date: Mon, 7 Mar 2011 09:47:13 -0800 Subject: SOC-604 Make View contents in minimal skin match Standard skin (Viewer 2) --- .../skins/minimal/xui/en/floater_camera.xml | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/floater_camera.xml b/indra/newview/skins/minimal/xui/en/floater_camera.xml index 62276199e5..76d1b97cab 100644 --- a/indra/newview/skins/minimal/xui/en/floater_camera.xml +++ b/indra/newview/skins/minimal/xui/en/floater_camera.xml @@ -253,5 +253,44 @@ top_pad="0" name="buttons" width="226"> + + + -- cgit v1.2.3 From c18252451306817ac4a07c823ef615c46edc7e85 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 7 Mar 2011 13:55:33 -0800 Subject: updated list of visible notifications to spec --- .../newview/skins/default/xui/en/notifications.xml | 42 +++++++++++++++++++--- .../minimal/xui/en/notification_visibility.xml | 36 +++++++++---------- 2 files changed, 55 insertions(+), 23 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 50193a198b..c453a8d2c7 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -329,7 +329,8 @@ Do you want to revoke modify rights for the selected Residents? type="alertmodal"> Unable to create group. [MESSAGE] -fail + group + fail @@ -341,7 +342,8 @@ Unable to create group. type="alertmodal"> [NEEDS_APPLY_MESSAGE] [WANT_APPLY_MESSAGE] -confirm + confirm + group You must specify a subject to send a group notice. -fail + group + fail @@ -368,6 +371,7 @@ You are about to add group members to the role of [ROLE_NAME]. Members cannot be removed from that role. The members must resign from the role themselves. Are you sure you want to continue? + group confirm confirm funds + group You are joining group [NAME]. Do you wish to proceed? + group confirm Joining this group costs L$[COST]. You do not have enough L$ to join this group. + group fail funds @@ -466,6 +473,7 @@ You do not have enough L$ to join this group. Creating this group will cost L$100. Groups need more than one member, or they are deleted forever. Please invite members within 48 hours. + group funds confirm + group confirm + group You ejected [AVATAR_NAME] from group [GROUP_NAME] + group Unable to deed land: No Group selected. + group fail @@ -2233,6 +2245,7 @@ Darn. You have been logged out of [SECOND_LIFE] type="alertmodal"> Unable to buy land for the group: You do not have permission to buy land for your active group. + group fail @@ -2600,6 +2613,7 @@ By deeding this parcel, the group will be required to have and maintain sufficie The purchase price of the land is not refunded to the owner. If a deeded parcel is sold, the sale price will be divided evenly among group members. Deed this [AREA] m² of land to the group '[GROUP_NAME]'? + group confirm group confirm You can only have [MAX_GROUPS] Allowed Groups. + group Deeding this object will cause the group to: * Receive L$ paid into the object + group confirm You are currently a member of the group [GROUP]. Leave Group? + group confirm You have reached your maximum number of groups. Please leave another group before joining this one, or decline the offer. [NAME] has invited you to join a group as a member. + group fail You have reached your maximum number of groups. Please leave some group before joining or creating a new one. + group fail Add to group allowed list for this estate only or for [ALL_ESTATES]? + group confirm Remove from group allowed list for this estate only or [ALL_ESTATES]? + group confirm Does this group contain Moderate content? + group confirm Topic: [SUBJECT], Message: [MESSAGE] + group group + group [MESSAGE] + + -- cgit v1.2.3 From 47b77c7f7a777ae533863c3c7b4f68d518117c32 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 8 Mar 2011 11:17:34 -0800 Subject: updated list of visible notifications to spec --- indra/newview/skins/minimal/xui/en/notification_visibility.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/en/notification_visibility.xml b/indra/newview/skins/minimal/xui/en/notification_visibility.xml index e05430636c..631cf5d42c 100644 --- a/indra/newview/skins/minimal/xui/en/notification_visibility.xml +++ b/indra/newview/skins/minimal/xui/en/notification_visibility.xml @@ -11,7 +11,7 @@ - + -- cgit v1.2.3 From 3732ac46e691f27d181c07b7c511c3c433f9c665 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 8 Mar 2011 12:18:57 -0800 Subject: SOCIAL-647 FIX Gear menu for your own avatar is empty in mini-inspector in minimal s --- .../default/xui/en/menu_inspect_self_gear.xml | 242 ++++++++++++++++++--- .../minimal/xui/en/menu_inspect_self_gear.xml | 219 ++++++++++++++++++- 2 files changed, 432 insertions(+), 29 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml index 50ad3f834e..81b88cfd54 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml @@ -1,66 +1,252 @@ - + + layout="topleft" + name="Self Pie"> + layout="topleft" + name="Sit Down Here"> - + layout="topleft" + name="Stand Up"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + label="Change Outfit" + layout="topleft" + name="Chenge Outfit"> - + + function="EditOutfit" /> + + + + + + label="My Friends" + layout="topleft" + name="Friends..."> + function="SideTray.PanelPeopleTab" + parameter="friends_panel" /> + layout="topleft" + name="Groups..."> + label="My Profile" + layout="topleft" + name="Profile..."> + + + - + diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml index 28c4762eaa..be51e3e664 100644 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml @@ -1,2 +1,219 @@  - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From f9d70c41c9b7e7c0bb1cca184e6b5e99fc75a656 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 8 Mar 2011 12:42:15 -0800 Subject: SOCIAL-652 FIX Decline notification shown to users in minimal skin when they click on free one click objects --- indra/newview/app_settings/settings.xml | 13 ++++++++++++- indra/newview/app_settings/settings_minimal.xml | 11 +++++++++++ indra/newview/llviewermessage.cpp | 9 ++++++--- 3 files changed, 29 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 3dedf0ddd7..a8e9ca3cc9 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12487,5 +12487,16 @@ Value 1 - + LogInventoryDecline + + Comment + Log in system chat whenever an inventory offer is declined + Persist + 1 + Type + Boolean + Value + 1 + + diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 6e0053a3a3..e676f41250 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -325,5 +325,16 @@ Value http://lecs-static-secondlife-com.s3.amazonaws.com/viewer/agni/avatars.html + LogInventoryDecline + + Comment + Log in system chat whenever an inventory offer is declined + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 103989ee80..c2449907ac 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1715,15 +1715,18 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const msg->addBinaryDataFast(_PREHASH_BinaryBucket, EMPTY_BINARY_BUCKET, EMPTY_BINARY_BUCKET_SIZE); // send the message msg->sendReliable(mHost); + + if (gSavedSettings.getBOOL("LogInventoryDecline")) { LLStringUtil::format_map_t log_message_args; log_message_args["DESC"] = mDesc; log_message_args["NAME"] = mFromName; log_message = LLTrans::getString("InvOfferDecline", log_message_args); + + LLSD args; + args["MESSAGE"] = log_message; + LLNotificationsUtil::add("SystemMessage", args); } - LLSD args; - args["MESSAGE"] = log_message; - LLNotificationsUtil::add("SystemMessage", args); if (busy && (!mFromGroup && !mFromObject)) { -- cgit v1.2.3 From 9f765cdb1302e1aa3b06c8203c9f4851fb3e97e3 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Tue, 8 Mar 2011 14:20:14 -0700 Subject: fix for STORM-1052: crash at LLVOCacheEntry::~LLVOCacheEntry() line 138 --- indra/newview/llvocache.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index a933500706..b888a263d0 100644 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -71,6 +71,7 @@ LLVOCacheEntry::LLVOCacheEntry() } LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file) + : mBuffer(NULL) { S32 size = -1; BOOL success; @@ -135,7 +136,10 @@ LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file) LLVOCacheEntry::~LLVOCacheEntry() { - delete [] mBuffer; + if(mBuffer) + { + delete[] mBuffer; + } } -- cgit v1.2.3 From d4c0c81c725c749d734935dbb7fa3af05bf8e02c Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Tue, 8 Mar 2011 14:20:14 -0700 Subject: fix for STORM-1052: crash at LLVOCacheEntry::~LLVOCacheEntry() line 138 --- indra/newview/llvocache.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index a933500706..b888a263d0 100644 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -71,6 +71,7 @@ LLVOCacheEntry::LLVOCacheEntry() } LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file) + : mBuffer(NULL) { S32 size = -1; BOOL success; @@ -135,7 +136,10 @@ LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file) LLVOCacheEntry::~LLVOCacheEntry() { - delete [] mBuffer; + if(mBuffer) + { + delete[] mBuffer; + } } -- cgit v1.2.3 From 55694cb241a4970b4ba560eae5642314a1308d56 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Tue, 8 Mar 2011 14:59:40 -0700 Subject: fix for STORM-1053: crash at LLTextureCache::writeToCache --- indra/newview/llappviewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index a23f809b71..327a5ad698 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1677,8 +1677,8 @@ bool LLAppViewer::cleanup() // Delete workers first // shotdown all worker threads before deleting them in case of co-dependencies - sTextureCache->shutdown(); sTextureFetch->shutdown(); + sTextureCache->shutdown(); sImageDecodeThread->shutdown(); sTextureFetch->shutDownTextureCacheThread() ; -- cgit v1.2.3 From 7e7ea1eec4ab69fb46c5ce3749ef353fc5850829 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Tue, 8 Mar 2011 14:59:40 -0700 Subject: fix for STORM-1053: crash at LLTextureCache::writeToCache --- indra/newview/llappviewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index a23f809b71..327a5ad698 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1677,8 +1677,8 @@ bool LLAppViewer::cleanup() // Delete workers first // shotdown all worker threads before deleting them in case of co-dependencies - sTextureCache->shutdown(); sTextureFetch->shutdown(); + sTextureCache->shutdown(); sImageDecodeThread->shutdown(); sTextureFetch->shutDownTextureCacheThread() ; -- cgit v1.2.3 From c87e895304f25ea7e77d45ac2ce31164b86ee529 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 8 Mar 2011 15:12:42 -0800 Subject: SOCIAL-647 FIX Gear menu for your own avatar is empty in mini-inspector in minimal s --- indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml | 2 +- indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml index 81b88cfd54..5e7b16ed4a 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml @@ -249,4 +249,4 @@ - + diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml index be51e3e664..ed3b75342f 100644 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml @@ -216,4 +216,4 @@ - + -- cgit v1.2.3 From 0e5fd6a1483e12a46dc94f318f3e43ec328def54 Mon Sep 17 00:00:00 2001 From: Eli Linden Date: Tue, 8 Mar 2011 15:19:44 -0800 Subject: INTL-25 WIP Spanish translation --- .../skins/minimal/xui/es/floater_camera.xml | 65 ++++++++++++++++ .../skins/minimal/xui/es/floater_help_browser.xml | 9 +++ .../skins/minimal/xui/es/floater_nearby_chat.xml | 4 + .../skins/minimal/xui/es/inspect_avatar.xml | 24 ++++++ .../skins/minimal/xui/es/inspect_object.xml | 41 +++++++++++ .../minimal/xui/es/menu_add_wearable_gear.xml | 6 ++ .../skins/minimal/xui/es/menu_attachment_other.xml | 17 +++++ .../skins/minimal/xui/es/menu_attachment_self.xml | 16 ++++ .../skins/minimal/xui/es/menu_avatar_icon.xml | 7 ++ .../skins/minimal/xui/es/menu_avatar_other.xml | 16 ++++ .../skins/minimal/xui/es/menu_avatar_self.xml | 31 ++++++++ .../skins/minimal/xui/es/menu_bottomtray.xml | 17 +++++ .../skins/minimal/xui/es/menu_cof_attachment.xml | 4 + .../skins/minimal/xui/es/menu_cof_body_part.xml | 5 ++ .../skins/minimal/xui/es/menu_cof_clothing.xml | 6 ++ .../newview/skins/minimal/xui/es/menu_cof_gear.xml | 5 ++ indra/newview/skins/minimal/xui/es/menu_edit.xml | 12 +++ .../skins/minimal/xui/es/menu_favorites.xml | 10 +++ .../skins/minimal/xui/es/menu_gesture_gear.xml | 10 +++ .../skins/minimal/xui/es/menu_group_plus.xml | 5 ++ .../skins/minimal/xui/es/menu_hide_navbar.xml | 6 ++ .../skins/minimal/xui/es/menu_im_well_button.xml | 4 + .../skins/minimal/xui/es/menu_imchiclet_adhoc.xml | 4 + .../skins/minimal/xui/es/menu_imchiclet_group.xml | 6 ++ .../skins/minimal/xui/es/menu_imchiclet_p2p.xml | 7 ++ .../minimal/xui/es/menu_inspect_avatar_gear.xml | 17 +++++ .../minimal/xui/es/menu_inspect_object_gear.xml | 18 +++++ .../minimal/xui/es/menu_inspect_self_gear.xml | 10 +++ .../minimal/xui/es/menu_inv_offer_chiclet.xml | 4 + .../skins/minimal/xui/es/menu_inventory.xml | 86 ++++++++++++++++++++++ .../skins/minimal/xui/es/menu_inventory_add.xml | 33 +++++++++ .../minimal/xui/es/menu_inventory_gear_default.xml | 16 ++++ indra/newview/skins/minimal/xui/es/menu_land.xml | 9 +++ .../newview/skins/minimal/xui/es/menu_landmark.xml | 7 ++ indra/newview/skins/minimal/xui/es/menu_login.xml | 24 ++++++ .../newview/skins/minimal/xui/es/menu_mini_map.xml | 11 +++ indra/newview/skins/minimal/xui/es/menu_navbar.xml | 11 +++ .../skins/minimal/xui/es/menu_nearby_chat.xml | 9 +++ .../xui/es/menu_notification_well_button.xml | 4 + indra/newview/skins/minimal/xui/es/menu_object.xml | 29 ++++++++ .../skins/minimal/xui/es/menu_object_icon.xml | 5 ++ .../skins/minimal/xui/es/menu_outfit_gear.xml | 27 +++++++ .../skins/minimal/xui/es/menu_outfit_tab.xml | 9 +++ .../skins/minimal/xui/es/menu_participant_list.xml | 21 ++++++ .../xui/es/menu_people_friends_view_sort.xml | 8 ++ .../skins/minimal/xui/es/menu_people_groups.xml | 8 ++ .../xui/es/menu_people_groups_view_sort.xml | 5 ++ .../skins/minimal/xui/es/menu_people_nearby.xml | 13 ++++ .../xui/es/menu_people_nearby_multiselect.xml | 10 +++ .../xui/es/menu_people_nearby_view_sort.xml | 8 ++ .../xui/es/menu_people_recent_view_sort.xml | 7 ++ indra/newview/skins/minimal/xui/es/menu_picks.xml | 8 ++ .../skins/minimal/xui/es/menu_picks_plus.xml | 5 ++ indra/newview/skins/minimal/xui/es/menu_place.xml | 7 ++ .../skins/minimal/xui/es/menu_place_add_button.xml | 5 ++ .../minimal/xui/es/menu_places_gear_folder.xml | 15 ++++ .../minimal/xui/es/menu_places_gear_landmark.xml | 18 +++++ .../skins/minimal/xui/es/menu_profile_overflow.xml | 12 +++ .../skins/minimal/xui/es/menu_save_outfit.xml | 5 ++ .../skins/minimal/xui/es/menu_script_chiclet.xml | 4 + indra/newview/skins/minimal/xui/es/menu_slurl.xml | 6 ++ .../minimal/xui/es/menu_teleport_history_gear.xml | 6 ++ .../minimal/xui/es/menu_teleport_history_item.xml | 6 ++ .../minimal/xui/es/menu_teleport_history_tab.xml | 5 ++ .../skins/minimal/xui/es/menu_text_editor.xml | 8 ++ .../skins/minimal/xui/es/menu_topinfobar.xml | 7 ++ .../skins/minimal/xui/es/menu_url_agent.xml | 6 ++ .../skins/minimal/xui/es/menu_url_group.xml | 6 ++ .../newview/skins/minimal/xui/es/menu_url_http.xml | 7 ++ .../skins/minimal/xui/es/menu_url_inventory.xml | 6 ++ .../newview/skins/minimal/xui/es/menu_url_map.xml | 6 ++ .../skins/minimal/xui/es/menu_url_objectim.xml | 8 ++ .../skins/minimal/xui/es/menu_url_parcel.xml | 6 ++ .../skins/minimal/xui/es/menu_url_slapp.xml | 5 ++ .../skins/minimal/xui/es/menu_url_slurl.xml | 7 ++ .../skins/minimal/xui/es/menu_url_teleport.xml | 6 ++ indra/newview/skins/minimal/xui/es/menu_viewer.xml | 14 ++++ .../minimal/xui/es/menu_wearable_list_item.xml | 14 ++++ .../skins/minimal/xui/es/menu_wearing_gear.xml | 5 ++ .../skins/minimal/xui/es/menu_wearing_tab.xml | 6 ++ .../skins/minimal/xui/es/panel_bottomtray.xml | 39 ++++++++++ .../minimal/xui/es/panel_im_control_panel.xml | 29 ++++++++ indra/newview/skins/minimal/xui/es/panel_login.xml | 40 ++++++++++ .../skins/minimal/xui/es/panel_navigation_bar.xml | 18 +++++ .../newview/skins/minimal/xui/es/panel_people.xml | 71 ++++++++++++++++++ .../minimal/xui/es/panel_side_tray_tab_caption.xml | 7 ++ .../skins/minimal/xui/es/panel_status_bar.xml | 33 +++++++++ 87 files changed, 1202 insertions(+) create mode 100644 indra/newview/skins/minimal/xui/es/floater_camera.xml create mode 100644 indra/newview/skins/minimal/xui/es/floater_help_browser.xml create mode 100644 indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml create mode 100644 indra/newview/skins/minimal/xui/es/inspect_avatar.xml create mode 100644 indra/newview/skins/minimal/xui/es/inspect_object.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_attachment_other.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_attachment_self.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_other.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_self.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_bottomtray.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_edit.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_favorites.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_group_plus.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_im_well_button.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory_add.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_land.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_landmark.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_login.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_mini_map.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_navbar.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_object.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_object_icon.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_participant_list.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_groups.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_picks.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_picks_plus.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_place.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_place_add_button.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_save_outfit.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_slurl.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_text_editor.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_topinfobar.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_agent.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_group.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_http.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_inventory.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_map.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_objectim.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_parcel.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_slapp.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_slurl.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_url_teleport.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_viewer.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml create mode 100644 indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_bottomtray.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_login.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_people.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml create mode 100644 indra/newview/skins/minimal/xui/es/panel_status_bar.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/minimal/xui/es/floater_camera.xml b/indra/newview/skins/minimal/xui/es/floater_camera.xml new file mode 100644 index 0000000000..ccf3d4bf91 --- /dev/null +++ b/indra/newview/skins/minimal/xui/es/floater_camera.xml @@ -0,0 +1,65 @@ + + + + Girar la cámara alrededor de lo enfocado + + + Hacer zoom con la cámara en lo enfocado + + + Mover la cámara arriba y abajo, izquierda y derecha + + + Modos de cámara + + + Orbital - Zoom - Panóramica + + + Vistas predefinidas + + + Centrar el objeto + + + + + + De frente + + + + + Vista lateral + + + + + Desde detrás + + + + + + + Vista de objeto + + + + + Vista subjetiva + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/minimal/xui/en/floater_web_content.xml b/indra/newview/skins/minimal/xui/en/floater_web_content.xml new file mode 100644 index 0000000000..50cb5b14ce --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/floater_web_content.xml @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 4986896079c90c2fff1f72ccf78a4bb6ee9bbcb8 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Mon, 14 Mar 2011 17:21:45 -0700 Subject: SOCIAL-605 Bottom bar buttons scale differently at lower resolutions --- indra/newview/llviewermenu.cpp | 13 +- .../skins/minimal/xui/en/panel_bottomtray.xml | 483 +++++++++++---------- 2 files changed, 254 insertions(+), 242 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 030808db92..add24e5216 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -849,6 +849,8 @@ void toggle_destination_and_avatar_picker(const LLSD& show) LLView* container = gViewerWindow->getRootView()->getChildView("avatar_picker_and_destination_guide_container"); LLMediaCtrl* destinations = container->findChild("destination_guide_contents"); LLMediaCtrl* avatar_picker = container->findChild("avatar_picker_contents"); + LLButton* avatar_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild("avatar_btn"); + LLButton* destination_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild("destination_btn"); switch(panel_idx) { @@ -857,20 +859,24 @@ void toggle_destination_and_avatar_picker(const LLSD& show) destinations->setVisible(true); avatar_picker->setVisible(false); LLFirstUse::notUsingDestinationGuide(false); + avatar_btn->setToggleState(false); + destination_btn->setToggleState(true); break; case 1: container->setVisible(true); destinations->setVisible(false); avatar_picker->setVisible(true); + avatar_btn->setToggleState(true); + destination_btn->setToggleState(false); break; default: container->setVisible(false); destinations->setVisible(false); avatar_picker->setVisible(false); + avatar_btn->setToggleState(false); + destination_btn->setToggleState(false); break; } - - gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild("avatar_and_destination_btns")->setValue(show); }; @@ -8163,5 +8169,6 @@ void initialize_menus() view_listener_t::addMenu(new LLToggleUIHints(), "ToggleUIHints"); - commit.add("DestinationAndAvatar.show", boost::bind(&toggle_destination_and_avatar_picker, _2)); + commit.add("Destination.show", boost::bind(&toggle_destination_and_avatar_picker, 0)); + commit.add("Avatar.show", boost::bind(&toggle_destination_and_avatar_picker, 1)); } diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index ccecdd9ece..0145de8be9 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -9,19 +9,19 @@ layout="topleft" left="0" name="bottom_tray" - focus_root="true" + focus_root="true" top="28" width="1310"> - - - - - - - - - + - - - - - - + + - - - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + + + + -- cgit v1.2.3 From 6336022ada7811e9f36844d5f7ff660cb712fdfe Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 14 Mar 2011 17:49:11 -0700 Subject: SOCIAL-661 FIX Receiving Inventory notification in Basic Mode SOCIAL-654 FIX Items purchased on Marketplace.secondlife.com while logged into Minimal skin are declined and not present in inventory --- indra/newview/app_settings/settings.xml | 11 ++++++ indra/newview/app_settings/settings_minimal.xml | 11 ++++++ indra/newview/llviewermessage.cpp | 19 ++++++---- .../minimal/xui/en/notification_visibility.xml | 2 - .../newview/skins/minimal/xui/en/notifications.xml | 44 ++++++++++++++++++++++ 5 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 indra/newview/skins/minimal/xui/en/notifications.xml (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 058ececc6b..6a89f5681d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12575,5 +12575,16 @@ Value 0 + ShowOfferedInventory + + Comment + Show inventory window with last inventory offer selected when receiving inventory from other users. + Persist + 1 + Type + Boolean + Value + 1 + diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 7c578664e3..03656f2a53 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -391,5 +391,16 @@ Value 1 + ShowOfferedInventory + + Comment + Show inventory window with last inventory offer selected when receiving inventory from other users. + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 2758250175..3584074ec1 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1463,15 +1463,18 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD& // This is an offer from an agent. In this case, the back // end has already copied the items into your inventory, // so we can fetch it out of our inventory. - LLOpenAgentOffer* open_agent_offer = new LLOpenAgentOffer(mObjectID, from_string); - open_agent_offer->startFetch(); - if(catp || (itemp && itemp->isFinished())) + if (gSavedSettings.getBOOL("ShowOfferedInventory")) { - open_agent_offer->done(); - } - else - { - opener = open_agent_offer; + LLOpenAgentOffer* open_agent_offer = new LLOpenAgentOffer(mObjectID, from_string); + open_agent_offer->startFetch(); + if(catp || (itemp && itemp->isFinished())) + { + open_agent_offer->done(); + } + else + { + opener = open_agent_offer; + } } } break; diff --git a/indra/newview/skins/minimal/xui/en/notification_visibility.xml b/indra/newview/skins/minimal/xui/en/notification_visibility.xml index 9d4836d328..616b544847 100644 --- a/indra/newview/skins/minimal/xui/en/notification_visibility.xml +++ b/indra/newview/skins/minimal/xui/en/notification_visibility.xml @@ -1,7 +1,5 @@ - - diff --git a/indra/newview/skins/minimal/xui/en/notifications.xml b/indra/newview/skins/minimal/xui/en/notifications.xml new file mode 100644 index 0000000000..84da9472cc --- /dev/null +++ b/indra/newview/skins/minimal/xui/en/notifications.xml @@ -0,0 +1,44 @@ + + + + [NAME_SLURL] is offering you [ITEM_SLURL]. Using this item requires you to switch to Advanced mode where you will find the item in your Inventory. To switch to Advanced mode, quit and restart this application and change the mode setting on the login screen. + +