[banshee: 5/12] Always fire UndoChanged on stack change; expose peek vals



commit 89e8c72fa96665cf47970b473211cacd01924d6e
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Thu Aug 6 10:30:18 2009 -0700

    Always fire UndoChanged on stack change; expose peek vals

 src/Libraries/Hyena/Hyena/UndoManager.cs |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)
---
diff --git a/src/Libraries/Hyena/Hyena/UndoManager.cs b/src/Libraries/Hyena/Hyena/UndoManager.cs
index 60b43c7..95d6719 100644
--- a/src/Libraries/Hyena/Hyena/UndoManager.cs
+++ b/src/Libraries/Hyena/Hyena/UndoManager.cs
@@ -85,9 +85,7 @@ namespace Hyena
 
                 try_merge = true;
 
-                if(undo_stack.Count == 1) {
-                    OnUndoChanged();
-                }
+                OnUndoChanged();
             }
         }
 
@@ -119,9 +117,7 @@ namespace Hyena
 
             try_merge = true;
 
-            if(pop_from.Count == 0 || push_to.Count == 1) {
-                OnUndoChanged();
-            }
+            OnUndoChanged();
         }
 
         public bool CanUndo {
@@ -131,5 +127,21 @@ namespace Hyena
         public bool CanRedo { 
             get { return redo_stack.Count > 0; }
         }
+
+        public IUndoAction UndoAction {
+            get {
+                lock (this) {
+                    return CanUndo ? undo_stack.Peek () : null;
+                }
+            }
+        }
+
+        public IUndoAction RedoAction {
+            get {
+                lock (this) {
+                    return CanRedo ? redo_stack.Peek () : null;
+                }
+            }
+        }
     }
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]