[evolution-patches] gtkhtml: shift tab - correct fix, removed workaround
- From: Radek Doulík <rodo ximian com>
- To: Patches <evolution-patches ximian com>
- Cc: Larry Ewing <lewing ximian com>
- Subject: [evolution-patches] gtkhtml: shift tab - correct fix, removed workaround
- Date: 16 May 2003 13:15:42 +0200
Attached patch reverts my shift tab workaround and provides correct fix.
It removes binding of ISO_Left_Tab as Shift Tab is mapped to it in
XFree86 keymap.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/ChangeLog,v
retrieving revision 1.1795
diff -u -p -r1.1795 ChangeLog
--- ChangeLog 15 May 2003 20:26:35 -0000 1.1795
+++ ChangeLog 16 May 2003 11:13:26 -0000
@@ -1,3 +1,10 @@
+2003-05-16 Radek Doulik <rodo ximian com>
+
+ * gtkhtml.c (add_bindings): as below
+
+ * keybindingsrc.emacs: don't use ISO_Left_Tab, Shift Tab is mapped
+ to it
+
2003-05-13 Larry Ewing <lewing ximian com>
* htmlfontmanager.c (html_font_manager_set_default): clear both
Index: gtkhtml.c
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/gtkhtml.c,v
retrieving revision 1.510
diff -u -p -r1.510 gtkhtml.c
--- gtkhtml.c 12 May 2003 20:49:26 -0000 1.510
+++ gtkhtml.c 16 May 2003 11:13:27 -0000
@@ -817,7 +817,7 @@ key_press_event (GtkWidget *widget, GdkE
if (html_class->use_emacs_bindings && html_class->emacs_bindings && !html->binding_handled)
gtk_binding_set_activate (html_class->emacs_bindings, event->keyval, event->state, GTK_OBJECT (widget));
- if (!html->binding_handled && !(event->state == GDK_SHIFT_MASK && (event->keyval == GDK_Tab || event->keyval == GDK_ISO_Left_Tab)))
+ if (!html->binding_handled)
GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event);
retval = html->binding_handled;
@@ -4601,13 +4601,9 @@ add_bindings (GtkHTMLClass *klass)
/* tabs */
BCOM (0, Tab, INSERT_TAB_OR_NEXT_CELL);
- BCOM (0, ISO_Left_Tab, INSERT_TAB_OR_NEXT_CELL);
BCOM (GDK_CONTROL_MASK, Tab, INDENT_INC);
- BCOM (GDK_CONTROL_MASK, ISO_Left_Tab, INDENT_INC);
BCOM (GDK_CONTROL_MASK | GDK_SHIFT_MASK, Tab, INDENT_DEC);
- BCOM (GDK_CONTROL_MASK | GDK_SHIFT_MASK, ISO_Left_Tab, INDENT_DEC);
BCOM (GDK_SHIFT_MASK, Tab, PREV_CELL);
- BCOM (GDK_SHIFT_MASK, ISO_Left_Tab, PREV_CELL);
/* spell checking */
BCOM (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK, s, SPELL_SUGGEST);
Index: htmlengine-edit-cut-and-paste.c
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/htmlengine-edit-cut-and-paste.c,v
retrieving revision 1.92
diff -u -p -r1.92 htmlengine-edit-cut-and-paste.c
--- htmlengine-edit-cut-and-paste.c 7 Apr 2003 06:38:05 -0000 1.92
+++ htmlengine-edit-cut-and-paste.c 16 May 2003 11:13:28 -0000
@@ -42,6 +42,7 @@
#include "htmlengine-edit-fontstyle.h"
#include "htmlengine-edit-movement.h"
#include "htmlengine-edit-selection-updater.h"
+#include "htmlframe.h"
#include "htmlimage.h"
#include "htmlinterval.h"
#include "htmllinktext.h"
@@ -1081,10 +1082,28 @@ insert_object_for_undo (HTMLEngine *e, H
}
static void
+set_frame_parent (HTMLObject *o, HTMLEngine *e, gpointer data)
+{
+ if (html_object_is_frame (o)) {
+ printf ("%d: %p %p\n", html_object_is_frame (o), e, data);
+ printf ("setting frame parent\n");
+ GTK_HTML (HTML_FRAME (o)->html)->iframe_parent = GTK_WIDGET (HTML_ENGINE (data)->widget);
+ HTML_EMBEDDED (o)->parent = GTK_WIDGET (HTML_ENGINE (data)->widget);
+ }
+}
+
+static void
+set_frames_parent (HTMLEngine *e, HTMLObject *o)
+{
+ html_object_forall (o, e, set_frame_parent, e);
+}
+
+static void
insert_object (HTMLEngine *e, HTMLObject *obj, guint len, guint position_after, gint level,
HTMLUndoDirection dir, gboolean check)
{
fix_aligned_position (e, &position_after, dir);
+ set_frames_parent (e, obj);
insert_object_for_undo (e, obj, len, position_after, level, dir, check);
}
Index: keybindingsrc.emacs
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/keybindingsrc.emacs,v
retrieving revision 1.43
diff -u -p -r1.43 keybindingsrc.emacs
--- keybindingsrc.emacs 8 Apr 2003 14:14:31 -0000 1.43
+++ keybindingsrc.emacs 16 May 2003 11:13:28 -0000
@@ -69,13 +69,9 @@ binding "gtkhtml-bindings-emacs"
bind "<Ctrl><Alt>r" { "command" (align-right) }
bind "Tab" { "command" (insert-tab-or-next-cell) }
- bind "ISO_Left_Tab" { "command" (insert-tab-or-next-cell) }
bind "<Ctrl>Tab" { "command" (indent-more) }
- bind "<Ctrl>ISO_Left_Tab" { "command" (indent-more) }
bind "<Ctrl><Shift>Tab" { "command" (indent-less) }
- bind "<Ctrl><Shift>ISO_Left_Tab" { "command" (indent-less) }
bind "<Shift>Tab" { "command" (indent-less-or-prev-cell) }
- bind "<Shift>ISO_Left_Tab" { "command" (indent-less-or-prev-cell) }
bind "<Alt>1" { "command" (size-minus-2) }
bind "<Alt>2" { "command" (size-minus-1) }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]