6bdd276d05
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
|
|
index ee7dc96..f4ae401 100644
|
|
--- a/gdk/quartz/gdkevents-quartz.c
|
|
+++ b/gdk/quartz/gdkevents-quartz.c
|
|
@@ -1826,6 +1826,33 @@ gdk_event_translate (GdkEvent *event,
|
|
NSView *tmp_view = [nswindow firstResponder];
|
|
gboolean gtk_child = FALSE;
|
|
|
|
+ if (event_type == NSKeyDown && ([nsevent modifierFlags] & NSCommandKeyMask) != 0 && [[nsevent characters] characterAtIndex:0] == 'z')
|
|
+ {
|
|
+ if ([tmp_view respondsToSelector:@selector(undoManager)])
|
|
+ {
|
|
+ NSUndoManager *undo_manager = [tmp_view undoManager];
|
|
+
|
|
+ if (([nsevent modifierFlags] & NSShiftKeyMask) != 0)
|
|
+ {
|
|
+ if ([undo_manager canRedo])
|
|
+ {
|
|
+ [undo_manager redo];
|
|
+ return_val = FALSE;
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ if ([undo_manager canUndo])
|
|
+ {
|
|
+ [undo_manager undo];
|
|
+ return_val = FALSE;
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
while (tmp_view != NULL)
|
|
{
|
|
if (tmp_view && [tmp_view respondsToSelector:@selector(isGtkView)])
|
|
diff --git a/gtk/gtknsview.c b/gtk/gtknsview.c
|
|
index 71fd917..182c82d 100644
|
|
--- a/gtk/gtknsview.c
|
|
+++ b/gtk/gtknsview.c
|
|
@@ -742,11 +742,6 @@ gtk_ns_view_key_press (GtkWidget *widget,
|
|
|
|
switch (event->keyval)
|
|
{
|
|
- case GDK_KEY_z: /* undo */
|
|
- if ([[text_view undoManager] canUndo])
|
|
- [[text_view undoManager] undo];
|
|
- return TRUE;
|
|
-
|
|
case GDK_KEY_c: /* copy */
|
|
if (has_selection)
|
|
[text_view copy: text_view];
|