From 74429f2ed926362a2ec47d590fc862b55b26f0f8 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Fri, 22 Jan 2010 13:42:52 +0200 Subject: =?UTF-8?q?fixed=20EXT-3670=20=E2=80=9CClicking=20on=20IM=20sessio?= =?UTF-8?q?n=20in=20IM=20session=20well=20closes=20IM=20floater=E2=80=9D,?= =?UTF-8?q?=20implemented=20exclude=20sets=20for=20groups=20of=20transient?= =?UTF-8?q?=20floaters,=20now=20transient=20floaters=20not=20closes=20if?= =?UTF-8?q?=20user=20click=20on=20view=20from=20global=20exclude=20set=20o?= =?UTF-8?q?r=20from=20floater=20group=20set;=20made=20IM=20floater=20goes?= =?UTF-8?q?=20foreground=20if=20it=20visible=20but=20not=20focused=20inste?= =?UTF-8?q?ad=20hide=20floater;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/lltransientdockablefloater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/lltransientdockablefloater.cpp') diff --git a/indra/newview/lltransientdockablefloater.cpp b/indra/newview/lltransientdockablefloater.cpp index 7e4d4988d1..b830498cb0 100644 --- a/indra/newview/lltransientdockablefloater.cpp +++ b/indra/newview/lltransientdockablefloater.cpp @@ -39,7 +39,7 @@ LLTransientDockableFloater::LLTransientDockableFloater(LLDockControl* dockControl, bool uniqueDocking, const LLSD& key, const Params& params) : - LLDockableFloater(dockControl, uniqueDocking, key, params) + LLDockableFloater(dockControl, uniqueDocking, key, params), LLTransientFloater(this) { LLTransientFloaterMgr::getInstance()->registerTransientFloater(this); } -- cgit v1.2.3 From d18c46bc15dc1f42c4119a3af9e5284335333475 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Fri, 22 Jan 2010 14:47:51 +0200 Subject: win build fixed --HG-- branch : product-engine --- indra/newview/lltransientdockablefloater.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/lltransientdockablefloater.cpp') diff --git a/indra/newview/lltransientdockablefloater.cpp b/indra/newview/lltransientdockablefloater.cpp index b830498cb0..c9bfe178ce 100644 --- a/indra/newview/lltransientdockablefloater.cpp +++ b/indra/newview/lltransientdockablefloater.cpp @@ -39,9 +39,10 @@ LLTransientDockableFloater::LLTransientDockableFloater(LLDockControl* dockControl, bool uniqueDocking, const LLSD& key, const Params& params) : - LLDockableFloater(dockControl, uniqueDocking, key, params), LLTransientFloater(this) + LLDockableFloater(dockControl, uniqueDocking, key, params) { LLTransientFloaterMgr::getInstance()->registerTransientFloater(this); + LLTransientFloater::init(this); } LLTransientDockableFloater::~LLTransientDockableFloater() -- cgit v1.2.3 From 6ffc21e00d07a7c90d46009571556a9caec96e62 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Mon, 25 Jan 2010 12:07:23 +0200 Subject: fixed EXT-3395 "Docked IM/Chat windows shouldn't hide when voice control panel is opened", added transient controls group 'DOCKED' for temporary excluded docked floaters and dock widgets; --HG-- branch : product-engine --- indra/newview/lltransientdockablefloater.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'indra/newview/lltransientdockablefloater.cpp') diff --git a/indra/newview/lltransientdockablefloater.cpp b/indra/newview/lltransientdockablefloater.cpp index c9bfe178ce..9d39aa5182 100644 --- a/indra/newview/lltransientdockablefloater.cpp +++ b/indra/newview/lltransientdockablefloater.cpp @@ -48,6 +48,14 @@ LLTransientDockableFloater::LLTransientDockableFloater(LLDockControl* dockContro LLTransientDockableFloater::~LLTransientDockableFloater() { LLTransientFloaterMgr::getInstance()->unregisterTransientFloater(this); + LLView* dock = getDockWidget(); + LLTransientFloaterMgr::getInstance()->removeControlView( + LLTransientFloaterMgr::DOCKED, this); + if (dock != NULL) + { + LLTransientFloaterMgr::getInstance()->removeControlView( + LLTransientFloaterMgr::DOCKED, dock); + } } void LLTransientDockableFloater::setVisible(BOOL visible) @@ -55,18 +63,18 @@ void LLTransientDockableFloater::setVisible(BOOL visible) LLView* dock = getDockWidget(); if(visible && isDocked()) { - LLTransientFloaterMgr::getInstance()->addControlView(this); + LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::DOCKED, this); if (dock != NULL) { - LLTransientFloaterMgr::getInstance()->addControlView(dock); + LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::DOCKED, dock); } } else { - LLTransientFloaterMgr::getInstance()->removeControlView(this); + LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::DOCKED, this); if (dock != NULL) { - LLTransientFloaterMgr::getInstance()->removeControlView(dock); + LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::DOCKED, dock); } } @@ -78,18 +86,18 @@ void LLTransientDockableFloater::setDocked(bool docked, bool pop_on_undock) LLView* dock = getDockWidget(); if(docked) { - LLTransientFloaterMgr::getInstance()->addControlView(this); + LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::DOCKED, this); if (dock != NULL) { - LLTransientFloaterMgr::getInstance()->addControlView(dock); + LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::DOCKED, dock); } } else { - LLTransientFloaterMgr::getInstance()->removeControlView(this); + LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::DOCKED, this); if (dock != NULL) { - LLTransientFloaterMgr::getInstance()->removeControlView(dock); + LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::DOCKED, dock); } } -- cgit v1.2.3