From 0e545644e10d82b8acde37db63e4ba946f241b4a Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 21 May 2010 13:06:53 +0100 Subject: Updated Linux build of llqtwebkit, adding some support we'll need to fix EXT-5667 (support window.open() in shared media so google docs will work). --- install.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.xml b/install.xml index 0e54c73c93..bb2f8c1f2f 100644 --- a/install.xml +++ b/install.xml @@ -955,9 +955,9 @@ anguage Infrstructure (CLI) international standard linux md5sum - a90135a68d2821eef742d15cb06b15b9 + 7a5e02d252b76ab41bdca58506fa4147 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-20100407-cookie-api.tar.bz2 + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-20100521.tar.bz2 windows -- cgit v1.2.3 From f91481c82faf1f9527cf54f7dbf4cbc28555003b Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Fri, 21 May 2010 17:02:53 -0400 Subject: EXT-7209 EXT-7366 FIX avatar needs to enter "appearance editing" mode Avatar now enters "appearance editing" mode when opening the outfit or wearable editors in the sidepanel. Changed code to ensure we don't accidentally switch out of it and back in when switching from one to the other. Note that this cuts out LLFLoaterCustomize from being built and shown to the user from any UI. The code for this (and related classes) will be removed once we have pulled any code out of it that we still need. The current outfit and wearable editors should be working sufficiently for most purposes. Bugs should be reported to Nyx Linden or the avatar team. Code reviewed by Vir --- indra/newview/llmorphview.cpp | 17 ++------------- indra/newview/llsidepanelappearance.cpp | 25 ++++++++++++++++++---- indra/newview/llsidepanelappearance.h | 4 ++-- indra/newview/llviewermenu.cpp | 6 ++++++ .../skins/default/xui/en/menu_avatar_self.xml | 11 ++++++++-- 5 files changed, 40 insertions(+), 23 deletions(-) diff --git a/indra/newview/llmorphview.cpp b/indra/newview/llmorphview.cpp index d670eb6ffd..27a27fb65a 100644 --- a/indra/newview/llmorphview.cpp +++ b/indra/newview/llmorphview.cpp @@ -131,14 +131,7 @@ void LLMorphView::setVisible(BOOL visible) if (visible) { - llassert( !gFloaterCustomize ); - gFloaterCustomize = new LLFloaterCustomize(); - gFloaterCustomize->fetchInventory(); - gFloaterCustomize->openFloater(); - - // Must do this _after_ gFloaterView is initialized. - gFloaterCustomize->switchToDefaultSubpart(); - + // TODO: verify some user action has already opened outfit editor? - Nyx initialize(); // First run dialog @@ -146,13 +139,7 @@ void LLMorphView::setVisible(BOOL visible) } else { - if( gFloaterCustomize ) - { - gFloaterView->removeChild( gFloaterCustomize ); - delete gFloaterCustomize; - gFloaterCustomize = NULL; - } - + // TODO: verify some user action has already closed outfit editor ? - Nyx shutdown(); } } diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 3f05e05fd4..010d593b27 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -47,6 +47,7 @@ #include "llsidetray.h" #include "lltextbox.h" #include "lluictrlfactory.h" +#include "llviewercontrol.h" #include "llviewerregion.h" #include "llvoavatarself.h" #include "llwearable.h" @@ -267,14 +268,14 @@ void LLSidepanelAppearance::showOutfitsInventoryPanel() void LLSidepanelAppearance::showOutfitEditPanel() { togglMyOutfitsPanel(FALSE); - toggleWearableEditPanel(FALSE); + toggleWearableEditPanel(FALSE, NULL, TRUE); // don't switch out of edit appearance mode toggleOutfitEditPanel(TRUE); } void LLSidepanelAppearance::showWearableEditPanel(LLWearable *wearable /* = NULL*/) { togglMyOutfitsPanel(FALSE); - toggleOutfitEditPanel(FALSE); + toggleOutfitEditPanel(FALSE, TRUE); // don't switch out of edit appearance mode toggleWearableEditPanel(TRUE, wearable); } @@ -300,7 +301,7 @@ void LLSidepanelAppearance::togglMyOutfitsPanel(BOOL visible) } } -void LLSidepanelAppearance::toggleOutfitEditPanel(BOOL visible) +void LLSidepanelAppearance::toggleOutfitEditPanel(BOOL visible, BOOL disable_camera_switch) { if (!mOutfitEdit || mOutfitEdit->getVisible() == visible) { @@ -313,10 +314,18 @@ void LLSidepanelAppearance::toggleOutfitEditPanel(BOOL visible) if (visible) { mOutfitEdit->onOpen(LLSD()); + if (!disable_camera_switch && gSavedSettings.getBOOL("AppearanceCameraMovement") ) + { + gAgentCamera.changeCameraToCustomizeAvatar(); + } + } + else if (!disable_camera_switch && gSavedSettings.getBOOL("AppearanceCameraMovement") ) + { + gAgentCamera.changeCameraToDefault(); } } -void LLSidepanelAppearance::toggleWearableEditPanel(BOOL visible, LLWearable *wearable) +void LLSidepanelAppearance::toggleWearableEditPanel(BOOL visible, LLWearable *wearable, BOOL disable_camera_switch) { if (!mEditWearable || mEditWearable->getVisible() == visible) { @@ -340,11 +349,19 @@ void LLSidepanelAppearance::toggleWearableEditPanel(BOOL visible, LLWearable *we if (visible) { mEditWearable->onOpen(LLSD()); // currently no-op, just for consistency + if (!disable_camera_switch && gSavedSettings.getBOOL("AppearanceCameraMovement") ) + { + gAgentCamera.changeCameraToCustomizeAvatar(); + } } else { // Save changes if closing. mEditWearable->saveChanges(); + if (!disable_camera_switch && gSavedSettings.getBOOL("AppearanceCameraMovement") ) + { + gAgentCamera.changeCameraToDefault(); + } } } diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h index f243bbd471..12303b6e96 100644 --- a/indra/newview/llsidepanelappearance.h +++ b/indra/newview/llsidepanelappearance.h @@ -75,8 +75,8 @@ private: void onEditAppearanceButtonClicked(); void togglMyOutfitsPanel(BOOL visible); - void toggleOutfitEditPanel(BOOL visible); - void toggleWearableEditPanel(BOOL visible, LLWearable* wearable = NULL); + void toggleOutfitEditPanel(BOOL visible, BOOL disable_camera_switch = FALSE); + void toggleWearableEditPanel(BOOL visible, LLWearable* wearable = NULL, BOOL disable_camera_switch = FALSE); LLFilterEditor* mFilterEditor; LLPanelOutfitsInventory* mPanelOutfitsInventory; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index f905892982..4bfb87343c 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5612,6 +5612,11 @@ void handle_customize_avatar() LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "my_outfits")); } +void handle_edit_outfit() +{ + LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); +} + void handle_edit_shape() { LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_shape")); @@ -7727,6 +7732,7 @@ void initialize_menus() view_listener_t::addMenu(new LLEditEnableCustomizeAvatar(), "Edit.EnableCustomizeAvatar"); view_listener_t::addMenu(new LLEnableEditShape(), "Edit.EnableEditShape"); commit.add("CustomizeAvatar", boost::bind(&handle_customize_avatar)); + commit.add("EditOutfit", boost::bind(&handle_edit_outfit)); commit.add("EditShape", boost::bind(&handle_edit_shape)); // View menu diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml index b0cfb261cb..d5b993152a 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_self.xml @@ -191,8 +191,15 @@ - + + + +