summaryrefslogtreecommitdiff
path: root/indra/llui/llmultifloater.cpp
diff options
context:
space:
mode:
authorRichard Nelson <richard@lindenlab.com>2009-08-04 01:12:59 +0000
committerRichard Nelson <richard@lindenlab.com>2009-08-04 01:12:59 +0000
commiteb853f55c07ae4a3c3f2aa05fbabcf2e4b4dc115 (patch)
tree7707fccb8d0946b6257d5ed7c5dfd3941c53eec0 /indra/llui/llmultifloater.cpp
parentdb5cda26676f376f18816013c0c5e3fbad5b20d0 (diff)
svn merge -r 128442:129343 svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-18 into svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-2.0.0-3
Diffstat (limited to 'indra/llui/llmultifloater.cpp')
-rw-r--r--indra/llui/llmultifloater.cpp32
1 files changed, 15 insertions, 17 deletions
diff --git a/indra/llui/llmultifloater.cpp b/indra/llui/llmultifloater.cpp
index 22683d7950..9f9e3aecac 100644
--- a/indra/llui/llmultifloater.cpp
+++ b/indra/llui/llmultifloater.cpp
@@ -42,8 +42,8 @@
// LLMultiFloater
//
-LLMultiFloater::LLMultiFloater(const LLFloater::Params& params)
- : LLFloater(),
+LLMultiFloater::LLMultiFloater(const LLSD& key, const LLFloater::Params& params)
+ : LLFloater(key),
mTabContainer(NULL),
mTabPos(LLTabContainer::TOP),
mAutoResize(TRUE),
@@ -74,20 +74,12 @@ void LLMultiFloater::buildTabContainer()
void LLMultiFloater::onOpen(const LLSD& key)
{
- if (mTabContainer->getTabCount() <= 0)
- {
- // for now, don't allow multifloaters
- // without any child floaters
- closeFloater();
- }
-}
-
-void LLMultiFloater::onClose(bool app_quitting)
-{
- if(closeAllFloaters() == TRUE)
- {
- LLFloater::onClose(app_quitting);
- }//else not all tabs could be closed...
+// if (mTabContainer->getTabCount() <= 0)
+// {
+// // for now, don't allow multifloaters
+// // without any child floaters
+// closeFloater();
+// }
}
void LLMultiFloater::draw()
@@ -124,7 +116,8 @@ BOOL LLMultiFloater::closeAllFloaters()
//Tab did not actually close, possibly due to a pending Save Confirmation dialog..
//so try and close the next one in the list...
tabToClose++;
- }else
+ }
+ else
{
//Tab closed ok.
lastTabCount = mTabContainer->getTabCount();
@@ -246,6 +239,9 @@ void LLMultiFloater::addFloater(LLFloater* floaterp, BOOL select_added_floater,
{
floaterp->setVisible(FALSE);
}
+
+ // Tabs sometimes overlap resize handle
+ moveResizeHandlesToFront();
}
/**
@@ -448,6 +444,8 @@ void LLMultiFloater::setCanResize(BOOL can_resize)
BOOL LLMultiFloater::postBuild()
{
+ mCloseSignal.connect(boost::bind(&LLMultiFloater::closeAllFloaters, this));
+
// remember any original xml minimum size
getResizeLimits(&mOrigMinWidth, &mOrigMinHeight);