diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-03-30 17:42:05 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-03-30 17:42:05 +0300 |
commit | 67a7112a7cfae8633cfd903e24cec8b003a3cee9 (patch) | |
tree | 763f50638a9ba48924705b6f912a543f75a3cd27 /indra/newview/llbottomtray.h | |
parent | c73dcb079991bad12458386274cec409013ad76b (diff) |
Completed normal task EXT-3397 (Hide well buttons if there are no active IM sessions and unresolved notifications)
* Implemented hiding of bottom tray's wells if there are no active IMs or unresolved notifications (via LLBottomTray::notifyParent)
* Also refactored initializing code to init a pointer to a chiclet panel and map with bottomtray parts in postBuild BEFORE initializing start wells' visibility.
For now minimal viewer width when all buttons are still visible (and have non-truncated labels in the 'EN' locale) with opened sidetray is 1041 px; with short Speak button (without text label) is 990 px. (with implemented patch in https://codereview.productengine.com/secondlife/r/126/)
Each well button takes 37 px (with a padding). So, they can free up to 74 px when invisible.
reviewed by Vadim at https://codereview.productengine.com/secondlife/r/136/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llbottomtray.h')
-rw-r--r-- | indra/newview/llbottomtray.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 18c14e5e19..3c45777645 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -83,6 +83,8 @@ public: virtual void setVisible(BOOL visible); + /*virtual*/ S32 notifyParent(const LLSD& info); + // Implements LLVoiceClientStatusObserver::onChange() to enable the speak // button when voice is available /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); @@ -116,6 +118,8 @@ private: , RS_BUTTON_MOVEMENT = 0x0010 , RS_BUTTON_GESTURES = 0x0020 , RS_BUTTON_SPEAK = 0x0040 + , RS_IM_WELL = 0x0080 + , RS_NOTIFICATION_WELL = 0x0100 /** * Specifies buttons which can be hidden when bottom tray is shrunk. @@ -184,6 +188,15 @@ private: */ bool setVisibleAndFitWidths(EResizeState object_type, bool visible); + /** + * Shows/hides panel with specified well button (IM or Notification) + * + * @param[in] object_type - type of well button to be processed. + * Must be one of RS_IM_WELL or RS_NOTIFICATION_WELL. + * @param[in] visible - flag specified whether button should be shown or hidden. + */ + void showWellButton(EResizeState object_type, bool visible); + MASK mResizeState; typedef std::map<EResizeState, LLPanel*> state_object_map_t; |