]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/WorkAreaManager.cpp
Fix undo after breaking a nested paragraph
[lyx.git] / src / frontends / WorkAreaManager.cpp
index e3c8d3e2a774a307994f4cb935dcac7ff1567ab3..c79f08bef7d018787d059958b652a867e08df2c4 100644 (file)
 
 #include <config.h>
 
-#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<WorkArea *>::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<WorkArea *>::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<WorkArea *>::iterator it = work_areas_.begin();
-               it != work_areas_.end(); ) {
-               (*it)->updateWindowTitle();
-               ++it;
-       }
+       for (WorkArea * wa : work_areas_)
+               wa->updateWindowTitle();
 }
 
+
 } // namespace frontend
 } // namespace lyx