Code

Extensions. Check element now search in the extension directory (see Bug #668895...
[inkscape.git] / src / composite-undo-stack-observer.cpp
index 04890711ba461e9bca04a49eaa5e5330729dfb21..03e4796bd4526be23a3448d42f471d3dd8de3a88 100644 (file)
@@ -11,6 +11,7 @@
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
 
+#include <algorithm>
 
 #include "composite-undo-stack-observer.h"
 #include "xml/event.h"
@@ -42,7 +43,7 @@ CompositeUndoStackObserver::remove(UndoStackObserver& observer)
 }
 
 void
-CompositeUndoStackObserver::notifyUndoEvent(XML::Event* log)
+CompositeUndoStackObserver::notifyUndoEvent(Event* log)
 {
        this->_lock();
        for(UndoObserverRecordList::iterator i = this->_active.begin(); i != _active.end(); ++i) {
@@ -54,7 +55,7 @@ CompositeUndoStackObserver::notifyUndoEvent(XML::Event* log)
 }
 
 void
-CompositeUndoStackObserver::notifyRedoEvent(XML::Event* log)
+CompositeUndoStackObserver::notifyRedoEvent(Event* log)
 {
 
        this->_lock();
@@ -67,7 +68,7 @@ CompositeUndoStackObserver::notifyRedoEvent(XML::Event* log)
 }
 
 void
-CompositeUndoStackObserver::notifyUndoCommitEvent(XML::Event* log)
+CompositeUndoStackObserver::notifyUndoCommitEvent(Event* log)
 {
        this->_lock();
        for(UndoObserverRecordList::iterator i = this->_active.begin(); i != _active.end(); ++i) {
@@ -78,6 +79,30 @@ CompositeUndoStackObserver::notifyUndoCommitEvent(XML::Event* log)
        this->_unlock();
 }
 
+void
+CompositeUndoStackObserver::notifyClearUndoEvent()
+{
+       this->_lock();
+       for(UndoObserverRecordList::iterator i = this->_active.begin(); i != _active.end(); ++i) {
+               if (!i->to_remove) {
+                       i->issueClearUndo();
+               }
+       }
+       this->_unlock();
+}
+
+void
+CompositeUndoStackObserver::notifyClearRedoEvent()
+{
+       this->_lock();
+       for(UndoObserverRecordList::iterator i = this->_active.begin(); i != _active.end(); ++i) {
+               if (!i->to_remove) {
+                       i->issueClearRedo();
+               }
+       }
+       this->_unlock();
+}
+
 bool
 CompositeUndoStackObserver::_remove_one(UndoObserverRecordList& list, UndoStackObserver& o)
 {