X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FWorkAreaManager.cpp;h=f938db4eb9d80306f6da263e11be708325b934d7;hb=1f10969bb5c5f36017bf5ba8671381b09945cf57;hp=a8c90309fd7ee804fad56dbc65cb621d625f7dfb;hpb=f0402e69c6073175b37932a90056700f0a064753;p=lyx.git diff --git a/src/frontends/WorkAreaManager.cpp b/src/frontends/WorkAreaManager.cpp index a8c90309fd..f938db4eb9 100644 --- a/src/frontends/WorkAreaManager.cpp +++ b/src/frontends/WorkAreaManager.cpp @@ -11,11 +11,10 @@ #include -#include "WorkArea.h" - #include "WorkAreaManager.h" -using std::list; +#include "WorkArea.h" + namespace lyx { namespace frontend { @@ -32,25 +31,29 @@ void WorkAreaManager::remove(WorkArea * wa) } -void WorkAreaManager::redrawAll() +void WorkAreaManager::redrawAll(bool update_metrics) { - for (list::iterator it = work_areas_.begin(); - it != work_areas_.end(); ) { - (*it)->redraw(); - ++it; - } + iterator it = work_areas_.begin(); + iterator const en = work_areas_.end(); + for (; it != en; ++it) + (*it)->redraw(update_metrics); } void WorkAreaManager::closeAll() { - for (list::iterator it = work_areas_.begin(); - it != work_areas_.end(); ) { - (*it)->close(); - if (work_areas_.empty()) - break; - ++it; - } + while (!work_areas_.empty()) + // WorkArea is de-registering itself. + (*work_areas_.begin())->close(); +} + + +void WorkAreaManager::updateTitles() +{ + iterator it = work_areas_.begin(); + iterator const en = work_areas_.end(); + for (; it != en; ++it) + (*it)->updateWindowTitle(); } } // namespace frontend