diff options
-rw-r--r-- | indra/llui/llaccordionctrltab.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterworldmap.cpp | 47 | ||||
-rw-r--r-- | indra/newview/llfloaterworldmap.h | 2 | ||||
-rw-r--r-- | indra/newview/llpanelgroupgeneral.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llpaneloutfitsinventory.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llscreenchannel.cpp | 58 | ||||
-rw-r--r-- | indra/newview/llscreenchannel.h | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_world_map.xml | 8 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfit_edit.xml | 3 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfits_inventory.xml | 149 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfits_list.xml | 48 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfits_wearing.xml | 54 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/widgets/location_input.xml | 2 |
13 files changed, 246 insertions, 139 deletions
diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp index 20e4b7867c..09cb15d7a8 100644 --- a/indra/llui/llaccordionctrltab.cpp +++ b/indra/llui/llaccordionctrltab.cpp @@ -44,7 +44,7 @@ static const std::string DD_BUTTON_NAME = "dd_button"; static const std::string DD_TEXTBOX_NAME = "dd_textbox"; static const std::string DD_HEADER_NAME = "dd_header"; -static const S32 HEADER_HEIGHT = 20; +static const S32 HEADER_HEIGHT = 23; static const S32 HEADER_IMAGE_LEFT_OFFSET = 5; static const S32 HEADER_TEXT_LEFT_OFFSET = 30; static const F32 AUTO_OPEN_TIME = 1.f; diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index fbe77047e3..983fd97b0b 100644 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -216,6 +216,8 @@ LLFloaterWorldMap::LLFloaterWorldMap(const LLSD& key) mCommitCallbackRegistrar.add("WMap.ShowAgent", boost::bind(&LLFloaterWorldMap::onShowAgentBtn, this)); mCommitCallbackRegistrar.add("WMap.Clear", boost::bind(&LLFloaterWorldMap::onClearBtn, this)); mCommitCallbackRegistrar.add("WMap.CopySLURL", boost::bind(&LLFloaterWorldMap::onCopySLURL, this)); + + gSavedSettings.getControl("PreferredMaturity")->getSignal()->connect(boost::bind(&LLFloaterWorldMap::onChangeMaturity, this)); } // static @@ -251,6 +253,8 @@ BOOL LLFloaterWorldMap::postBuild() mZoomTimer.stop(); + onChangeMaturity(); + return TRUE; } @@ -378,21 +382,6 @@ void LLFloaterWorldMap::draw() static LLUIColor map_track_color = LLUIColorTable::instance().getColor("MapTrackColor", LLColor4::white); static LLUIColor map_track_disabled_color = LLUIColorTable::instance().getColor("MapTrackDisabledColor", LLColor4::white); - // Hide/Show Mature Events controls - childSetVisible("events_mature_icon", gAgent.canAccessMature()); - childSetVisible("events_mature_label", gAgent.canAccessMature()); - childSetVisible("event_mature_chk", gAgent.canAccessMature()); - - childSetVisible("events_adult_icon", gAgent.canAccessMature()); - childSetVisible("events_adult_label", gAgent.canAccessMature()); - childSetVisible("event_adult_chk", gAgent.canAccessMature()); - bool adult_enabled = gAgent.canAccessAdult(); - if (!adult_enabled) - { - childSetValue("event_adult_chk", FALSE); - } - childSetEnabled("event_adult_chk", adult_enabled); - // On orientation island, users don't have a home location yet, so don't // let them teleport "home". It dumps them in an often-crowed welcome // area (infohub) and they get confused. JC @@ -480,8 +469,8 @@ void LLFloaterWorldMap::draw() childSetEnabled("telehub_chk", enable); childSetEnabled("land_for_sale_chk", enable); childSetEnabled("event_chk", enable); - childSetEnabled("event_mature_chk", enable); - childSetEnabled("event_adult_chk", enable); + childSetEnabled("events_mature_chk", enable); + childSetEnabled("events_adult_chk", enable); LLFloater::draw(); } @@ -1480,3 +1469,27 @@ void LLFloaterWorldMap::onCommitSearchResult() onShowTargetBtn(); } + +void LLFloaterWorldMap::onChangeMaturity() +{ + bool can_access_mature = gAgent.canAccessMature(); + bool can_access_adult = gAgent.canAccessAdult(); + + childSetVisible("events_mature_icon", can_access_mature); + childSetVisible("events_mature_label", can_access_mature); + childSetVisible("events_mature_chk", can_access_mature); + + childSetVisible("events_adult_icon", can_access_adult); + childSetVisible("events_adult_label", can_access_adult); + childSetVisible("events_adult_chk", can_access_adult); + + // disable mature / adult events. + if (!can_access_mature) + { + gSavedSettings.setBOOL("ShowMatureEvents", FALSE); + } + if (!can_access_adult) + { + gSavedSettings.setBOOL("ShowAdultEvents", FALSE); + } +} diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h index de515c689e..550b4ef689 100644 --- a/indra/newview/llfloaterworldmap.h +++ b/indra/newview/llfloaterworldmap.h @@ -112,7 +112,7 @@ public: // teleport to the tracked item, if there is one void teleport(); - + void onChangeMaturity(); protected: void onGoHome(); diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp index 555248e31a..8e1b7ba4d9 100644 --- a/indra/newview/llpanelgroupgeneral.cpp +++ b/indra/newview/llpanelgroupgeneral.cpp @@ -448,6 +448,8 @@ bool LLPanelGroupGeneral::apply(std::string& mesg) gAgent.setUserGroupFlags(mGroupID, receive_notices, list_in_profile); + resetDirty(); + mChanged = FALSE; return true; diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 076e6485a8..462ba2dfa5 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -245,10 +245,10 @@ LLPanelOutfitsInventory* LLPanelOutfitsInventory::findInstance() void LLPanelOutfitsInventory::initListCommandsHandlers() { mListCommands = getChild<LLPanel>("bottom_panel"); - - mListCommands->childSetAction("options_gear_btn", boost::bind(&LLPanelOutfitsInventory::showGearMenu, this)); - mListCommands->childSetAction("trash_btn", boost::bind(&LLPanelOutfitsInventory::onTrashButtonClick, this)); mListCommands->childSetAction("wear_btn", boost::bind(&LLPanelOutfitsInventory::onWearButtonClick, this)); + mMyOutfitsPanel->childSetAction("options_gear_btn", boost::bind(&LLPanelOutfitsInventory::showGearMenu, this)); + mMyOutfitsPanel->childSetAction("trash_btn", boost::bind(&LLPanelOutfitsInventory::onTrashButtonClick, this)); + mCurrentOutfitPanel->childSetAction("options_gear_btn", boost::bind(&LLPanelOutfitsInventory::showGearMenu, this)); } void LLPanelOutfitsInventory::updateListCommands() @@ -258,7 +258,7 @@ void LLPanelOutfitsInventory::updateListCommands() bool wear_visible = !isCOFPanelActive(); bool make_outfit_enabled = isActionEnabled("save_outfit"); - mListCommands->childSetEnabled("trash_btn", trash_enabled); + mMyOutfitsPanel->childSetEnabled("trash_btn", trash_enabled); mListCommands->childSetEnabled("wear_btn", wear_enabled); mListCommands->childSetVisible("wear_btn", wear_visible); mSaveComboBtn->setMenuItemEnabled("save_outfit", make_outfit_enabled); diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index de1da248c1..55c8809184 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -47,6 +47,7 @@ #include "llsyswellwindow.h" #include "llimfloater.h" #include "llscriptfloater.h" +#include "llsidetray.h" #include <algorithm> @@ -58,6 +59,7 @@ bool LLScreenChannel::mWasStartUpToastShown = false; ////////////////////// // LLScreenChannelBase ////////////////////// + LLScreenChannelBase::LLScreenChannelBase(const LLUUID& id) : mToastAlignment(NA_BOTTOM) ,mCanStoreToasts(true) @@ -68,6 +70,7 @@ LLScreenChannelBase::LLScreenChannelBase(const LLUUID& id) : { mID = id; mWorldViewRectConnection = gViewerWindow->setOnWorldViewRectUpdated(boost::bind(&LLScreenChannelBase::updatePositionAndSize, this, _1, _2)); + setMouseOpaque( false ); setVisible(FALSE); } @@ -86,11 +89,30 @@ bool LLScreenChannelBase::isHovering() return mHoveredToast->isHovered(); } +bool LLScreenChannelBase::resetPositionAndSize(const LLSD& newvalue) +{ + LLRect rc = gViewerWindow->getWorldViewRectScaled(); + updatePositionAndSize(rc, rc); + return true; +} + void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) { - S32 top_delta = old_world_rect.mTop - new_world_rect.mTop; - S32 right_delta = old_world_rect.mRight - new_world_rect.mRight; + /* + take sidetray into account - screenchannel should not overlap sidetray + */ + S32 world_rect_padding = 0; + if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE + && LLSideTray::instanceCreated ()) + { + LLSideTray* side_bar = LLSideTray::getInstance(); + + if (side_bar->getVisible() && !side_bar->getCollapsed()) + world_rect_padding += side_bar->getRect().getWidth(); + } + + S32 top_delta = old_world_rect.mTop - new_world_rect.mTop; LLRect this_rect = getRect(); this_rect.mTop -= top_delta; @@ -99,11 +121,13 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne case CA_LEFT : break; case CA_CENTRE : - this_rect.setCenterAndSize(new_world_rect.getWidth() / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); + this_rect.setCenterAndSize( (new_world_rect.getWidth() - world_rect_padding) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); break; case CA_RIGHT : - this_rect.mLeft -= right_delta; - this_rect.mRight -= right_delta; + this_rect.setLeftTopAndSize(new_world_rect.mRight - world_rect_padding - this_rect.getWidth(), + this_rect.mTop, + this_rect.getWidth(), + this_rect.getHeight()); } setRect(this_rect); redrawToasts(); @@ -112,6 +136,9 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) { + LLSideTray* side_bar = LLSideTray::getInstance(); + side_bar->getCollapseSignal().connect(boost::bind(&LLScreenChannelBase::resetPositionAndSize, this, _2)); + S32 channel_top = gViewerWindow->getWorldViewRectScaled().getHeight(); S32 channel_bottom = gViewerWindow->getWorldViewRectScaled().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); setRect(LLRect(channel_left, channel_top, channel_right, channel_bottom)); @@ -173,7 +200,20 @@ std::list<LLToast*> LLScreenChannel::findToasts(const Matcher& matcher) //-------------------------------------------------------------------------- void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) { - S32 right_delta = old_world_rect.mRight - new_world_rect.mRight; + /* + take sidetray into account - screenchannel should not overlap sidetray + */ + S32 world_rect_padding = 0; + if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE + && LLSideTray::instanceCreated ()) + { + LLSideTray* side_bar = LLSideTray::getInstance(); + + if (side_bar->getVisible() && !side_bar->getCollapsed()) + world_rect_padding += side_bar->getRect().getWidth(); + } + + LLRect this_rect = getRect(); switch(mChannelAlignment) @@ -186,8 +226,10 @@ void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_wo return; case CA_RIGHT : this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); - this_rect.mLeft -= right_delta; - this_rect.mRight -= right_delta; + this_rect.setLeftTopAndSize(new_world_rect.mRight - world_rect_padding - this_rect.getWidth(), + this_rect.mTop, + this_rect.getWidth(), + this_rect.getHeight()); } setRect(this_rect); redrawToasts(); diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index 46c5fed7b6..160635974d 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -65,6 +65,8 @@ public: // Channel's outfit-functions // update channel's size and position in the World View virtual void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); + + bool resetPositionAndSize(const LLSD& newvalue); // initialization of channel's shape and position virtual void init(S32 channel_left, S32 channel_right); diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index ece406f9b1..a59db1420f 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -306,7 +306,7 @@ initial_value="true" layout="topleft" left="135" - name="event_mature_chk" + name="events_mature_chk" top_pad="3" width="22" /> <icon @@ -328,7 +328,7 @@ top_delta="2" left_pad="3" layout="topleft" - name="mature_label" + name="events_mature_label" width="66"> Moderate </text> @@ -339,7 +339,7 @@ height="16" layout="topleft" left="135" - name="event_adult_chk" + name="events_adult_chk" top_pad="3" width="22" /> <icon @@ -361,7 +361,7 @@ top_delta="2" left_pad="3" layout="topleft" - name="adult_label" + name="events_adult_label" width="66"> Adult </text> diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml index 362fdd606a..0fc945126b 100644 --- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml @@ -189,8 +189,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap left="0"> <layout_panel auto_resize="true" - background_visible="true" - bg_alpha_color="Black" + background_visible="false" layout="topleft" height="154" name="add_button_and_combobox" diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 60a0095d5f..58d3dbcc37 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -14,131 +14,82 @@ border="false"> <tab_container follows="all" - height="509" + height="539" layout="topleft" - left="7" + left="5" name="appearance_tabs" tab_min_width="140" tab_height="30" tab_position="top" halign="center" top="8" - width="312"> + width="315"> <panel class="outfits_list" filename="panel_outfits_list.xml" - height="490" + height="520" name="outfitslist_tab" background_visible="true" help_topic="my_outfits_tab" follows="all" label="MY OUTFITS" layout="topleft" - width="312" /> + width="315" /> <panel background_visible="true" bg_alpha_color="DkGray" class="panel_wearing" + filename="panel_outfits_wearing.xml" follows="all" - height="490" + height="520" help_topic="now_wearing_tab" label="WEARING" layout="topleft" name="cof_tab" - width="312"> - <wearable_items_list - allow_select="true" - follows="all" - height="490" - keep_one_selected="true" - left="3" - multi_select="true" - name="cof_items_list" - standalone="false" - top="0" - translate="false" - width="307" - worn_indication_enabled="false" - /> - </panel> + width="315" /> </tab_container> - <panel - background_visible="true" - follows="bottom|left|right" - height="57" - layout="topleft" - left="9" - top_pad="-1" - visible="true" - name="bottom_panel" - width="310"> - <button - follows="bottom|left" - tool_tip="Show additional options" - height="25" - image_hover_unselected="Toolbar_Left_Over" - image_overlay="OptionsMenu_Off" - image_selected="Toolbar_Left_Selected" - image_unselected="Toolbar_Left_Off" - layout="topleft" - left="1" - name="options_gear_btn" - top="1" - width="31" /> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="241" - /> - <button - follows="bottom|right" - height="25" - image_hover_unselected="Toolbar_Right_Over" - image_overlay="TrashItem_Off" - image_selected="Toolbar_Right_Selected" - image_unselected="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="trash_btn" - tool_tip="Delete selected outfit" - width="31"/> - <button - follows="bottom|left" - height="23" - label="Save As" - left="0" - layout="topleft" - name="save_btn" - top_pad="6" - width="155" /> - <button - follows="bottom|left" - height="23" - name="save_flyout_btn" - label="" + <panel + background_visible="true" + follows="bottom|left|right" + height="27" layout="topleft" - left_pad="-20" - tab_stop="false" - image_selected="SegmentedBtn_Right_Selected_Press" - image_unselected="SegmentedBtn_Right_Off" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Selected_Press" - image_overlay="Arrow_Small_Up" - width="20"/> - <button - follows="bottom|left|right" - height="23" - label="Wear" - layout="topleft" - name="wear_btn" - left_pad="3" - tool_tip="Wear selected outfit" - width="152" /> - </panel> - + left="9" + top_pad="1" + visible="true" + name="bottom_panel" + width="310"> + <button + follows="bottom|left" + height="23" + label="Save As" + left="0" + layout="topleft" + name="save_btn" + top_pad="0" + width="155" /> + <button + follows="bottom|left" + height="23" + name="save_flyout_btn" + label="" + layout="topleft" + left_pad="-20" + tab_stop="false" + image_selected="SegmentedBtn_Right_Selected_Press" + image_unselected="SegmentedBtn_Right_Off" + image_pressed="SegmentedBtn_Right_Press" + image_pressed_selected="SegmentedBtn_Right_Selected_Press" + image_overlay="Arrow_Small_Up" + width="20"/> + <button + follows="bottom|left|right" + height="23" + label="Wear" + layout="topleft" + name="wear_btn" + left_pad="3" + tool_tip="Wear selected outfit" + width="152" /> + </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_outfits_list.xml b/indra/newview/skins/default/xui/en/panel_outfits_list.xml index aea4e939df..62b23aa74c 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_list.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_list.xml @@ -4,7 +4,7 @@ bg_alpha_color="DkGray" border="false" follows="all" - height="400" + height="430" name="Outfits" layout="topleft" left="0" @@ -23,6 +23,50 @@ left="3" name="outfits_accordion" top="0" - width="307"> + width="309"> </accordion> + <panel + background_visible="true" + follows="bottom|left|right" + height="28" + layout="topleft" + left="4" + top_pad="0" + visible="true" + name="bottom_panel" + width="312"> + <button + follows="bottom|left" + tool_tip="Show additional options" + height="25" + image_hover_unselected="Toolbar_Left_Over" + image_overlay="OptionsMenu_Off" + image_selected="Toolbar_Left_Selected" + image_unselected="Toolbar_Left_Off" + layout="topleft" + left="0" + name="options_gear_btn" + top="1" + width="31" /> + <icon + follows="bottom|left|right" + height="25" + image_name="Toolbar_Middle_Off" + layout="topleft" + left_pad="1" + name="dummy_icon" + width="243"/> + <button + follows="bottom|right" + height="25" + image_hover_unselected="Toolbar_Right_Over" + image_overlay="TrashItem_Off" + image_selected="Toolbar_Right_Selected" + image_unselected="Toolbar_Right_Off" + layout="topleft" + left_pad="1" + name="trash_btn" + tool_tip="Delete selected outfit" + width="31"/> + </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/en/panel_outfits_wearing.xml new file mode 100644 index 0000000000..2fbbf6610c --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_outfits_wearing.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel + background_visible="true" + bg_alpha_color="DkGray" + follows="all" + height="430" + layout="topleft" + left="0" + name="Wearing" + top="0" + width="312"> + <wearable_items_list + follows="all" + height="400" + layout="topleft" + left="3" + multi_select="true" + name="cof_items_list" + standalone="false" + top="0" + width="309" + worn_indication_enabled="false" /> + <panel + background_visible="true" + follows="bottom|left|right" + height="28" + layout="topleft" + left="4" + name="bottom_panel" + top_pad="0" + width="312"> + <button + follows="bottom|left" + height="25" + image_hover_unselected="Toolbar_Left_Over" + image_overlay="OptionsMenu_Off" + image_selected="Toolbar_Left_Selected" + image_unselected="Toolbar_Left_Off" + layout="topleft" + left="0" + name="options_gear_btn" + tool_tip="Show additional options" + top="1" + width="31" /> + <icon + follows="bottom|left|right" + height="25" + image_name="Toolbar_Right_Off" + layout="topleft" + left_pad="1" + name="dummy_icon" + width="274" /> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml index 02ea661da3..37d60f1671 100644 --- a/indra/newview/skins/default/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml @@ -7,7 +7,7 @@ icon_maturity_general="Parcel_PG_Light" icon_maturity_adult="Parcel_R_Light" icon_maturity_moderate="Parcel_M_Light" - maturity_help_topic="TODO" + maturity_help_topic="maturity_rating" add_landmark_image_enabled="Favorite_Star_Active" add_landmark_image_disabled="Favorite_Star_Off" add_landmark_image_hover="Favorite_Star_Over" |