aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llui
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-05-03 22:20:51 -0700
committerJacek Antonelli2010-06-19 02:03:55 -0500
commit0981d741d03119904cb3bfad18c7a4b931b7c654 (patch)
treee6f3ff8c5686e4b6fec2967bfdf0b8ec19387586 /linden/indra/llui
parentImprudence 1.3.0 beta 4 released. (diff)
downloadmeta-impy-0981d741d03119904cb3bfad18c7a4b931b7c654.zip
meta-impy-0981d741d03119904cb3bfad18c7a4b931b7c654.tar.gz
meta-impy-0981d741d03119904cb3bfad18c7a4b931b7c654.tar.bz2
meta-impy-0981d741d03119904cb3bfad18c7a4b931b7c654.tar.xz
Added minimize all option to the File menu, works on everything but the snapshot window (decided that was a feature)
Diffstat (limited to 'linden/indra/llui')
-rw-r--r--linden/indra/llui/llfloater.cpp31
-rw-r--r--linden/indra/llui/llfloater.h1
2 files changed, 32 insertions, 0 deletions
diff --git a/linden/indra/llui/llfloater.cpp b/linden/indra/llui/llfloater.cpp
index 5c46d54..f6451a1 100644
--- a/linden/indra/llui/llfloater.cpp
+++ b/linden/indra/llui/llfloater.cpp
@@ -2171,6 +2171,37 @@ void LLFloaterView::destroyAllChildren()
2171 LLView::deleteAllChildren(); 2171 LLView::deleteAllChildren();
2172} 2172}
2173 2173
2174void LLFloaterView::minimizeAllChildren()
2175{
2176 // iterate over a copy of the list, because closing windows will destroy
2177 // some windows on the list.
2178 child_list_t child_list = *(getChildList());
2179
2180 for (child_list_const_iter_t it = child_list.begin(); it != child_list.end(); ++it)
2181 {
2182 LLView* viewp = *it;
2183 child_list_const_iter_t exists = std::find(getChildList()->begin(), getChildList()->end(), viewp);
2184 if (exists == getChildList()->end())
2185 {
2186 // this floater has already been removed
2187 continue;
2188 }
2189
2190 LLFloater* floaterp = (LLFloater*)viewp;
2191
2192 if (floaterp)
2193 {
2194 if (!floaterp->isDead()
2195 && floaterp->getVisible()
2196 && floaterp->isMinimizeable()
2197 && !floaterp->isMinimized())
2198 {
2199 floaterp->setMinimized(TRUE);
2200 }
2201 }
2202 }
2203}
2204
2174void LLFloaterView::closeAllChildren(bool app_quitting) 2205void LLFloaterView::closeAllChildren(bool app_quitting)
2175{ 2206{
2176 // iterate over a copy of the list, because closing windows will destroy 2207 // iterate over a copy of the list, because closing windows will destroy
diff --git a/linden/indra/llui/llfloater.h b/linden/indra/llui/llfloater.h
index fa69258..f4c62f0 100644
--- a/linden/indra/llui/llfloater.h
+++ b/linden/indra/llui/llfloater.h
@@ -366,6 +366,7 @@ public:
366 // attempt to close all floaters 366 // attempt to close all floaters
367 void closeAllChildren(bool app_quitting); 367 void closeAllChildren(bool app_quitting);
368 BOOL allChildrenClosed(); 368 BOOL allChildrenClosed();
369 void minimizeAllChildren();
369 370
370 LLFloater* getFrontmost(); 371 LLFloater* getFrontmost();
371 LLFloater* getBackmost(); 372 LLFloater* getBackmost();