diff options
Diffstat (limited to 'indra/newview')
27 files changed, 323 insertions, 116 deletions
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 958dbf226a..3c34aa4fa4 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -317,6 +317,10 @@ BOOL LLBottomTray::postBuild() // Registering Chat Bar to receive Voice client status change notifications. gVoiceClient->addObserver(this); + mObjectDefaultWidthMap[RS_BUTTON_GESTURES] = mGesturePanel->getRect().getWidth(); + mObjectDefaultWidthMap[RS_BUTTON_MOVEMENT] = mMovementPanel->getRect().getWidth(); + mObjectDefaultWidthMap[RS_BUTTON_CAMERA] = mCamPanel->getRect().getWidth(); + return TRUE; } @@ -402,7 +406,6 @@ void LLBottomTray::reshape(S32 width, S32 height, BOOL called_from_parent) } } - lldebugs << "There is no enough width to reshape all children: " << extra_shrink_width << llendl; if (should_be_reshaped) { lldebugs << "Reshape all children with width: " << width << llendl; @@ -473,7 +476,12 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width) S32 buttons_freed_width = 0; if (still_should_be_processed) { - processHideButton(RS_BUTTON_SNAPSHOT, &delta_width, &buttons_freed_width); + processShrinkButtons(&delta_width); + + if (delta_width < 0) + { + processHideButton(RS_BUTTON_SNAPSHOT, &delta_width, &buttons_freed_width); + } if (delta_width < 0) { @@ -493,7 +501,7 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width) if (delta_width < 0) { extra_shrink_width = -delta_width; - lldebugs << "There is no enough room for bottom tray, resizing still should be processed: " + llwarns << "There is no enough width to reshape all children: " << extra_shrink_width << llendl; } @@ -551,7 +559,7 @@ void LLBottomTray::processWidthIncreased(S32 delta_width) processShowButton(RS_BUTTON_SNAPSHOT, &available_width, &buttons_required_width); } - // if we have to show some buttons but whidth increasing is not enough... + // if we have to show some buttons but width increasing is not enough... if (buttons_required_width > 0 && delta_width < buttons_required_width) { // ... let's shrink nearby chat & chiclet panels @@ -587,6 +595,8 @@ void LLBottomTray::processWidthIncreased(S32 delta_width) // shown buttons take some space, rest should be processed by nearby chatbar & chiclet panels delta_width -= buttons_required_width; + processExtendButtons(&delta_width); + // how many space can nearby chatbar take? S32 chatbar_panel_width_ = mNearbyChatBar->getRect().getWidth(); if (delta_width > 0 && chatbar_panel_width_ < chatbar_panel_max_width) @@ -656,6 +666,119 @@ void LLBottomTray::processHideButton(EResizeState processed_object_type, S32* re } } +void LLBottomTray::processShrinkButtons(S32* required_width) +{ + processShrinkButton(RS_BUTTON_CAMERA, required_width); + + if (*required_width < 0) + { + processShrinkButton(RS_BUTTON_MOVEMENT, required_width); + } + if (*required_width < 0) + { + processShrinkButton(RS_BUTTON_GESTURES, required_width); + } +} + +void LLBottomTray::processShrinkButton(EResizeState processed_object_type, /*const std::string& panel_name, */S32* required_width) +{ + LLPanel* panel = mStateProcessedObjectMap[processed_object_type]; + if (NULL == panel) + { + lldebugs << "There is no object to process for type: " << processed_object_type << llendl; + return; + } + + if (panel->getVisible()) + { + S32 panel_width = panel->getRect().getWidth(); + S32 panel_min_width = 0; + std::string panel_name = panel->getName(); + bool success = mToolbarStack->getPanelMinSize(panel_name, &panel_min_width, NULL); + S32 possible_shrink_width = panel_width - panel_min_width; + + if (!success) + { + lldebugs << "Panel was not found to get its min width: " << panel_name << llendl; + } + // we have some space to free by shrinking the button + else if (possible_shrink_width > 0) + { + // let calculate real width to shrink + + // 1. apply all possible width + *required_width += possible_shrink_width; + + // 2. it it is too much... + if (*required_width > 0) + { + // reduce applied shrunk width to the excessive value. + possible_shrink_width -= *required_width; + *required_width = 0; + } + panel->reshape(panel_width - possible_shrink_width, panel->getRect().getHeight()); + + lldebugs << "Shrunk panel: " << panel_name + << ", shrunk width: " << possible_shrink_width + << ", rest width to process: " << *required_width + << llendl; + } + } +} + + +void LLBottomTray::processExtendButtons(S32* available_width) +{ + processExtendButton(RS_BUTTON_GESTURES, available_width); + + if (*available_width > 0) + { + processExtendButton(RS_BUTTON_CAMERA, available_width); + } + if (*available_width > 0) + { + processExtendButton(RS_BUTTON_MOVEMENT, available_width); + } +} + +void LLBottomTray::processExtendButton(EResizeState processed_object_type, S32* available_width) +{ + LLPanel* panel = mStateProcessedObjectMap[processed_object_type]; + if (NULL == panel) + { + lldebugs << "There is no object to process for type: " << processed_object_type << llendl; + return; + } + + if (!panel->getVisible()) return; + + S32 panel_max_width = mObjectDefaultWidthMap[processed_object_type]; + S32 panel_width = panel->getRect().getWidth(); + S32 possible_extend_width = panel_max_width - panel_width; + + if (possible_extend_width > 0) + { + // let calculate real width to extend + + // 1. apply all possible width + *available_width -= possible_extend_width; + + // 2. it it is too much... + if (*available_width < 0) + { + // reduce applied extended width to the excessive value. + possible_extend_width += *available_width; + *available_width = 0; + } + panel->reshape(panel_width + possible_extend_width, panel->getRect().getHeight()); + + lldebugs << "Extending panel: " << panel->getName() + << ", extended width: " << possible_extend_width + << ", rest width to process: " << *available_width + << llendl; + } +} + bool LLBottomTray::canButtonBeShown(EResizeState processed_object_type) const { bool can_be_shown = mResizeState & processed_object_type; diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 8989816bfe..97bcc23403 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -98,7 +98,6 @@ private: , RS_BUTTON_MOVEMENT = 0x0010 , RS_BUTTON_GESTURES = 0x0020 , RS_BUTTON_SPEAK = 0x0040 - , RS_RESIZABLE_BUTTONS = /*RS_BUTTON_SNAPSHOT | */RS_BUTTON_CAMERA | RS_BUTTON_MOVEMENT | RS_BUTTON_GESTURES }EResizeState; S32 processWidthDecreased(S32 delta_width); @@ -108,6 +107,24 @@ private: void processHideButton(EResizeState processed_object_type, S32* required_width, S32* buttons_freed_width); /** + * Shrinks shown buttons to reduce total taken space. + * + * @param - required_width - width which buttons can use to be shrunk. It is a negative value. + * It is increased on the value processed by buttons. + */ + void processShrinkButtons(S32* required_width); + void processShrinkButton(EResizeState processed_object_type, S32* required_width); + + /** + * Extends shown buttons to increase total taken space. + * + * @param - available_width - width which buttons can use to be extended. It is a positive value. + * It is decreased on the value processed by buttons. + */ + void processExtendButtons(S32* available_width); + void processExtendButton(EResizeState processed_object_type, S32* available_width); + + /** * Determines if specified by type object can be shown. It should be hidden by shrink before. * * Processes buttons a such way to show buttons in constant order: @@ -140,6 +157,9 @@ private: typedef std::map<EResizeState, LLPanel*> state_object_map_t; state_object_map_t mStateProcessedObjectMap; + typedef std::map<EResizeState, S32> state_object_width_map_t; + state_object_width_map_t mObjectDefaultWidthMap; + protected: LLBottomTray(const LLSD& key = LLSD()); diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index f9c4a23f12..cd5c5edac0 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -46,6 +46,8 @@ #include "llfloaterreg.h" #include "llmutelist.h" +#include "llsidetray.h"//for blocked objects panel + static LLDefaultChildRegistry::Register<LLChatHistory> r("chat_history"); std::string formatCurrentTime() @@ -92,6 +94,8 @@ public: else if (level == "block") { LLMuteList::getInstance()->add(LLMute(getAvatarId(), mFrom, LLMute::OBJECT)); + + LLSideTray::getInstance()->showPanel("panel_block_list_sidetray", LLSD().insert("blocked_to_select", getAvatarId())); } } diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp index b1dee46d2e..997aed4277 100644 --- a/indra/newview/llchatitemscontainerctrl.cpp +++ b/indra/newview/llchatitemscontainerctrl.cpp @@ -175,8 +175,6 @@ void LLNearbyChatToastPanel::init(LLSD& notification) caption->getChild<LLTextBox>("sender_name", false)->setText(str_sender , style_params); - caption->getChild<LLTextBox>("msg_time", false)->setText(appendTime() , style_params ); - LLChatMsgBox* msg_text = getChild<LLChatMsgBox>("msg_text", false); diff --git a/indra/newview/llfloatergesture.cpp b/indra/newview/llfloatergesture.cpp index 854d02873a..af86274472 100644 --- a/indra/newview/llfloatergesture.cpp +++ b/indra/newview/llfloatergesture.cpp @@ -161,6 +161,7 @@ BOOL LLFloaterGesture::postBuild() getChild<LLUICtrl>("play_btn")->setCommitCallback(boost::bind(&LLFloaterGesture::onClickPlay, this)); getChild<LLUICtrl>("stop_btn")->setCommitCallback(boost::bind(&LLFloaterGesture::onClickPlay, this)); + getChild<LLButton>("activate_btn")->setClickedCallback(boost::bind(&LLFloaterGesture::onActivateBtnClick, this)); getChild<LLUICtrl>("new_gesture_btn")->setCommitCallback(boost::bind(&LLFloaterGesture::onClickNew, this)); @@ -179,7 +180,7 @@ BOOL LLFloaterGesture::postBuild() childSetFocus("gesture_list"); - LLCtrlListInterface *list = childGetListInterface("gesture_list"); + LLCtrlListInterface *list = getGestureList(); if (list) { const BOOL ascending = TRUE; @@ -198,7 +199,7 @@ void LLFloaterGesture::refreshAll() { buildGestureList(); - LLCtrlListInterface *list = childGetListInterface("gesture_list"); + LLCtrlListInterface *list = getGestureList(); if (!list) return; if (mSelectedID.isNull()) @@ -219,7 +220,7 @@ void LLFloaterGesture::refreshAll() void LLFloaterGesture::buildGestureList() { - LLCtrlListInterface *list = childGetListInterface("gesture_list"); + LLCtrlListInterface *list = getGestureList(); LLCtrlScrollInterface *scroll = childGetScrollInterface("gesture_list"); if (! (list && scroll)) return; @@ -347,7 +348,7 @@ void LLFloaterGesture::addGesture(const LLUUID& item_id , LLMultiGesture* gestur void LLFloaterGesture::onClickInventory() { - LLCtrlListInterface *list = childGetListInterface("gesture_list"); + LLCtrlListInterface *list = getGestureList(); if (!list) return; const LLUUID& item_id = list->getCurrentID(); @@ -358,7 +359,7 @@ void LLFloaterGesture::onClickInventory() void LLFloaterGesture::onClickPlay() { - LLCtrlListInterface *list = childGetListInterface("gesture_list"); + LLCtrlListInterface *list = getGestureList(); if (!list) return; const LLUUID& item_id = list->getCurrentID(); if(item_id.isNull()) return; @@ -396,10 +397,27 @@ void LLFloaterGesture::onClickNew() LLInventoryType::IT_GESTURE, NOT_WEARABLE, PERM_MOVE | PERM_TRANSFER, cb); } +void LLFloaterGesture::onActivateBtnClick() +{ + LLCtrlListInterface* list = getGestureList(); + + LLUUID gesture_inv_id = list->getSelectedValue(); + LLGestureManager* gm = LLGestureManager::getInstance(); + + if(gm->isGestureActive(gesture_inv_id)) + { + gm->deactivateGesture(gesture_inv_id); + } + else + { + gm->activateGesture(gesture_inv_id); + } +} + void LLFloaterGesture::onClickEdit() { - LLCtrlListInterface *list = childGetListInterface("gesture_list"); + LLCtrlListInterface *list = getGestureList(); if (!list) return; const LLUUID& item_id = list->getCurrentID(); diff --git a/indra/newview/llfloatergesture.h b/indra/newview/llfloatergesture.h index e7819d2a03..50bef818da 100644 --- a/indra/newview/llfloatergesture.h +++ b/indra/newview/llfloatergesture.h @@ -77,7 +77,11 @@ protected: void onClickNew(); void onCommitList(); void playGesture(LLUUID item_id); - + LLCtrlListInterface* getGestureList() const + { + return childGetListInterface("gesture_list"); + } + void onActivateBtnClick(); protected: LLUUID mSelectedID; LLUUID mGestureFolderID; diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 2c6543d6ca..c2c83191e0 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -367,8 +367,6 @@ void LLIMFloater::setDocked(bool docked, bool pop_on_undock) LLNotificationsUI::LLScreenChannel* channel = dynamic_cast<LLNotificationsUI::LLScreenChannel*> (LLNotificationsUI::LLChannelManager::getInstance()-> findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); - - setCanResize(!docked); LLTransientDockableFloater::setDocked(docked, pop_on_undock); diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp index 8dc7833f6a..baddd90d46 100644 --- a/indra/newview/llinspectavatar.cpp +++ b/indra/newview/llinspectavatar.cpp @@ -117,6 +117,9 @@ private: bool onVisibleZoomIn(); void onClickMuteVolume(); void onVolumeChange(const LLSD& data); + + // Is used to determine if "Add friend" option should be enabled in gear menu + bool isNotFriend(); // Callback for gCacheName to look up avatar name void nameUpdatedCallback( @@ -208,6 +211,7 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd) boost::bind(&LLInspectAvatar::onVisibleFreezeEject, this)); mVisibleCallbackRegistrar.add("InspectAvatar.VisibleZoomIn", boost::bind(&LLInspectAvatar::onVisibleZoomIn, this)); + mEnableCallbackRegistrar.add("InspectAvatar.Gear.Enable", boost::bind(&LLInspectAvatar::isNotFriend, this)); // can't make the properties request until the widgets are constructed // as it might return immediately, so do it in postBuild. @@ -473,6 +477,11 @@ void LLInspectAvatar::onClickViewProfile() closeFloater(); } +bool LLInspectAvatar::isNotFriend() +{ + return !LLAvatarActions::isFriend(mAvatarID); +} + bool LLInspectAvatar::onVisibleFindOnMap() { return gAgent.isGodlike() || is_agent_mappable(mAvatarID); diff --git a/indra/newview/lljoystickbutton.cpp b/indra/newview/lljoystickbutton.cpp index 0acc67ff5a..2cc5c8335d 100644 --- a/indra/newview/lljoystickbutton.cpp +++ b/indra/newview/lljoystickbutton.cpp @@ -136,13 +136,13 @@ void LLJoystick::updateSlop() bool LLJoystick::pointInCircle(S32 x, S32 y) const { - if(this->getLocalRect().mTop!=this->getLocalRect().mRight) + if(this->getLocalRect().getHeight() != this->getLocalRect().getWidth()) { llwarns << "Joystick shape is not square"<<llendl; - return TRUE; + return true; } //center is x and y coordinates of center of joystick circle, and also its radius - int center = this->getLocalRect().mTop/2; + int center = this->getLocalRect().getHeight()/2; bool in_circle = (x - center) * (x - center) + (y - center) * (y - center) <= center * center; return in_circle; } diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index e3ba1b8e4a..0ee883e221 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -83,6 +83,11 @@ LLFloaterMove::LLFloaterMove(const LLSD& key) { } +LLFloaterMove::~LLFloaterMove() +{ + LLPanelStandStopFlying::getInstance()->reparent(NULL); +} + // virtual BOOL LLFloaterMove::postBuild() { @@ -425,42 +430,15 @@ void LLFloaterMove::showModeButtons(BOOL bShow) return; mModeActionsPanel->setVisible(bShow); - if (isDocked()) - { - return; - } - - updateHeight(bShow); -} - -void LLFloaterMove::updateHeight(bool show_mode_buttons) -{ - static bool size_changed = false; - static S32 origin_height = getRect().getHeight(); - LLRect rect = getRect(); - - static S32 mode_panel_height = mModeActionsPanel->getRect().getHeight(); - - S32 newHeight = getRect().getHeight(); - - if (!show_mode_buttons && origin_height == newHeight) - { - newHeight -= mode_panel_height; - size_changed = true; - } - else if (show_mode_buttons && origin_height > newHeight) + if (bShow) + LLPanelStandStopFlying::getInstance()->reparent(NULL); + else { - newHeight += mode_panel_height; - size_changed = true; + LLPanelStandStopFlying* ssf_panel = LLPanelStandStopFlying::getInstance(); + ssf_panel->reparent(this); + const LLRect& mode_actions_rect = mModeActionsPanel->getRect(); + ssf_panel->setOrigin(mode_actions_rect.mLeft, mode_actions_rect.mBottom); } - - if (!size_changed) - return; - - rect.setLeftTopAndSize(rect.mLeft, rect.mTop, rect.getWidth(), newHeight); - reshape(rect.getWidth(), rect.getHeight()); - setRect(rect); - size_changed = false; } //static @@ -504,14 +482,6 @@ void LLFloaterMove::onOpen(const LLSD& key) //virtual void LLFloaterMove::setDocked(bool docked, bool pop_on_undock/* = true*/) { - LLDockableFloater::setDocked(docked, pop_on_undock); - bool show_mode_buttons = isDocked() || !gAgent.getFlying(); - - if (!isMinimized()) - { - updateHeight(show_mode_buttons); - } - LLTransientDockableFloater::setDocked(docked, pop_on_undock); } @@ -535,7 +505,8 @@ void LLFloaterMove::setModeButtonToggleState(const EMovementMode mode) /************************************************************************/ LLPanelStandStopFlying::LLPanelStandStopFlying() : mStandButton(NULL), - mStopFlyingButton(NULL) + mStopFlyingButton(NULL), + mAttached(false) { // make sure we have the only instance of this class static bool b = true; @@ -624,6 +595,45 @@ BOOL LLPanelStandStopFlying::handleToolTip(S32 x, S32 y, MASK mask) return TRUE; } +void LLPanelStandStopFlying::reparent(LLFloaterMove* move_view) +{ + LLPanel* parent = dynamic_cast<LLPanel*>(getParent()); + if (!parent) + { + llwarns << "Stand/stop flying panel parent is unset" << llendl; + return; + } + + if (move_view != NULL) + { + llassert(move_view != parent); // sanity check + + // Save our original container. + if (!mOriginalParent.get()) + mOriginalParent = parent->getHandle(); + + // Attach to movement controls. + parent->removeChild(this); + move_view->addChild(this); + // Origin must be set by movement controls. + mAttached = true; + } + else + { + if (!mOriginalParent.get()) + { + llwarns << "Original parent of the stand / stop flying panel not found" << llendl; + return; + } + + // Detach from movement controls. + parent->removeChild(this); + mOriginalParent.get()->addChild(this); + mAttached = false; + updatePosition(); // don't defer until next draw() to avoid flicker + } +} + ////////////////////////////////////////////////////////////////////////// // Private Section ////////////////////////////////////////////////////////////////////////// @@ -668,27 +678,14 @@ void LLPanelStandStopFlying::onStopFlyingButtonClick() */ void LLPanelStandStopFlying::updatePosition() { - LLBottomTray* tray = LLBottomTray::getInstance(); - if (!tray) return; + if (!tray || mAttached) return; LLButton* movement_btn = tray->getChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); - //align centers of a button and a floater + // Align centers of the button and the panel. S32 x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; - - S32 y = 0; - - LLFloater *move_floater = LLFloaterReg::findInstance("moveview"); - if (move_floater) - { - if (move_floater->isDocked()) - { - y = move_floater->getRect().mBottom + getRect().getHeight(); - } - } - - setOrigin(x, y); + setOrigin(x, 0); } diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h index cee6078ee9..2664fe6e40 100644 --- a/indra/newview/llmoveview.h +++ b/indra/newview/llmoveview.h @@ -46,11 +46,12 @@ class LLJoystickAgentSlide; class LLFloaterMove : public LLTransientDockableFloater { + LOG_CLASS(LLFloaterMove); friend class LLFloaterReg; private: LLFloaterMove(const LLSD& key); - ~LLFloaterMove() {} + ~LLFloaterMove(); public: /*virtual*/ BOOL postBuild(); @@ -96,7 +97,6 @@ private: void updateButtonsWithMovementMode(const EMovementMode newMode); void updatePosition(); void showModeButtons(BOOL bShow); - void updateHeight(bool show_mode_buttons); public: @@ -126,6 +126,7 @@ private: */ class LLPanelStandStopFlying : public LLPanel { + LOG_CLASS(LLPanelStandStopFlying); public: typedef enum stand_stop_flying_mode_t { @@ -133,6 +134,19 @@ public: SSFM_STOP_FLYING } EStandStopFlyingMode; + /** + * Attach or detach the panel to/from the movement controls floater. + * + * Called when the floater gets opened/closed, user sits, stands up or starts/stops flying. + * + * @param move_view The floater to attach to (not always accessible via floater registry). + * If NULL is passed, the panel gets reparented to its original container. + * + * @see mAttached + * @see mOriginalParent + */ + void reparent(LLFloaterMove* move_view); + static LLPanelStandStopFlying* getInstance(); static void setStandStopFlyingMode(EStandStopFlyingMode mode); static void clearStandStopFlyingMode(EStandStopFlyingMode mode); @@ -157,6 +171,23 @@ private: LLButton* mStandButton; LLButton* mStopFlyingButton; + + /** + * The original parent of the panel. + * + * Makes it possible to move (reparent) the panel to the movement controls floater and back. + * + * @see reparent() + */ + LLHandle<LLPanel> mOriginalParent; + + /** + * True if the panel is currently attached to the movement controls floater. + * + * @see reparent() + * @see updatePosition() + */ + bool mAttached; }; diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index cae5c52378..f1cd8e558f 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -89,8 +89,6 @@ BOOL LLNearbyChat::postBuild() mChatHistory = getChild<LLChatHistory>("chat_history"); - setCanResize(true); - if(!LLDockableFloater::postBuild()) return false; @@ -98,7 +96,7 @@ BOOL LLNearbyChat::postBuild() { setDockControl(new LLDockControl( LLBottomTray::getInstance()->getNearbyChatBar(), this, - getDockTongue(), LLDockControl::LEFT, boost::bind(&LLNearbyChat::getAllowedRect, this, _1))); + getDockTongue(), LLDockControl::TOP, boost::bind(&LLNearbyChat::getAllowedRect, this, _1))); } return true; @@ -217,13 +215,6 @@ void LLNearbyChat::onOpen(const LLSD& key ) } } -void LLNearbyChat::setDocked (bool docked, bool pop_on_undock) -{ - LLDockableFloater::setDocked(docked, pop_on_undock); - - setCanResize(!docked); -} - void LLNearbyChat::setRect (const LLRect &rect) { LLDockableFloater::setRect(rect); diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h index 1f4e57cf89..2f72d65720 100644 --- a/indra/newview/llnearbychat.h +++ b/indra/newview/llnearbychat.h @@ -51,8 +51,6 @@ public: void onNearbyChatContextMenuItemClicked(const LLSD& userdata); bool onNearbyChatCheckContextMenuItem(const LLSD& userdata); - void setDocked (bool docked, bool pop_on_undock = true); - /*virtual*/ void onOpen (const LLSD& key); virtual void setRect (const LLRect &rect); diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index eada387945..04ecf769d5 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -332,7 +332,9 @@ void LLSysWellWindow::reshapeWindow() new_window_height = MAX_WINDOW_HEIGHT; } S32 newY = curRect.mTop + new_window_height - curRect.getHeight(); - curRect.setLeftTopAndSize(curRect.mLeft, newY, MIN_WINDOW_WIDTH, new_window_height); + S32 newWidth = curRect.getWidth() < MIN_WINDOW_WIDTH ? MIN_WINDOW_WIDTH + : curRect.getWidth(); + curRect.setLeftTopAndSize(curRect.mLeft, newY, newWidth, new_window_height); reshape(curRect.getWidth(), curRect.getHeight(), TRUE); setRect(curRect); diff --git a/indra/newview/llviewerchat.cpp b/indra/newview/llviewerchat.cpp index ccf9ce9056..96ecf0d8a7 100644 --- a/indra/newview/llviewerchat.cpp +++ b/indra/newview/llviewerchat.cpp @@ -217,4 +217,4 @@ void LLViewerChat::formatChatMsg(const LLChat& chat, std::string& formated_msg) formated_msg = tmpmsg; } -}
\ No newline at end of file +} diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 90a79698f6..48f0f7516f 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1566,8 +1566,6 @@ void LLViewerWindow::initWorldUI() LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container"); LLPanelStandStopFlying* panel_stand_stop_flying = LLPanelStandStopFlying::getInstance(); - panel_stand_stop_flying->setShape(panel_ssf_container->getLocalRect()); - panel_stand_stop_flying->setFollowsAll(); panel_ssf_container->addChild(panel_stand_stop_flying); panel_ssf_container->setVisible(TRUE); diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml index a3ac878202..21d292847a 100644 --- a/indra/newview/skins/default/xui/en/floater_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_gesture.xml @@ -83,7 +83,20 @@ tool_tip="Make new gesture" top_delta="0" width="18" /> - <button + <button + follows="bottom|left" + font="SansSerifBigBold" + height="10" + image_hover_selected="Activate_Checkmark" + image_selected="Activate_Checkmark" + image_unselected="Activate_Checkmark" + layout="topleft" + left_pad="5" + name="activate_btn" + tool_tip="Activate/Deactivate selected gesture" + top="10" + width="10" /> + <button follows="bottom|right" font="SansSerifBigBold" height="18" diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 452d28d4ea..70d708f0e7 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -9,6 +9,7 @@ name="panel_im" help_topic="panel_im" top="0" + can_close="false" can_dock="true" can_minimize="true" visible="true" diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml index 7f58ea132e..84e549f773 100644 --- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml +++ b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml @@ -3,7 +3,7 @@ legacy_header_height="18" can_minimize="true" can_tear_off="false" - can_resize="false" + can_resize="true" can_drag_on_left="false" can_close="false" can_dock="true" diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml index e1f07a49e7..be6d63716c 100644 --- a/indra/newview/skins/default/xui/en/floater_sys_well.xml +++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml @@ -15,7 +15,7 @@ height="23" can_minimize="true" can_tear_off="false" - can_resize="false" + can_resize="true" can_drag_on_left="false" can_close="false" can_dock="true" diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 9e35c95d45..14a4949df7 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -10,7 +10,7 @@ <layout_stack border_size="0" follows="all" mouse_opaque="false" - height="772" + height="768" name="menu_stack" orientation="vertical" top="0"> diff --git a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml index 590621062c..a731996a1a 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml @@ -17,6 +17,8 @@ name="add_friend">
<menu_item_call.on_click
function="InspectAvatar.AddFriend"/>
+ <menu_item_call.on_enable
+ function="InspectAvatar.Gear.Enable"/>
</menu_item_call>
<menu_item_call
label="IM"
diff --git a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml index 5c8a8ee208..3842c2a8db 100644 --- a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml +++ b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml @@ -61,6 +61,7 @@ layout="topleft" left_delta="0" name="Block object by name..." + tool_tip="Pick an object to block by name" top_pad="4" width="210" > <button.commit_callback diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index a902f50582..d2933c0c0e 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -94,7 +94,7 @@ min_height="28" width="82" top_delta="0" - min_width="82" + min_width="52" name="gesture_panel" user_resize="false"> <gesture_combo_box @@ -105,9 +105,13 @@ name="Gesture" left="0" top="3" - use_ellipses="true" width="82" - tool_tip="Shows/hides gestures"/> + tool_tip="Shows/hides gestures"> + <gesture_combo_box.drop_down_button + font="SansSerifSmall" + pad_right="10" + use_ellipses="true" /> + </gesture_combo_box> </layout_panel> <icon auto_resize="false" @@ -131,7 +135,7 @@ name="movement_panel" user_resize="false" width="80" - min_width="80"> + min_width="49"> <button follows="left|right" height="23" @@ -167,7 +171,7 @@ height="28" layout="topleft" min_height="28" - min_width="80" + min_width="49" name="cam_panel" user_resize="false" width="80"> diff --git a/indra/newview/skins/default/xui/en/panel_chat_item.xml b/indra/newview/skins/default/xui/en/panel_chat_item.xml index 05b04bbf8e..d8a0c877fd 100644 --- a/indra/newview/skins/default/xui/en/panel_chat_item.xml +++ b/indra/newview/skins/default/xui/en/panel_chat_item.xml @@ -15,19 +15,13 @@ color="1 1 1 1" enabled="true" name="avatar_icon" /> <text - width="130" top="25" left="40" height="20" follows="left|right|top" + width="150" top="25" left="40" height="20" follows="left|right|top" font="SansSerifBigBold" text_color="white" word_wrap="false" use_ellipses="true" mouse_opaque="true" name="sender_name" > Jerry Knight </text> - <icon top="22" left="170" width="15" height="15" follows="top|right" + <icon top="22" left="215" width="15" height="15" follows="top|right" image_name="icn_voice-pvtfocus.tga" visible="false" name="msg_inspector"/> - <icon top="22" left="190" width="10" height="10" follows="top|right" - image_name="speaking_indicator.tga" name="msg_icon"/> - <text width="35" top="22" left="205" height="20" follows="right|top" - text_color="white" word_wrap="true" mouse_opaque="true" name="msg_time" > - 10:32 - </text> </panel> <text_chat top="-35" left="10" right="-10" height="120" follows="left|right|bottom" diff --git a/indra/newview/skins/default/xui/en/panel_group_notify.xml b/indra/newview/skins/default/xui/en/panel_group_notify.xml index 984a799b41..e699a77581 100644 --- a/indra/newview/skins/default/xui/en/panel_group_notify.xml +++ b/indra/newview/skins/default/xui/en/panel_group_notify.xml @@ -104,7 +104,8 @@ name="attachment"
text_color="GroupNotifyTextColor"
value="Attachment"
- width="280" />
+ use_ellipses="true"
+ width="250" />
<button
bottom="130"
follows="bottom"
diff --git a/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml index 1f67a0a732..4ab6175805 100644 --- a/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml @@ -26,7 +26,7 @@ name="selected_icon" top="0" visible="false" - width="320" /> + width="380" /> <icon height="16" follows="top|left" @@ -46,7 +46,7 @@ text_color="white" top="4" value="..." - width="242" /> + width="330" /> <button follows="right" height="20" |