diff options
author | McCabe Maxsted | 2010-05-03 22:20:51 -0700 |
---|---|---|
committer | Jacek Antonelli | 2010-06-19 02:03:55 -0500 |
commit | 0981d741d03119904cb3bfad18c7a4b931b7c654 (patch) | |
tree | e6f3ff8c5686e4b6fec2967bfdf0b8ec19387586 /linden/indra/llui | |
parent | Imprudence 1.3.0 beta 4 released. (diff) | |
download | meta-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.cpp | 31 | ||||
-rw-r--r-- | linden/indra/llui/llfloater.h | 1 |
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 | ||
2174 | void 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 | |||
2174 | void LLFloaterView::closeAllChildren(bool app_quitting) | 2205 | void 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(); |