diff options
| -rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/newview/llfloatersidetraytab.cpp | 45 | ||||
| -rw-r--r-- | indra/newview/llfloatersidetraytab.h | 47 | ||||
| -rw-r--r-- | indra/newview/llviewerfloaterreg.cpp | 3 | 
4 files changed, 96 insertions, 1 deletions
| diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 630902c48f..d6622f164e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -203,6 +203,7 @@ set(viewer_SOURCE_FILES      llfloatersearch.cpp      llfloatersellland.cpp      llfloatersettingsdebug.cpp +    llfloatersidetraytab.cpp      llfloatersnapshot.cpp      llfloatertelehub.cpp      llfloatertestinspectors.cpp @@ -727,6 +728,7 @@ set(viewer_HEADER_FILES      llfloatersearch.h      llfloatersellland.h      llfloatersettingsdebug.h +    llfloatersidetraytab.h      llfloatersnapshot.h      llfloatertelehub.h      llfloatertestinspectors.h diff --git a/indra/newview/llfloatersidetraytab.cpp b/indra/newview/llfloatersidetraytab.cpp new file mode 100644 index 0000000000..f13b4db3a0 --- /dev/null +++ b/indra/newview/llfloatersidetraytab.cpp @@ -0,0 +1,45 @@ +/**  + * @file llfloatersidetraytab.cpp + * @brief LLFloaterSideTrayTab class definition + * + * $LicenseInfo:firstyear=2010&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + *  + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + *  + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details. + *  + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloatersidetraytab.h" + +// newview includes +#include "lltransientfloatermgr.h" + +LLFloaterSideTrayTab::LLFloaterSideTrayTab(const LLSD& key, const Params& params) +:	LLFloater(key, params) +{ +	// Prevent transient floaters (e.g. IM windows) from hiding +	// when this floater is clicked. +	LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this); +} + +LLFloaterSideTrayTab::~LLFloaterSideTrayTab() +{ +	LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this); +} diff --git a/indra/newview/llfloatersidetraytab.h b/indra/newview/llfloatersidetraytab.h new file mode 100644 index 0000000000..e47f82e8ba --- /dev/null +++ b/indra/newview/llfloatersidetraytab.h @@ -0,0 +1,47 @@ +/**  + * @file llfloatersidetraytab.h + * @brief LLFloaterSideTrayTab class definition + * + * $LicenseInfo:firstyear=2010&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + *  + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + *  + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details. + *  + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATERSIDETRAYTAB_H +#define LL_LLFLOATERSIDETRAYTAB_H + +#include "llfloater.h" + +/** + * When a side tray tab gets detached, it's wrapped in an instance of this class. + * + * This class helps to make sure that clicking a detached side tray tab doesn't + * make transient floaters (e.g. IM windows) hide, so that it's possible to + * drag an inventory item from detached My Inventory window to a docked IM window, + * i.e. share the item (see VWR-22891). + */ +class LLFloaterSideTrayTab : public LLFloater +{ +public: +	LLFloaterSideTrayTab(const LLSD& key, const Params& params = getDefaultParams()); +	~LLFloaterSideTrayTab(); +}; + +#endif // LL_LLFLOATERSIDETRAYTAB_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 8728298575..b6f2d34663 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -86,6 +86,7 @@  #include "llfloaterscriptlimits.h"  #include "llfloatersellland.h"  #include "llfloatersettingsdebug.h" +#include "llfloatersidetraytab.h"  #include "llfloatersnapshot.h"  #include "llfloatertelehub.h"  #include "llfloatertestinspectors.h" @@ -234,7 +235,7 @@ void LLViewerFloaterReg::registerFloaters()  	LLFloaterReg::add("script_limits", "floater_script_limits.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterScriptLimits>);  	LLFloaterReg::add("sell_land", "floater_sell_land.xml", &LLFloaterSellLand::buildFloater);  	LLFloaterReg::add("settings_debug", "floater_settings_debug.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSettingsDebug>); -	LLFloaterReg::add("side_bar_tab", "floater_side_bar_tab.xml",&LLFloaterReg::build<LLFloater>); +	LLFloaterReg::add("side_bar_tab", "floater_side_bar_tab.xml", &LLFloaterReg::build<LLFloaterSideTrayTab>);  	LLFloaterReg::add("stats", "floater_stats.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloater>);  	LLFloaterReg::add("start_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterRunQueue>);  	LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>); | 
