X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FWorkAreaManager.cpp;h=c79f08bef7d018787d059958b652a867e08df2c4;hb=47adf27ac3b90ef7899f838da7cee56c72e6ea0e;hp=e3c8d3e2a774a307994f4cb935dcac7ff1567ab3;hpb=fe8bce66763174f67f8546cb51008e2bc8863144;p=lyx.git diff --git a/src/frontends/WorkAreaManager.cpp b/src/frontends/WorkAreaManager.cpp index e3c8d3e2a7..c79f08bef7 100644 --- a/src/frontends/WorkAreaManager.cpp +++ b/src/frontends/WorkAreaManager.cpp @@ -11,16 +11,13 @@ #include -#include "WorkArea.h" - #include "WorkAreaManager.h" -using std::list; - -namespace lyx { +#include "Application.h" +#include "WorkArea.h" -extern bool quitting; +namespace lyx { namespace frontend { void WorkAreaManager::add(WorkArea * wa) @@ -35,13 +32,10 @@ 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; - } + for (WorkArea * wa : work_areas_) + wa->scheduleRedraw(update_metrics); } @@ -53,25 +47,21 @@ void WorkAreaManager::closeAll() } -void WorkAreaManager::setReadOnly(bool on) +bool WorkAreaManager::unhide(Buffer * buf) { - for (list::iterator it = work_areas_.begin(); - it != work_areas_.end(); ) { - (*it)->setReadOnly(on); - ++it; - } + if (!work_areas_.empty()) + return true; + return theApp()->unhide(buf); } void WorkAreaManager::updateTitles() { - for (list::iterator it = work_areas_.begin(); - it != work_areas_.end(); ) { - (*it)->updateWindowTitle(); - ++it; - } + for (WorkArea * wa : work_areas_) + wa->updateWindowTitle(); } + } // namespace frontend } // namespace lyx