* Added widgets into xml, added setting and listener for context menu
* added menu item to show/hide the button
* button is made as may be hidden on resize
Additional improvements:
* Updated method to process buttons width when it is necessary to show any button via context menu
* Updated LLBottomTray::initButtonsVisibility to not show warning messages if it is impossible to show a button due to bottom tray width on startup.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/403/
--HG--
branch : product-engine
* LLResizeBar calls notifyParent on resizing before changing rect of view, bottomtray processed this notification to update other buttons.
* Had to move setup of buttons visibility on startup into LLBottomTray to ensure all buttons have necessary visibility BEFORE restore the width of the chat entry field;
* Updated layout between chatbar and speak button to show resize mouse pointer in the middle between them.
Implemented behavior: visible buttons shrink to their minimal width when the chat entry field gets wider.
Also were refactored:
* moved declaration of settings related to buttons visibility from the settings.xml to LLBottomTray.
* moved setting of control listeners to LLBottomTray.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/403/
--HG--
branch : product-engine
* Added 4 buttons with tooltips:
** Build - Shows/hides Build Tools
** Search - Shows/hides Search
** Map - Shows/hides World Map
** Mini-Map - Shows/hides Mini-Map
* Made their width and minimal width the same as "Move" and "View" buttons (increased default total width of the bottom tray to make Layout Stack initialize its panels with default values from xml)
* Added appropriate menu items in context menu to Show these buttons in the bottom tray (with functionality)
* Set on click actions for this buttons. ("Build" temporary made disabled because default toggle registration is not enough for this floater.)
Dev Notes:
* Improved LLBottomTray::initResizeStateContainers to fill mObjectDefaultWidthMap using mStateProcessedObjectMap & mButtonsProcessOrder container
* Improved LLBottomTray::canButtonBeShown to process variable number of buttons that can be hidden on resize
QA Notes:
Resize behavior with new buttons can already be tested.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/381/
--HG--
branch : product-engine
* added vector of buttons that can be shown/hidden extended/shrunk on resizing.
* updated these operation to use iteration over this array.
* cleaned up container initialization.
This allow to extend this vector to add new buttons in bottom tray.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/381/
--HG--
branch : product-engine
* updated method related to resize logic to take references to S32 instead of pointer.
* added doxygen comments for these methods.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/381/
--HG--
branch : product-engine
* removed dummy icons
* encreased width and minimal width of next to the left layout panels to icons' widths.
* removed code processed dummy icons
Reviewed by Vadim.
--HG--
branch : product-engine
* Removed llfloateractivespeacker.h/cpp from CMakeLists.txt and from the repo.
* Removed llmediaremotectrl.h/cpp, llvoiceremotectrl.h/cpp from the repo (were not in CMakeLists.txt).
* Unused in 2.0 setings ("ShowVoiceChannelPopup" & "ShowVolumeSettingsPopup") are moved to the end of settings.xml (to not affect 1.23 if remove).
* Removed xml files related to Active Speakers floater and old Communication floater (related cpp files have been already removed). Also removed their localized versions.
* Also removed old textures related to removed xml and unused in 2.0 anymore.
Reviewed by Vadim at https://codereview.productengine.com/secondlife/r/226/
--HG--
branch : product-engine
* 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
Now IM Well counter displays unread messages calculating it based on chiclets instead of displaying unread messages across all IM Model
--HG--
branch : product-engine
-- removed member pointer to Notification Well Icon from the LLBottomTray
-- placed Well counter over the Icon, made center-aligned
--HG--
branch : product-engine
Initial commit
-- added two floater classes derived from LLSysWellWindow to work with Notification Well & IM Well
-- register two floaters in place of previous sys_well (but with the same xml file)
-- replace using of LLSysWellWindow with LLNotificationWellWindow in the out code (except of in LLScreenChannel::updateShowToastsState)
-- rename member variable in bottom tray used for Notification Well
--HG--
branch : product-engine
- updated resize behavior to shrink Snapshot button: only speaker is shown in this case.
- updated LLSpeakButton to hide/show its labels
- updated talk_button widget (talk_button.xml) to have correct follows attributes
- also fixed bug with calculating necessary updates for children while extending bottom tray
--HG--
branch : product-engine
- added possibility to shrink/extend buttons (gestures, move, view) while resizing
- I had to add LLLayoutStack::getPanelMinSize interface to validate width of Layout panels with these buttons
--HG--
branch : product-engine
Fixed issue: "Snapshort button can appear first due to its the least width while Bottom Bar extending"
- implemented ordering in which buttons can be shown: Gesture, Move, View, Snapshot.
--HG--
branch : product-engine
Implemented functionality to process Buttons hidden/shown via context menu
1. hidden buttons are not processed while resizing
2. setTrayButtonVisibleIfPossible() is implemented:
* If it is impossible to show required button via context menu due to there is no enough room in bottom tray
* it will no be shown.
* Method also stores resize state to be processed while future bottom tray extending:
* - if hidden while resizing button should be hidden it will not be shown while extending;
* - if hidden via context menu button should be shown but there is no enough room for now
* it will be shown while extending.
--HG--
branch : product-engine
Code refuctored:
- moved code to process Borrom Bar shrinking into separate method
- unified code to process a hiding of the Bottom Tray's buttons
Code is ready to process shrink after min width is reached & be synchronized with user hidden buttons
--HG--
branch : product-engine
Code refactored:
- processShowButton() now gets type of buttons should be shown instead of object
- removed unnecessary code
--HG--
branch : product-engine
Code refactored:
- move calculating of buttons_required_width inside processShowButton();
- remove changing of delta_width out of processing each button while increasing width
--HG--
branch : product-engine
Initial refactoring of functionality:
- Re-Fixed bug with visibility of chiclet panel of the min size
- updated bottomtray xml to make buttons identical to each other
- Imroved logic while resizing of bottom tray (changing width of chiclet & nearby panels, hide/show buttons)
--HG--
branch : product-engine