From 67be46c78a28864360a0ca5ba66d6044a1b9b38d Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 28 Sep 2010 17:12:50 -0700 Subject: made mIsFocusRoot a XUI param --- indra/newview/llsidetray.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 521e5005e8..53d8a5c19e 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -155,8 +155,6 @@ LLSideTrayTab::LLSideTrayTab(const Params& p) mDescription(p.description), mMainPanel(NULL) { - // Necessary for focus movement among child controls - setFocusRoot(TRUE); } LLSideTrayTab::~LLSideTrayTab() -- cgit v1.2.3 From 01b28ddf5ddc7118bc8b2047d899aee0293a8721 Mon Sep 17 00:00:00 2001 From: Richard Nelson Date: Wed, 6 Oct 2010 20:10:36 -0700 Subject: EXP-156 WIP Implement custom Skylight hints --- indra/newview/llsidetray.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 53d8a5c19e..9cb6df6c30 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -878,7 +878,6 @@ void LLSideTray::createButtons () } } LLHints::registerHintTarget("inventory_btn", mTabButtons["sidebar_inventory"]->getHandle()); - LLHints::registerHintTarget("dest_guide_btn", mTabButtons["sidebar_places"]->getHandle()); } void LLSideTray::processTriState () -- cgit v1.2.3 From 90f496b3028241afb62ab6db3cdf4dc8ef3abe0e Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Mon, 22 Nov 2010 16:09:33 +0200 Subject: STORM-461 FIXED Hide sidebar tab buttons in mouselook mode. --- indra/newview/llsidetray.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 81b2fc0ae0..a4f855f279 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -1028,7 +1028,8 @@ void LLSideTray::arrange() } // The tab buttons should be shown only if there is at least one non-detached tab. - mButtonsPanel->setVisible(hasTabs()); + // Also hide them in mouse-look mode. + mButtonsPanel->setVisible(hasTabs() && !gAgentCamera.cameraMouselook()); } // Detach those tabs that were detached when the viewer exited last time. -- cgit v1.2.3 From abcb3a7306f95f66aadb3db2fa8cd4000bc0a8e5 Mon Sep 17 00:00:00 2001 From: Andrew Productengine Date: Wed, 24 Nov 2010 19:01:01 +0200 Subject: STORM-375 FIXED Fixed resetting of opened accordion on minimizing/unminimizing Appearance floater. The floater on minimization behaved the way consistent with Appearance panel in sidetray on visibility change. - To let LLSidepanelAppearance::updateToVisibility() determine whether to reset state or not, "reset_accordion" field was added to LLSD that it passed to it. It's value is different depending on where updateToVisibility() was called from. "visible" field was added to store boolean value that was passed before fix without name, but now can't be used that way. --- indra/newview/llsidetray.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index a4f855f279..2905e369f1 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -298,7 +298,11 @@ static void on_minimize(LLSidepanelAppearance* panel, LLSD minimized) { if (!panel) return; bool visible = !minimized.asBoolean(); - panel->updateToVisibility(LLSD(visible)); + LLSD visibility; + visibility["visible"] = visible; + // Do not reset accordion state on minimize (STORM-375) + visibility["reset_accordion"] = false; + panel->updateToVisibility(visibility); } void LLSideTrayTab::undock(LLFloater* floater_tab) -- cgit v1.2.3 From 2f0919b175444221783942ce6f49e2e04a725227 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Mon, 29 Nov 2010 16:48:58 +0200 Subject: STORM-688 FIXED Sidebar becomes semitransparent if dock semitransparent side panel back to the Sidebar - Before docking the tab back to the sidetray, set floater's children to non-transparent state - After detaching tab from the sidetray there is no need to set manually floater's children transparency. It happens automatically when floater gets focus. --- indra/newview/llsidetray.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index a4f855f279..526f3d1e77 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -118,7 +118,7 @@ public: protected: LLSideTrayTab(const Params& params); - void dock(); + void dock(LLFloater* floater_tab); void undock(LLFloater* floater_tab); LLSideTray* getSideTray(); @@ -259,7 +259,7 @@ void LLSideTrayTab::toggleTabDocked() if (docking) { - dock(); + dock(floater_tab); } else { @@ -271,11 +271,14 @@ void LLSideTrayTab::toggleTabDocked() LLFloaterReg::toggleInstance("side_bar_tab", tab_name); } -void LLSideTrayTab::dock() +void LLSideTrayTab::dock(LLFloater* floater_tab) { LLSideTray* side_tray = getSideTray(); if (!side_tray) return; + // Before docking the tab, reset its (and its children's) transparency to default (STORM-688). + floater_tab->updateChildrenTransparency(TT_DEFAULT); + if (!side_tray->addTab(this)) { llwarns << "Failed to add tab " << getName() << " to side tray" << llendl; -- cgit v1.2.3 From 3c4cf5a309612d2a999453b282cad0aab7764083 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Wed, 1 Dec 2010 15:46:57 +0200 Subject: STORM-677 ADDITIONAL_FIX Force textures inside texture picker to be 100% opaque while the control is in a focused floater. Besides, made LLFloater handle opacity more like other controls do. --- indra/newview/llsidetray.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 526f3d1e77..3f8aeaf400 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -277,7 +277,7 @@ void LLSideTrayTab::dock(LLFloater* floater_tab) if (!side_tray) return; // Before docking the tab, reset its (and its children's) transparency to default (STORM-688). - floater_tab->updateChildrenTransparency(TT_DEFAULT); + floater_tab->updateTransparency(TT_DEFAULT); if (!side_tray->addTab(this)) { -- cgit v1.2.3 From f644ef0fb00aa622cb132553bc33d38f8b454ecd Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 24 Dec 2010 20:20:26 +0200 Subject: STORM-682 FIXED Fixed positioning notification toasts in mouse-look mode. Toasts were positioned as if side tray was expanded. The fix is to reshape the so-called toasts screen channel (an area where toasts are drawn) on entering/leaving mouse-look mode, so that the screen channel can notice that side tray get in/visible. --- indra/newview/llsidetray.cpp | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 3bc3959e0b..aef665a35c 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -561,7 +561,7 @@ BOOL LLSideTray::postBuild() { if ((*it).channel) { - getCollapseSignal().connect(boost::bind(&LLScreenChannelBase::resetPositionAndSize, (*it).channel, _2)); + setVisibleWidthChangeCallback(boost::bind(&LLScreenChannelBase::resetPositionAndSize, (*it).channel)); } } @@ -980,9 +980,6 @@ void LLSideTray::reflectCollapseChange() } gFloaterView->refresh(); - - LLSD new_value = mCollapsed; - mCollapseSignal(this,new_value); } void LLSideTray::arrange() @@ -1262,9 +1259,29 @@ bool LLSideTray::isPanelActive(const std::string& panel_name) void LLSideTray::updateSidetrayVisibility() { // set visibility of parent container based on collapsed state - if (getParent()) + LLView* parent = getParent(); + if (parent) { - getParent()->setVisible(!mCollapsed && !gAgentCamera.cameraMouselook()); + bool old_visibility = parent->getVisible(); + bool new_visibility = !mCollapsed && !gAgentCamera.cameraMouselook(); + + if (old_visibility != new_visibility) + { + parent->setVisible(new_visibility); + + // Signal change of visible width. + llinfos << "Visible: " << new_visibility << llendl; + mVisibleWidthChangeSignal(this, new_visibility); + } } } +S32 LLSideTray::getVisibleWidth() +{ + return (isInVisibleChain() && !mCollapsed) ? getRect().getWidth() : 0; +} + +void LLSideTray::setVisibleWidthChangeCallback(const commit_signal_t::slot_type& cb) +{ + mVisibleWidthChangeSignal.connect(cb); +} -- cgit v1.2.3